#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.71 for Lustre 2.16.1_22_g584eedc.
#
# Report bugs to <https://jira.whamcloud.com/>.
#
#
# Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation,
# Inc.
#
#
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
## -------------------- ##
## M4sh Initialization. ##
## -------------------- ##

# Be more Bourne compatible
DUALCASE=1; export DUALCASE # for MKS sh
as_nop=:
if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1
then :
  emulate sh
  NULLCMD=:
  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else $as_nop
  case `(set -o) 2>/dev/null` in #(
  *posix*) :
    set -o posix ;; #(
  *) :
     ;;
esac
fi



# Reset variables that may have inherited troublesome values from
# the environment.

# IFS needs to be set, to space, tab, and newline, in precisely that order.
# (If _AS_PATH_WALK were called with IFS unset, it would have the
# side effect of setting IFS to empty, thus disabling word splitting.)
# Quoting is to prevent editors from complaining about space-tab.
as_nl='
'
export as_nl
IFS=" ""	$as_nl"

PS1='$ '
PS2='> '
PS4='+ '

# Ensure predictable behavior from utilities with locale-dependent output.
LC_ALL=C
export LC_ALL
LANGUAGE=C
export LANGUAGE

# We cannot yet rely on "unset" to work, but we need these variables
# to be unset--not just set to an empty or harmless value--now, to
# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh).  This construct
# also avoids known problems related to "unset" and subshell syntax
# in other old shells (e.g. bash 2.01 and pdksh 5.2.14).
for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH
do eval test \${$as_var+y} \
  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
done

# Ensure that fds 0, 1, and 2 are open.
if (exec 3>&0) 2>/dev/null; then :; else exec 0</dev/null; fi
if (exec 3>&1) 2>/dev/null; then :; else exec 1>/dev/null; fi
if (exec 3>&2)            ; then :; else exec 2>/dev/null; fi

# The user is always right.
if ${PATH_SEPARATOR+false} :; then
  PATH_SEPARATOR=:
  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
      PATH_SEPARATOR=';'
  }
fi


# Find who we are.  Look in the path if we contain no directory separator.
as_myself=
case $0 in #((
  *[\\/]* ) as_myself=$0 ;;
  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  case $as_dir in #(((
    '') as_dir=./ ;;
    */) ;;
    *) as_dir=$as_dir/ ;;
  esac
    test -r "$as_dir$0" && as_myself=$as_dir$0 && break
  done
IFS=$as_save_IFS

     ;;
esac
# We did not find ourselves, most probably we were run as `sh COMMAND'
# in which case we are not to be found in the path.
if test "x$as_myself" = x; then
  as_myself=$0
fi
if test ! -f "$as_myself"; then
  printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
  exit 1
fi


# Use a proper internal environment variable to ensure we don't fall
  # into an infinite loop, continuously re-executing ourselves.
  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
    _as_can_reexec=no; export _as_can_reexec;
    # We cannot yet assume a decent shell, so we have to provide a
# neutralization value for shells without unset; and this also
# works around shells that cannot unset nonexistent variables.
# Preserve -v and -x to the replacement shell.
BASH_ENV=/dev/null
ENV=/dev/null
(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
case $- in # ((((
  *v*x* | *x*v* ) as_opts=-vx ;;
  *v* ) as_opts=-v ;;
  *x* ) as_opts=-x ;;
  * ) as_opts= ;;
esac
exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
# Admittedly, this is quite paranoid, since all the known shells bail
# out after a failed `exec'.
printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2
exit 255
  fi
  # We don't want this to propagate to other subprocesses.
          { _as_can_reexec=; unset _as_can_reexec;}
if test "x$CONFIG_SHELL" = x; then
  as_bourne_compatible="as_nop=:
if test \${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1
then :
  emulate sh
  NULLCMD=:
  # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '\${1+\"\$@\"}'='\"\$@\"'
  setopt NO_GLOB_SUBST
else \$as_nop
  case \`(set -o) 2>/dev/null\` in #(
  *posix*) :
    set -o posix ;; #(
  *) :
     ;;
esac
fi
"
  as_required="as_fn_return () { (exit \$1); }
as_fn_success () { as_fn_return 0; }
as_fn_failure () { as_fn_return 1; }
as_fn_ret_success () { return 0; }
as_fn_ret_failure () { return 1; }

exitcode=0
as_fn_success || { exitcode=1; echo as_fn_success failed.; }
as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
if ( set x; as_fn_ret_success y && test x = \"\$1\" )
then :

else \$as_nop
  exitcode=1; echo positional parameters were not saved.
fi
test x\$exitcode = x0 || exit 1
blah=\$(echo \$(echo blah))
test x\"\$blah\" = xblah || exit 1
test -x / || exit 1"
  as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
test \$(( 1 + 1 )) = 2 || exit 1

  test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
    ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
    PATH=/empty FPATH=/empty; export PATH FPATH
    test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
      || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1"
  if (eval "$as_required") 2>/dev/null
then :
  as_have_required=yes
else $as_nop
  as_have_required=no
fi
  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null
then :

else $as_nop
  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
as_found=false
for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
do
  IFS=$as_save_IFS
  case $as_dir in #(((
    '') as_dir=./ ;;
    */) ;;
    *) as_dir=$as_dir/ ;;
  esac
  as_found=:
  case $as_dir in #(
	 /*)
	   for as_base in sh bash ksh sh5; do
	     # Try only shells that exist, to save several forks.
	     as_shell=$as_dir$as_base
	     if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
		    as_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null
then :
  CONFIG_SHELL=$as_shell as_have_required=yes
		   if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null
then :
  break 2
fi
fi
	   done;;
       esac
  as_found=false
done
IFS=$as_save_IFS
if $as_found
then :

else $as_nop
  if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
	      as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null
then :
  CONFIG_SHELL=$SHELL as_have_required=yes
fi
fi


      if test "x$CONFIG_SHELL" != x
then :
  export CONFIG_SHELL
             # We cannot yet assume a decent shell, so we have to provide a
# neutralization value for shells without unset; and this also
# works around shells that cannot unset nonexistent variables.
# Preserve -v and -x to the replacement shell.
BASH_ENV=/dev/null
ENV=/dev/null
(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
case $- in # ((((
  *v*x* | *x*v* ) as_opts=-vx ;;
  *v* ) as_opts=-v ;;
  *x* ) as_opts=-x ;;
  * ) as_opts= ;;
esac
exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
# Admittedly, this is quite paranoid, since all the known shells bail
# out after a failed `exec'.
printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2
exit 255
fi

    if test x$as_have_required = xno
then :
  printf "%s\n" "$0: This script requires a shell more modern than all"
  printf "%s\n" "$0: the shells that I found on your system."
  if test ${ZSH_VERSION+y} ; then
    printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should"
    printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later."
  else
    printf "%s\n" "$0: Please tell bug-autoconf@gnu.org and
$0: https://jira.whamcloud.com/ about your system,
$0: including any error possibly output before this
$0: message. Then install a modern shell, or manually run
$0: the script under such a shell if you do have one."
  fi
  exit 1
fi
fi
fi
SHELL=${CONFIG_SHELL-/bin/sh}
export SHELL
# Unset more variables known to interfere with behavior of common tools.
CLICOLOR_FORCE= GREP_OPTIONS=
unset CLICOLOR_FORCE GREP_OPTIONS

## --------------------- ##
## M4sh Shell Functions. ##
## --------------------- ##
# as_fn_unset VAR
# ---------------
# Portably unset VAR.
as_fn_unset ()
{
  { eval $1=; unset $1;}
}
as_unset=as_fn_unset


# as_fn_set_status STATUS
# -----------------------
# Set $? to STATUS, without forking.
as_fn_set_status ()
{
  return $1
} # as_fn_set_status

# as_fn_exit STATUS
# -----------------
# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
as_fn_exit ()
{
  set +e
  as_fn_set_status $1
  exit $1
} # as_fn_exit
# as_fn_nop
# ---------
# Do nothing but, unlike ":", preserve the value of $?.
as_fn_nop ()
{
  return $?
}
as_nop=as_fn_nop

# as_fn_mkdir_p
# -------------
# Create "$as_dir" as a directory, including parents if necessary.
as_fn_mkdir_p ()
{

  case $as_dir in #(
  -*) as_dir=./$as_dir;;
  esac
  test -d "$as_dir" || eval $as_mkdir_p || {
    as_dirs=
    while :; do
      case $as_dir in #(
      *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
      *) as_qdir=$as_dir;;
      esac
      as_dirs="'$as_qdir' $as_dirs"
      as_dir=`$as_dirname -- "$as_dir" ||
$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
	 X"$as_dir" : 'X\(//\)[^/]' \| \
	 X"$as_dir" : 'X\(//\)$' \| \
	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
printf "%s\n" X"$as_dir" |
    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)[^/].*/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\).*/{
	    s//\1/
	    q
	  }
	  s/.*/./; q'`
      test -d "$as_dir" && break
    done
    test -z "$as_dirs" || eval "mkdir $as_dirs"
  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"


} # as_fn_mkdir_p

# as_fn_executable_p FILE
# -----------------------
# Test if FILE is an executable regular file.
as_fn_executable_p ()
{
  test -f "$1" && test -x "$1"
} # as_fn_executable_p
# as_fn_append VAR VALUE
# ----------------------
# Append the text in VALUE to the end of the definition contained in VAR. Take
# advantage of any shell optimizations that allow amortized linear growth over
# repeated appends, instead of the typical quadratic growth present in naive
# implementations.
if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null
then :
  eval 'as_fn_append ()
  {
    eval $1+=\$2
  }'
else $as_nop
  as_fn_append ()
  {
    eval $1=\$$1\$2
  }
fi # as_fn_append

# as_fn_arith ARG...
# ------------------
# Perform arithmetic evaluation on the ARGs, and store the result in the
# global $as_val. Take advantage of shells that can avoid forks. The arguments
# must be portable across $(()) and expr.
if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null
then :
  eval 'as_fn_arith ()
  {
    as_val=$(( $* ))
  }'
else $as_nop
  as_fn_arith ()
  {
    as_val=`expr "$@" || test $? -eq 1`
  }
fi # as_fn_arith

# as_fn_nop
# ---------
# Do nothing but, unlike ":", preserve the value of $?.
as_fn_nop ()
{
  return $?
}
as_nop=as_fn_nop

# as_fn_error STATUS ERROR [LINENO LOG_FD]
# ----------------------------------------
# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
# script with STATUS, using 1 if that was 0.
as_fn_error ()
{
  as_status=$1; test $as_status -eq 0 && as_status=1
  if test "$4"; then
    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
    printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
  fi
  printf "%s\n" "$as_me: error: $2" >&2
  as_fn_exit $as_status
} # as_fn_error

if expr a : '\(a\)' >/dev/null 2>&1 &&
   test "X`expr 00001 : '.*\(...\)'`" = X001; then
  as_expr=expr
else
  as_expr=false
fi

if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
  as_basename=basename
else
  as_basename=false
fi

if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
  as_dirname=dirname
else
  as_dirname=false
fi

as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
	 X"$0" : 'X\(//\)$' \| \
	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
printf "%s\n" X/"$0" |
    sed '/^.*\/\([^/][^/]*\)\/*$/{
	    s//\1/
	    q
	  }
	  /^X\/\(\/\/\)$/{
	    s//\1/
	    q
	  }
	  /^X\/\(\/\).*/{
	    s//\1/
	    q
	  }
	  s/.*/./; q'`

# Avoid depending upon Character Ranges.
as_cr_letters='abcdefghijklmnopqrstuvwxyz'
as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
as_cr_Letters=$as_cr_letters$as_cr_LETTERS
as_cr_digits='0123456789'
as_cr_alnum=$as_cr_Letters$as_cr_digits


  as_lineno_1=$LINENO as_lineno_1a=$LINENO
  as_lineno_2=$LINENO as_lineno_2a=$LINENO
  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
  sed -n '
    p
    /[$]LINENO/=
  ' <$as_myself |
    sed '
      s/[$]LINENO.*/&-/
      t lineno
      b
      :lineno
      N
      :loop
      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
      t loop
      s/-\n.*//
    ' >$as_me.lineno &&
  chmod +x "$as_me.lineno" ||
    { printf "%s\n" "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }

  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
  # already done that, so ensure we don't try to do so again and fall
  # in an infinite loop.  This has already happened in practice.
  _as_can_reexec=no; export _as_can_reexec
  # Don't try to exec as it changes $[0], causing all sort of problems
  # (the dirname of $[0] is not the place where we might find the
  # original and so on.  Autoconf is especially sensitive to this).
  . "./$as_me.lineno"
  # Exit status is that of the last command.
  exit
}


# Determine whether it's possible to make 'echo' print without a newline.
# These variables are no longer used directly by Autoconf, but are AC_SUBSTed
# for compatibility with existing Makefiles.
ECHO_C= ECHO_N= ECHO_T=
case `echo -n x` in #(((((
-n*)
  case `echo 'xy\c'` in
  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
  xy)  ECHO_C='\c';;
  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
       ECHO_T='	';;
  esac;;
*)
  ECHO_N='-n';;
esac

# For backward compatibility with old third-party macros, we provide
# the shell variables $as_echo and $as_echo_n.  New code should use
# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively.
as_echo='printf %s\n'
as_echo_n='printf %s'


rm -f conf$$ conf$$.exe conf$$.file
if test -d conf$$.dir; then
  rm -f conf$$.dir/conf$$.file
else
  rm -f conf$$.dir
  mkdir conf$$.dir 2>/dev/null
fi
if (echo >conf$$.file) 2>/dev/null; then
  if ln -s conf$$.file conf$$ 2>/dev/null; then
    as_ln_s='ln -s'
    # ... but there are two gotchas:
    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
    # In both cases, we have to default to `cp -pR'.
    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
      as_ln_s='cp -pR'
  elif ln conf$$.file conf$$ 2>/dev/null; then
    as_ln_s=ln
  else
    as_ln_s='cp -pR'
  fi
else
  as_ln_s='cp -pR'
fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null

if mkdir -p . 2>/dev/null; then
  as_mkdir_p='mkdir -p "$as_dir"'
else
  test -d ./-p && rmdir ./-p
  as_mkdir_p=false
fi

as_test_x='test -x'
as_executable_p=as_fn_executable_p

# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"

# Sed expression to map a string onto a valid variable name.
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"

SHELL=${CONFIG_SHELL-/bin/sh}

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
  }
'

test -n "$DJDIR" || exec 7<&0 </dev/null
exec 6>&1

# Name of the host.
# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
# so uname gets run too.
ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`

#
# Initializations.
#
ac_default_prefix=/usr/local
ac_clean_files=
ac_config_libobj_dir=.
LIBOBJS=
cross_compiling=no
subdirs=
MFLAGS=
MAKEFLAGS=

# Identity of this package.
PACKAGE_NAME='Lustre'
PACKAGE_TARNAME='lustre'
PACKAGE_VERSION='2.16.1_22_g584eedc'
PACKAGE_STRING='Lustre 2.16.1_22_g584eedc'
PACKAGE_BUGREPORT='https://jira.whamcloud.com/'
PACKAGE_URL=''

ac_unique_file="lustre/obdclass/obdo.c"
# Factoring default headers for most tests.
ac_includes_default="\
#include <stddef.h>
#ifdef HAVE_STDIO_H
# include <stdio.h>
#endif
#ifdef HAVE_STDLIB_H
# include <stdlib.h>
#endif
#ifdef HAVE_STRING_H
# include <string.h>
#endif
#ifdef HAVE_INTTYPES_H
# include <inttypes.h>
#endif
#ifdef HAVE_STDINT_H
# include <stdint.h>
#endif
#ifdef HAVE_STRINGS_H
# include <strings.h>
#endif
#ifdef HAVE_SYS_TYPES_H
# include <sys/types.h>
#endif
#ifdef HAVE_SYS_STAT_H
# include <sys/stat.h>
#endif
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif"

ac_header_c_list=
ac_default_prefix=/usr
ac_subst_vars='am__EXEEXT_FALSE
am__EXEEXT_TRUE
LTLIBOBJS
LIBOBJS
CONFIG_CACHE_FILE
RPMBUILD_BINARY_ARGS
ENABLE_CRYPTO
ENABLE_GSS
MOSTLYCLEANFILES
ac_configure_args
CC_PLUGINS_FALSE
CC_PLUGINS_TRUE
LIBAIO_FALSE
LIBAIO_TRUE
LLCRYPT_FALSE
LLCRYPT_TRUE
GETSEPOL_FALSE
GETSEPOL_TRUE
SELINUX_FALSE
SELINUX_TRUE
XATTR_HANDLER_FALSE
XATTR_HANDLER_TRUE
ENABLE_BASH_COMPLETION_FALSE
ENABLE_BASH_COMPLETION_TRUE
HAVE_SYSTEMD_FALSE
HAVE_SYSTEMD_TRUE
LIBPTHREAD_FALSE
LIBPTHREAD_TRUE
GSS_SSK_FALSE
GSS_SSK_TRUE
GSS_KEYRING_FALSE
GSS_KEYRING_TRUE
GSS_FALSE
GSS_TRUE
EXT2FS_DEVEL_FALSE
EXT2FS_DEVEL_TRUE
SPLIT_FALSE
SPLIT_TRUE
SERVER_FALSE
SERVER_TRUE
CLIENT_FALSE
CLIENT_TRUE
MPITESTS_FALSE
MPITESTS_TRUE
BUILD_KFILND_FALSE
BUILD_KFILND_TRUE
BUILD_GNILND_FALSE
BUILD_GNILND_TRUE
BUILT_IN_KO2IBLND_FALSE
BUILT_IN_KO2IBLND_TRUE
EXTERNAL_KO2IBLND_FALSE
EXTERNAL_KO2IBLND_TRUE
DEQUOTE_CC_VERSION_TEXT_FALSE
DEQUOTE_CC_VERSION_TEXT_TRUE
BUILD_LUTF_FALSE
BUILD_LUTF_TRUE
UBUNTU_FALSE
UBUNTU_TRUE
SUSE_FALSE
SUSE_TRUE
AZURELINUX_FALSE
AZURELINUX_TRUE
RHEL_FALSE
RHEL_TRUE
USE_QUILT_FALSE
USE_QUILT_TRUE
LINUX_FALSE
LINUX_TRUE
MANPAGES_FALSE
MANPAGES_TRUE
DOC_FALSE
DOC_TRUE
TESTS_FALSE
TESTS_TRUE
UTILS_FALSE
UTILS_TRUE
MODULES_FALSE
MODULES_TRUE
PLUGINS_FALSE
PLUGINS_TRUE
BASH_COMPLETION_DIR
systemdsystemunitdir
ENABLE_PGSTAT_TRACK
ENABLE_INVARIANTS
ENABLE_FAIL_ALLOC
ENABLE_MINDF
SELINUX
LIBEFENCE
ENABLE_EFENCE
LIBNL3_LIBS
LIBNL3_CFLAGS
PKG_CONFIG_LIBDIR
PKG_CONFIG_PATH
PKG_CONFIG
GDS_PATH
CUDA_PATH
PTHREAD_LIBS
ENABLE_LIBPTHREAD
LIBREADLINE
ENABLE_READLINE
PFSCK
E2FSCK
DUMPE2FS
E2LABEL
TUNE2FS
DEBUGFS
MKE2FS
E2FSPROGS
BUILD_LUSTREIOKIT_FALSE
BUILD_LUSTREIOKIT_TRUE
LUSTREIOKIT_SUBDIR
LDLIBMOUNT
ENABLE_LIBCFS_ASSERT
ENABLE_LIBCFS_TRACE
ENABLE_LIBCFS_CDEBUG
ENABLE_SERVER
PATCHED_INTEGRITY_INTF
K5VERS
KRBLDFLAGS
KRBCFLAGS
KRBLIBS
KRBDIR
TEST_DIR
TEST_JOBS
ENABLE_LRU_RESIZE
ENABLE_FLOCK
ENABLE_CHECKSUM
ENABLE_PINGER
KFILND
KFICPPFLAGS
GNILND
GNICPPFLAGS
ENABLE_GNI
ENABLE_MULTIPLE_LNDS
ENABLEO2IB
EXT_O2IBPATH
INT_O2IB_SYMBOLS
EXT_O2IB_SYMBOLS
EXT_O2IBLND
EXTRA_OFED_INCLUDE
EXTRA_OFED_CONFIG
ENABLE_BACKOFF
ENABLE_PANIC_DUMPLOG
EXT4_CRYPTO
SPL_ENABLED_FALSE
SPL_ENABLED_TRUE
ZFS_ENABLED_FALSE
ZFS_ENABLED_TRUE
ENABLE_ZFS
SPL_VERSION
SPL_OBJ
SPL
ZFS_LIBZFS_LIBS
ZFS_LIBZFS_LDFLAGS
ZFS_LIBZFS_INCLUDE
EXTRA_SYMBOLS
ZFS_VERSION
ZFS_OBJ
ZFS
LDISKFS_ENABLED_FALSE
LDISKFS_ENABLED_TRUE
LDISKFS_SUBDIR
patch_avail
quilt_avail
LDISKFS_SERIES
ENABLE_LDISKFS
EXT4_SRC_DIR
SYMVERFILE
KMP_MODDIR
modulenetdir
modulefsdir
LINUXRELEASE
MODULE_TARGET
KMODEXT
CONFIG_INCLUDE
VERSION_HDIR
AUTOCONF_HDIR
LINUX_CONFIG
LINUX_OBJ
LINUX
MPICC_WRAPPER
MPI_BIN
SWIG_LIB
SWIG
PYTHON_EXTRA_LDFLAGS
PYTHON_EXTRA_LIBS
PYTHON_SITE_PKG
PYTHON_LIBS
PYTHON_CPPFLAGS
PYTHON_VERSION_CHECK
PYTHON
ENABLE_DOC
OSDADDON
pkgexampledir
demodir
rootsbindir
LUSTRE
INCLUDE_RULES
lb_target_os
PKGCONF
RPMBUILD
BISON
FLEX
CXXCPP
LT_SYS_LIBRARY_PATH
OTOOL64
OTOOL
LIPO
NMEDIT
DSYMUTIL
MANIFEST_TOOL
DLLTOOL
FILECMD
LN_S
NM
ac_ct_DUMPBIN
DUMPBIN
FGREP
EGREP
GREP
SED
LIBTOOL
NO_STRINGOP_OVERFLOW_FALSE
NO_STRINGOP_OVERFLOW_TRUE
EXTRA_KCFLAGS
OBJDUMP
LD
RANLIB
ac_ct_AR
AR
am__fastdepCCAS_FALSE
am__fastdepCCAS_TRUE
CCASDEPMODE
CCASFLAGS
CCAS
am__fastdepCXX_FALSE
am__fastdepCXX_TRUE
CXXDEPMODE
ac_ct_CXX
CXXFLAGS
CXX
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
LLVM_IAS
LLVM
MAINT
MAINTAINER_MODE_FALSE
MAINTAINER_MODE_TRUE
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
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
enable_silent_rules
enable_maintainer_mode
enable_dependency_tracking
enable_strict_errors
enable_shared
enable_static
with_pic
enable_fast_install
with_aix_soname
with_gnu_ld
with_sysroot
enable_libtool_lock
enable_dist
with_downstream_release
with_osd
enable_doc
enable_manpages
enable_utils
enable_tests
enable_lutf
enable_client
enable_mpitests
enable_server
enable_modules
with_linux
with_linux_obj
with_linux_config
with_kernel_source_header
with_kmp_moddir
with_ldiskfs
enable_ldiskfs
enable_quilt
with_zfs
with_zfs_obj
with_zfs_devel
with_spl
with_spl_obj
enable_panic_dumplog
enable_backoff
enable_multiple_lnds
with_o2ib
enable_gni
with_kfi
enable_pinger
enable_checksum
enable_flock
enable_lru_resize
enable_gss
enable_gss_keyring
with_krb5
enable_crypto
enable_l_getsepol
enable_libcfs_cdebug
enable_libcfs_trace
enable_libcfs_assert
enable_quota
enable_iokit
with_ldiskfsprogs
enable_readline
enable_libpthread
with_cuda
with_gds
enable_efence
with_mds_max_threads
enable_mindf
enable_fail_alloc
enable_invariants
enable_pgstate_track
with_systemdsystemunitdir
with_bash_completion_dir
enable_compiler_plugins
'
      ac_precious_vars='build_alias
host_alias
target_alias
LLVM
LLVM_IAS
CC
CFLAGS
LDFLAGS
LIBS
CPPFLAGS
CXX
CXXFLAGS
CCC
CCAS
CCASFLAGS
LT_SYS_LIBRARY_PATH
CXXCPP
TEST_JOBS
TEST_DIR
PKG_CONFIG
PKG_CONFIG_PATH
PKG_CONFIG_LIBDIR
LIBNL3_CFLAGS
LIBNL3_LIBS'


# 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 Lustre 2.16.1_22_g584eedc to adapt to many kinds of systems.

Usage: $0 [OPTION]... [VAR=VALUE]...

To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE.  See below for descriptions of some of the useful variables.

Defaults for the options are specified in brackets.

Configuration:
  -h, --help              display this help and exit
      --help=short        display options specific to this package
      --help=recursive    display the short help of all the included packages
  -V, --version           display version information and exit
  -q, --quiet, --silent   do not print \`checking ...' messages
      --cache-file=FILE   cache test results in FILE [disabled]
  -C, --config-cache      alias for \`--cache-file=config.cache'
  -n, --no-create         do not create output files
      --srcdir=DIR        find the sources in DIR [configure dir or \`..']

Installation directories:
  --prefix=PREFIX         install architecture-independent files in PREFIX
                          [$ac_default_prefix]
  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
                          [PREFIX]

By default, \`make install' will install all the files in
\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
an installation prefix other than \`$ac_default_prefix' using \`--prefix',
for instance \`--prefix=\$HOME'.

For better control, use the options below.

Fine tuning of the installation directories:
  --bindir=DIR            user executables [EPREFIX/bin]
  --sbindir=DIR           system admin executables [EPREFIX/sbin]
  --libexecdir=DIR        program executables [EPREFIX/libexec]
  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
  --runstatedir=DIR       modifiable per-process data [LOCALSTATEDIR/run]
  --libdir=DIR            object code libraries [EPREFIX/lib]
  --includedir=DIR        C header files [PREFIX/include]
  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
  --infodir=DIR           info documentation [DATAROOTDIR/info]
  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
  --mandir=DIR            man documentation [DATAROOTDIR/man]
  --docdir=DIR            documentation root [DATAROOTDIR/doc/lustre]
  --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 Lustre 2.16.1_22_g584eedc:";;
   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")
  --disable-maintainer-mode
                          disable make rules and dependencies not useful (and
                          sometimes confusing) to the casual installer
  --enable-dependency-tracking
                          do not reject slow dependency extractors
  --disable-dependency-tracking
                          speeds up one-time build
  --disable-strict-errors Disable strict error C flags
  --enable-shared[=PKGS]  build shared libraries [default=yes]
  --enable-static[=PKGS]  build static libraries [default=yes]
  --enable-fast-install[=PKGS]
                          optimize for fast installation [default=yes]
  --disable-libtool-lock  avoid locking (might break parallel builds)
  --enable-dist           only configure enough for make dist
  --disable-doc           skip creation of pdf documentation
  --disable-manpages      skip creation and inclusion of man pages (default is
                          enable)
  --disable-utils         disable building of Lustre utility programs
  --disable-tests         disable building of Lustre tests
  --disable-lutf          disable building of LUTF
  --disable-client        disable Lustre client support
  --enable-mpitests=<yes|no|mpicc wrapper>
                          include mpi tests
  --disable-server        disable Lustre server support
  --disable-modules       disable building of Lustre kernel modules
  --disable-ldiskfs       disable ldiskfs osd (default is enable)
  --disable-quilt         disable use of quilt for ldiskfs
  --enable-panic_dumplog  enable panic_dumplog
  --disable-backoff       disable socknal tunable backoff
  --enable-multiple-lnds  enable multiple lnds to build in-kernel and external
                          o2iblnd
  --enable-gni            enable GNI lnd
  --disable-pinger        disable recovery pinger support
  --disable-checksum      disable data checksum support
  --disable-flock         disable flock by default
  --enable-lru-resize     enable lru resize support
  --enable-gss            enable gss support
  --disable-gss-keyring   disable gss keyring backend
  --enable-crypto=yes|no|in-kernel
                          enable Lustre client crypto (default is yes), use
                          'in-kernel' to force use of in-kernel fscrypt
                          instead of embedded llcrypt
  --disable-l_getsepol    build the l_getsepol utility
  --disable-libcfs-cdebug disable libcfs CDEBUG, CWARN
  --disable-libcfs-trace  disable libcfs ENTRY/EXIT
  --disable-libcfs-assert disable libcfs LASSERT, LASSERTF
  --enable-quota          enable quota support
  --disable-iokit         disable iokit (default is enable)
  --disable-readline      disable readline support
  --disable-libpthread    disable libpthread
  --enable-efence         use efence library
  --enable-mindf          Make statfs report the minimum available space on
                          any single OST instead of the sum of free space on
                          all OSTs
  --disable-fail-alloc    disable randomly alloc failure
  --enable-invariants     enable invariant checking (cpu intensive)
  --enable-pgstate-track  enable page state tracking
  --enable-compiler-plugins
                          Enable compiler plugins

Optional Packages:
  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=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).

  --with-osd=path         set path to optional osd
  --with-linux=path       set path to Linux source
                          (default=/lib/modules/$(uname
                          -r)/{source,build},/usr/src/linux)
  --with-linux-obj=path   set path to Linux objects
                          (default=/lib/modules/$(uname
                          -r)/build,/usr/src/linux)
  --with-linux-config=path
                          set path to Linux .conf (default=$LINUX_OBJ/.config)
  --with-kernel-source-header=path
                          Use a different kernel version header.
  --with-kmp-moddir=string
                          set the kmod updates or extra directory
  --with-zfs=PATH         Path to zfs source
  --with-zfs-obj=PATH     Path to zfs build objects
  --with-zfs-devel=PATH   Path to zfs development headers
  --with-spl=PATH         Path to spl source
  --with-spl-obj=PATH     Path to spl build objects
  --with-o2ib=yes|no|<path>
                          build o2iblnd against path
  --with-kfi=<path>       Kfabric build path for kfilnd
  --with-krb5=DIR         use Kerberos v5 installation in DIR
  --with-ldiskfsprogs     use alternate names for ldiskfs-enabled e2fsprogs
  --with-cuda=path        Path to the CUDA sources. Set to 'no' to disable.
  --with-gds=path         Path to the GDS sources. Set to 'no' to disable.
  --with-mds-max-threads=count
                          maximum threads available on the MDS: (default=512)
  --with-systemdsystemunitdir=DIR
                          Directory for systemd service files
  --with-bash-completion-dir=PATH
                          Install the bash auto-completion script in this
                          directory.

Some influential environment variables:
  LLVM        "Enable LLVM toolchain"
  LLVM_IAS    "Disable LLVM integrated assembler"
  CC          C compiler command
  CFLAGS      C compiler flags
  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
              nonstandard directory <lib dir>
  LIBS        libraries to pass to the linker, e.g. -l<library>
  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
              you have headers in a nonstandard directory <include dir>
  CXX         C++ compiler command
  CXXFLAGS    C++ compiler flags
  CCAS        assembler compiler command (defaults to CC)
  CCASFLAGS   assembler compiler flags (defaults to CFLAGS)
  LT_SYS_LIBRARY_PATH
              User-defined run-time library search path.
  CXXCPP      C++ preprocessor
  TEST_JOBS   simultaneous jobs during configure (defaults to $(nproc))
  TEST_DIR    location of temporary parallel configure tests (defaults to
              $PWD/lb2)
  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
  LIBNL3_CFLAGS
              C compiler flags for LIBNL3, overriding pkg-config
  LIBNL3_LIBS linker flags for LIBNL3, overriding pkg-config

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 <https://jira.whamcloud.com/>.
_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
Lustre configure 2.16.1_22_g584eedc
generated by GNU Autoconf 2.71

Copyright (C) 2021 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
_ACEOF
  exit
fi

## ------------------------ ##
## Autoconf initialization. ##
## ------------------------ ##

# ac_fn_c_try_compile LINENO
# --------------------------
# Try to compile conftest.$ac_ext, and return whether this succeeded.
ac_fn_c_try_compile ()
{
  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
  rm -f conftest.$ac_objext conftest.beam
  if { { ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
printf "%s\n" "$ac_try_echo"; } >&5
  (eval "$ac_compile") 2>conftest.err
  ac_status=$?
  if test -s conftest.err; then
    grep -v '^ *+' conftest.err >conftest.er1
    cat conftest.er1 >&5
    mv -f conftest.er1 conftest.err
  fi
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext
then :
  ac_retval=0
else $as_nop
  printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_retval=1
fi
  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
  as_fn_set_status $ac_retval

} # ac_fn_c_try_compile

# ac_fn_cxx_try_compile LINENO
# ----------------------------
# Try to compile conftest.$ac_ext, and return whether this succeeded.
ac_fn_cxx_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_cxx_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext
then :
  ac_retval=0
else $as_nop
  printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_retval=1
fi
  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
  as_fn_set_status $ac_retval

} # ac_fn_cxx_try_compile

# ac_fn_c_try_run LINENO
# ----------------------
# Try to run conftest.$ac_ext, and return whether this succeeded. Assumes that
# executables *can* be run.
ac_fn_c_try_run ()
{
  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
  if { { ac_try="$ac_link"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
printf "%s\n" "$ac_try_echo"; } >&5
  (eval "$ac_link") 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
  { { case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
printf "%s\n" "$ac_try_echo"; } >&5
  (eval "$ac_try") 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }
then :
  ac_retval=0
else $as_nop
  printf "%s\n" "$as_me: program exited with status $ac_status" >&5
       printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

       ac_retval=$ac_status
fi
  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
  as_fn_set_status $ac_retval

} # ac_fn_c_try_run

# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
# --------------------------------------------
# Tries to find the compile-time value of EXPR in a program that includes
# INCLUDES, setting VAR accordingly. Returns whether the value could be
# computed
ac_fn_c_compute_int ()
{
  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
  if test "$cross_compiling" = yes; then
    # Depending upon the size, compute the lo and hi bounds.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */
$4
int
main (void)
{
static int test_array [1 - 2 * !(($2) >= 0)];
test_array [0] = 0;
return test_array [0];

  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
  ac_lo=0 ac_mid=0
  while :; do
    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */
$4
int
main (void)
{
static int test_array [1 - 2 * !(($2) <= $ac_mid)];
test_array [0] = 0;
return test_array [0];

  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
  ac_hi=$ac_mid; break
else $as_nop
  as_fn_arith $ac_mid + 1 && ac_lo=$as_val
			if test $ac_lo -le $ac_mid; then
			  ac_lo= ac_hi=
			  break
			fi
			as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
  done
else $as_nop
  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */
$4
int
main (void)
{
static int test_array [1 - 2 * !(($2) < 0)];
test_array [0] = 0;
return test_array [0];

  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
  ac_hi=-1 ac_mid=-1
  while :; do
    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */
$4
int
main (void)
{
static int test_array [1 - 2 * !(($2) >= $ac_mid)];
test_array [0] = 0;
return test_array [0];

  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
  ac_lo=$ac_mid; break
else $as_nop
  as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
			if test $ac_mid -le $ac_hi; then
			  ac_lo= ac_hi=
			  break
			fi
			as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
  done
else $as_nop
  ac_lo= ac_hi=
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
# Binary search between lo and hi bounds.
while test "x$ac_lo" != "x$ac_hi"; do
  as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */
$4
int
main (void)
{
static int test_array [1 - 2 * !(($2) <= $ac_mid)];
test_array [0] = 0;
return test_array [0];

  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
  ac_hi=$ac_mid
else $as_nop
  as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
done
case $ac_lo in #((
?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
'') ac_retval=1 ;;
esac
  else
    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */
$4
static long int longval (void) { return $2; }
static unsigned long int ulongval (void) { return $2; }
#include <stdio.h>
#include <stdlib.h>
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 <conftest.val; ac_retval=0
else $as_nop
  ac_retval=1
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
  conftest.$ac_objext conftest.beam conftest.$ac_ext
rm -f conftest.val

  fi
  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
  as_fn_set_status $ac_retval

} # ac_fn_c_compute_int

# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
# -------------------------------------------------------
# Tests whether HEADER exists and can be compiled using the include files in
# INCLUDES, setting the cache variable VAR accordingly.
ac_fn_c_check_header_compile ()
{
  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
printf %s "checking for $2... " >&6; }
if eval test \${$3+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */
$4
#include <$2>
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
  eval "$3=yes"
else $as_nop
  eval "$3=no"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
eval ac_res=\$$3
	       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno

} # ac_fn_c_check_header_compile

# ac_fn_c_try_link LINENO
# -----------------------
# Try to link conftest.$ac_ext, and return whether this succeeded.
ac_fn_c_try_link ()
{
  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
  rm -f conftest.$ac_objext conftest.beam conftest$ac_exeext
  if { { ac_try="$ac_link"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
printf "%s\n" "$ac_try_echo"; } >&5
  (eval "$ac_link") 2>conftest.err
  ac_status=$?
  if test -s conftest.err; then
    grep -v '^ *+' conftest.err >conftest.er1
    cat conftest.er1 >&5
    mv -f conftest.er1 conftest.err
  fi
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 test -x conftest$ac_exeext
       }
then :
  ac_retval=0
else $as_nop
  printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_retval=1
fi
  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
  # interfere with the next link command; also delete a directory that is
  # left behind by Apple's compiler.  We do this before executing the actions.
  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
  as_fn_set_status $ac_retval

} # ac_fn_c_try_link

# ac_fn_c_check_func LINENO FUNC VAR
# ----------------------------------
# Tests whether FUNC exists, setting the cache variable VAR accordingly
ac_fn_c_check_func ()
{
  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
printf %s "checking for $2... " >&6; }
if eval test \${$3+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */
/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
#define $2 innocuous_$2

/* System header to define __stub macros and hopefully few prototypes,
   which can conflict with char $2 (); below.  */

#include <limits.h>
#undef $2

/* Override any GCC internal prototype to avoid an error.
   Use char because int might match the return type of a GCC
   builtin and then its argument prototype would still apply.  */
#ifdef __cplusplus
extern "C"
#endif
char $2 ();
/* The GNU C library defines this for functions which it implements
    to always fail with ENOSYS.  Some functions are actually named
    something starting with __ and the normal name is an alias.  */
#if defined __stub_$2 || defined __stub___$2
choke me
#endif

int
main (void)
{
return $2 ();
  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
  eval "$3=yes"
else $as_nop
  eval "$3=no"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
    conftest$ac_exeext conftest.$ac_ext
fi
eval ac_res=\$$3
	       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno

} # ac_fn_c_check_func

# ac_fn_cxx_try_cpp LINENO
# ------------------------
# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
ac_fn_cxx_try_cpp ()
{
  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
  if { { ac_try="$ac_cpp conftest.$ac_ext"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
printf "%s\n" "$ac_try_echo"; } >&5
  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
  ac_status=$?
  if test -s conftest.err; then
    grep -v '^ *+' conftest.err >conftest.er1
    cat conftest.er1 >&5
    mv -f conftest.er1 conftest.err
  fi
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; } > conftest.i && {
	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
	 test ! -s conftest.err
       }
then :
  ac_retval=0
else $as_nop
  printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

    ac_retval=1
fi
  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
  as_fn_set_status $ac_retval

} # ac_fn_cxx_try_cpp

# ac_fn_cxx_try_link LINENO
# -------------------------
# Try to link conftest.$ac_ext, and return whether this succeeded.
ac_fn_cxx_try_link ()
{
  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
  rm -f conftest.$ac_objext conftest.beam conftest$ac_exeext
  if { { ac_try="$ac_link"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
printf "%s\n" "$ac_try_echo"; } >&5
  (eval "$ac_link") 2>conftest.err
  ac_status=$?
  if test -s conftest.err; then
    grep -v '^ *+' conftest.err >conftest.er1
    cat conftest.er1 >&5
    mv -f conftest.er1 conftest.err
  fi
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; } && {
	 test -z "$ac_cxx_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 test -x conftest$ac_exeext
       }
then :
  ac_retval=0
else $as_nop
  printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_retval=1
fi
  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
  # interfere with the next link command; also delete a directory that is
  # left behind by Apple's compiler.  We do this before executing the actions.
  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
  as_fn_set_status $ac_retval

} # ac_fn_cxx_try_link
ac_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 Lustre $as_me 2.16.1_22_g584eedc, which was
generated by GNU Autoconf 2.71.  Invocation command line was

  $ $0$ac_configure_args_raw

_ACEOF
exec 5>>config.log
{
cat <<_ASUNAME
## --------- ##
## Platform. ##
## --------- ##

hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
uname -m = `(uname -m) 2>/dev/null || echo unknown`
uname -r = `(uname -r) 2>/dev/null || echo unknown`
uname -s = `(uname -s) 2>/dev/null || echo unknown`
uname -v = `(uname -v) 2>/dev/null || echo unknown`

/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`

/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`

_ASUNAME

as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  case $as_dir in #(((
    '') as_dir=./ ;;
    */) ;;
    *) as_dir=$as_dir/ ;;
  esac
    printf "%s\n" "PATH: $as_dir"
  done
IFS=$as_save_IFS

} >&5

cat >&5 <<_ACEOF


## ----------- ##
## Core tests. ##
## ----------- ##

_ACEOF


# Keep a trace of the command line.
# Strip out --no-create and --no-recursion so they do not pile up.
# Strip out --silent because we don't want to record it for future runs.
# Also quote any args containing shell meta-characters.
# Make two passes to allow for proper duplicate-argument suppression.
ac_configure_args=
ac_configure_args0=
ac_configure_args1=
ac_must_keep_next=false
for ac_pass in 1 2
do
  for ac_arg
  do
    case $ac_arg in
    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
    | -silent | --silent | --silen | --sile | --sil)
      continue ;;
    *\'*)
      ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
    esac
    case $ac_pass in
    1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
    2)
      as_fn_append ac_configure_args1 " '$ac_arg'"
      if test $ac_must_keep_next = true; then
	ac_must_keep_next=false # Got value, back to normal.
      else
	case $ac_arg in
	  *=* | --config-cache | -C | -disable-* | --disable-* \
	  | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
	  | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
	  | -with-* | --with-* | -without-* | --without-* | --x)
	    case "$ac_configure_args0 " in
	      "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
	    esac
	    ;;
	  -* ) ac_must_keep_next=true ;;
	esac
      fi
      as_fn_append ac_configure_args " '$ac_arg'"
      ;;
    esac
  done
done
{ ac_configure_args0=; unset ac_configure_args0;}
{ ac_configure_args1=; unset ac_configure_args1;}

# When interrupted or exit'd, cleanup temporary files, and complete
# config.log.  We remove comments because anyway the quotes in there
# would cause problems or look ugly.
# WARNING: Use '\'' to represent an apostrophe within the trap.
# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
trap 'exit_status=$?
  # Sanitize IFS.
  IFS=" ""	$as_nl"
  # Save into config.log some information that might help in debugging.
  {
    echo

    printf "%s\n" "## ---------------- ##
## Cache variables. ##
## ---------------- ##"
    echo
    # The following way of writing the cache mishandles newlines in values,
(
  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
    eval ac_val=\$$ac_var
    case $ac_val in #(
    *${as_nl}*)
      case $ac_var in #(
      *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
      esac
      case $ac_var in #(
      _ | IFS | as_nl) ;; #(
      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
      *) { eval $ac_var=; unset $ac_var;} ;;
      esac ;;
    esac
  done
  (set) 2>&1 |
    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
    *${as_nl}ac_space=\ *)
      sed -n \
	"s/'\''/'\''\\\\'\'''\''/g;
	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
      ;; #(
    *)
      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
      ;;
    esac |
    sort
)
    echo

    printf "%s\n" "## ----------------- ##
## Output variables. ##
## ----------------- ##"
    echo
    for ac_var in $ac_subst_vars
    do
      eval ac_val=\$$ac_var
      case $ac_val in
      *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
      esac
      printf "%s\n" "$ac_var='\''$ac_val'\''"
    done | sort
    echo

    if test -n "$ac_subst_files"; then
      printf "%s\n" "## ------------------- ##
## File substitutions. ##
## ------------------- ##"
      echo
      for ac_var in $ac_subst_files
      do
	eval ac_val=\$$ac_var
	case $ac_val in
	*\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
	esac
	printf "%s\n" "$ac_var='\''$ac_val'\''"
      done | sort
      echo
    fi

    if test -s confdefs.h; then
      printf "%s\n" "## ----------- ##
## confdefs.h. ##
## ----------- ##"
      echo
      cat confdefs.h
      echo
    fi
    test "$ac_signal" != 0 &&
      printf "%s\n" "$as_me: caught signal $ac_signal"
    printf "%s\n" "$as_me: exit $exit_status"
  } >&5
  rm -f core *.core core.conftest.* &&
    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
    exit $exit_status
' 0
for ac_signal in 1 2 13 15; do
  trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
done
ac_signal=0

# confdefs.h avoids OS command line length limits that DEFS can exceed.
rm -f -r conftest* confdefs.h

printf "%s\n" "/* confdefs.h */" > confdefs.h

# Predefined preprocessor variables.

printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h

printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h

printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h

printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h

printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h

printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h


# Let the site file select an alternate cache file if it wants to.
# Prefer an explicitly selected file to automatically selected ones.
if test -n "$CONFIG_SITE"; then
  ac_site_files="$CONFIG_SITE"
elif test "x$prefix" != xNONE; then
  ac_site_files="$prefix/share/config.site $prefix/etc/config.site"
else
  ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
fi

for ac_site_file in $ac_site_files
do
  case $ac_site_file in #(
  */*) :
     ;; #(
  *) :
    ac_site_file=./$ac_site_file ;;
esac
  if test -f "$ac_site_file" && test -r "$ac_site_file"; then
    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;}
    sed 's/^/| /' "$ac_site_file" >&5
    . "$ac_site_file" \
      || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "failed to load site script $ac_site_file
See \`config.log' for more details" "$LINENO" 5; }
  fi
done

if test -r "$cache_file"; then
  # Some versions of bash will fail to source /dev/null (special files
  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
printf "%s\n" "$as_me: loading cache $cache_file" >&6;}
    case $cache_file in
      [\\/]* | ?:[\\/]* ) . "$cache_file";;
      *)                      . "./$cache_file";;
    esac
  fi
else
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
printf "%s\n" "$as_me: creating cache $cache_file" >&6;}
  >$cache_file
fi

# 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 <stddef.h>
#include <stdarg.h>
struct stat;
/* Most of the following tests are stolen from RCS 5.7 src/conf.sh.  */
struct buf { int x; };
struct buf * (*rcsopen) (struct buf *, struct stat *, int);
static char *e (p, i)
     char **p;
     int i;
{
  return p[i];
}
static char *f (char * (*g) (char **, int), char **p, ...)
{
  char *s;
  va_list v;
  va_start (v,p);
  s = g (p, va_arg (v,int));
  va_end (v);
  return s;
}

/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
   function prototypes and stuff, but not \xHH hex character constants.
   These do not provoke an error unfortunately, instead are silently treated
   as an "x".  The following induces an error, until -std is added to get
   proper ANSI mode.  Curiously \x00 != x always comes out true, for an
   array size at least.  It is necessary to write \x00 == 0 to get something
   that is true only with -std.  */
int osf4_cc_array ['\''\x00'\'' == 0 ? 1 : -1];

/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
   inside strings and character constants.  */
#define FOO(x) '\''x'\''
int xlc6_cc_array[FOO(a) == '\''x'\'' ? 1 : -1];

int test (int i, double x);
struct s1 {int (*f) (int a);};
struct s2 {int (*f) (double a);};
int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int),
               int, int);'

# Test code for whether the C compiler supports C89 (body of main).
ac_c_conftest_c89_main='
ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
'

# Test code for whether the C compiler supports C99 (global declarations)
ac_c_conftest_c99_globals='
// Does the compiler advertise C99 conformance?
#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L
# error "Compiler does not advertise C99 conformance"
#endif

#include <stdbool.h>
extern int puts (const char *);
extern int printf (const char *, ...);
extern int dprintf (int, const char *, ...);
extern void *malloc (size_t);

// Check varargs macros.  These examples are taken from C99 6.10.3.5.
// dprintf is used instead of fprintf to avoid needing to declare
// FILE and stderr.
#define debug(...) dprintf (2, __VA_ARGS__)
#define showlist(...) puts (#__VA_ARGS__)
#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
static void
test_varargs_macros (void)
{
  int x = 1234;
  int y = 5678;
  debug ("Flag");
  debug ("X = %d\n", x);
  showlist (The first, second, and third items.);
  report (x>y, "x is %d but y is %d", x, y);
}

// Check long long types.
#define BIG64 18446744073709551615ull
#define BIG32 4294967295ul
#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
#if !BIG_OK
  #error "your preprocessor is broken"
#endif
#if BIG_OK
#else
  #error "your preprocessor is broken"
#endif
static long long int bignum = -9223372036854775807LL;
static unsigned long long int ubignum = BIG64;

struct incomplete_array
{
  int datasize;
  double data[];
};

struct named_init {
  int number;
  const wchar_t *name;
  double average;
};

typedef const char *ccp;

static inline int
test_restrict (ccp restrict text)
{
  // See if C++-style comments work.
  // Iterate through items via the restricted pointer.
  // Also check for declarations in for loops.
  for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i)
    continue;
  return 0;
}

// Check varargs and va_copy.
static bool
test_varargs (const char *format, ...)
{
  va_list args;
  va_start (args, format);
  va_list args_copy;
  va_copy (args_copy, args);

  const char *str = "";
  int number = 0;
  float fnumber = 0;

  while (*format)
    {
      switch (*format++)
	{
	case '\''s'\'': // string
	  str = va_arg (args_copy, const char *);
	  break;
	case '\''d'\'': // int
	  number = va_arg (args_copy, int);
	  break;
	case '\''f'\'': // float
	  fnumber = va_arg (args_copy, double);
	  break;
	default:
	  break;
	}
    }
  va_end (args_copy);
  va_end (args);

  return *str && number && fnumber;
}
'

# Test code for whether the C compiler supports C99 (body of main).
ac_c_conftest_c99_main='
  // Check bool.
  _Bool success = false;
  success |= (argc != 0);

  // Check restrict.
  if (test_restrict ("String literal") == 0)
    success = true;
  char *restrict newvar = "Another string";

  // Check varargs.
  success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234);
  test_varargs_macros ();

  // Check flexible array members.
  struct incomplete_array *ia =
    malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
  ia->datasize = 10;
  for (int i = 0; i < ia->datasize; ++i)
    ia->data[i] = i * 1.234;

  // Check named initializers.
  struct named_init ni = {
    .number = 34,
    .name = L"Test wide string",
    .average = 543.34343,
  };

  ni.number = 58;

  int dynamic_array[ni.number];
  dynamic_array[0] = argv[0][0];
  dynamic_array[ni.number - 1] = 543;

  // work around unused variable warnings
  ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\''
	 || dynamic_array[ni.number - 1] != 543);
'

# Test code for whether the C compiler supports C11 (global declarations)
ac_c_conftest_c11_globals='
// Does the compiler advertise C11 conformance?
#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L
# error "Compiler does not advertise C11 conformance"
#endif

// Check _Alignas.
char _Alignas (double) aligned_as_double;
char _Alignas (0) no_special_alignment;
extern char aligned_as_int;
char _Alignas (0) _Alignas (int) aligned_as_int;

// Check _Alignof.
enum
{
  int_alignment = _Alignof (int),
  int_array_alignment = _Alignof (int[100]),
  char_alignment = _Alignof (char)
};
_Static_assert (0 < -_Alignof (int), "_Alignof is signed");

// Check _Noreturn.
int _Noreturn does_not_return (void) { for (;;) continue; }

// Check _Static_assert.
struct test_static_assert
{
  int x;
  _Static_assert (sizeof (int) <= sizeof (long int),
                  "_Static_assert does not work in struct");
  long int y;
};

// Check UTF-8 literals.
#define u8 syntax error!
char const utf8_literal[] = u8"happens to be ASCII" "another string";

// Check duplicate typedefs.
typedef long *long_ptr;
typedef long int *long_ptr;
typedef long_ptr long_ptr;

// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1.
struct anonymous
{
  union {
    struct { int i; int j; };
    struct { int k; long int l; } w;
  };
  int m;
} v1;
'

# Test code for whether the C compiler supports C11 (body of main).
ac_c_conftest_c11_main='
  _Static_assert ((offsetof (struct anonymous, i)
		   == offsetof (struct anonymous, w.k)),
		  "Anonymous union alignment botch");
  v1.i = 2;
  v1.w.k = 5;
  ok |= v1.i != 5;
'

# Test code for whether the C compiler supports C11 (complete).
ac_c_conftest_c11_program="${ac_c_conftest_c89_globals}
${ac_c_conftest_c99_globals}
${ac_c_conftest_c11_globals}

int
main (int argc, char **argv)
{
  int ok = 0;
  ${ac_c_conftest_c89_main}
  ${ac_c_conftest_c99_main}
  ${ac_c_conftest_c11_main}
  return ok;
}
"

# Test code for whether the C compiler supports C99 (complete).
ac_c_conftest_c99_program="${ac_c_conftest_c89_globals}
${ac_c_conftest_c99_globals}

int
main (int argc, char **argv)
{
  int ok = 0;
  ${ac_c_conftest_c89_main}
  ${ac_c_conftest_c99_main}
  return ok;
}
"

# Test code for whether the C compiler supports C89 (complete).
ac_c_conftest_c89_program="${ac_c_conftest_c89_globals}

int
main (int argc, char **argv)
{
  int ok = 0;
  ${ac_c_conftest_c89_main}
  return ok;
}
"

# 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 <cstdlib>
#include <exception>

// <cassert> and <cstring> 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 <typename T> struct test_template
{
  T const val;
  explicit test_template(T t) : val(t) {}
  template <typename U> T add(U u) { return static_cast<T>(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<double> 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 <typename Ret, typename Fn> Ret eval(Fn f, Ret v)
  {
    return f(v);
  }

  // for testing variadic templates and trailing return types
  template <typename V> auto sum(V first) -> V
  {
    return first;
  }
  template <typename V, typename... Args> 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<int>> v(test_template<int>(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;
}
"

as_fn_append ac_header_c_list " stdio.h stdio_h HAVE_STDIO_H"
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"

# Auxiliary files required by this configure script.
ac_aux_files="ltmain.sh compile missing install-sh config.guess config.sub"

# Locations in which to look for auxiliary files.
ac_aux_dir_candidates="${srcdir}/config"

# Search for a directory containing all of the required auxiliary files,
# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates.
# If we don't find one directory that contains all the files we need,
# we report the set of missing files from the *first* directory in
# $ac_aux_dir_candidates and give up.
ac_missing_aux_files=""
ac_first_candidate=:
printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
as_found=false
for as_dir in $ac_aux_dir_candidates
do
  IFS=$as_save_IFS
  case $as_dir in #(((
    '') as_dir=./ ;;
    */) ;;
    *) as_dir=$as_dir/ ;;
  esac
  as_found=:

  printf "%s\n" "$as_me:${as_lineno-$LINENO}:  trying $as_dir" >&5
  ac_aux_dir_found=yes
  ac_install_sh=
  for ac_aux in $ac_aux_files
  do
    # As a special case, if "install-sh" is required, that requirement
    # can be satisfied by any of "install-sh", "install.sh", or "shtool",
    # and $ac_install_sh is set appropriately for whichever one is found.
    if test x"$ac_aux" = x"install-sh"
    then
      if test -f "${as_dir}install-sh"; then
        printf "%s\n" "$as_me:${as_lineno-$LINENO}:   ${as_dir}install-sh found" >&5
        ac_install_sh="${as_dir}install-sh -c"
      elif test -f "${as_dir}install.sh"; then
        printf "%s\n" "$as_me:${as_lineno-$LINENO}:   ${as_dir}install.sh found" >&5
        ac_install_sh="${as_dir}install.sh -c"
      elif test -f "${as_dir}shtool"; then
        printf "%s\n" "$as_me:${as_lineno-$LINENO}:   ${as_dir}shtool found" >&5
        ac_install_sh="${as_dir}shtool install -c"
      else
        ac_aux_dir_found=no
        if $ac_first_candidate; then
          ac_missing_aux_files="${ac_missing_aux_files} install-sh"
        else
          break
        fi
      fi
    else
      if test -f "${as_dir}${ac_aux}"; then
        printf "%s\n" "$as_me:${as_lineno-$LINENO}:   ${as_dir}${ac_aux} found" >&5
      else
        ac_aux_dir_found=no
        if $ac_first_candidate; then
          ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}"
        else
          break
        fi
      fi
    fi
  done
  if test "$ac_aux_dir_found" = yes; then
    ac_aux_dir="$as_dir"
    break
  fi
  ac_first_candidate=false

  as_found=false
done
IFS=$as_save_IFS
if $as_found
then :

else $as_nop
  as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$LINENO" 5
fi


# These three variables are undocumented and unsupported,
# and are intended to be withdrawn in a future Autoconf release.
# They can cause serious problems if a builder's source tree is in a directory
# whose full name contains unusual characters.
if test -f "${ac_aux_dir}config.guess"; then
  ac_config_guess="$SHELL ${ac_aux_dir}config.guess"
fi
if test -f "${ac_aux_dir}config.sub"; then
  ac_config_sub="$SHELL ${ac_aux_dir}config.sub"
fi
if test -f "$ac_aux_dir/configure"; then
  ac_configure="$SHELL ${ac_aux_dir}configure"
fi

# Check that the precious variables saved in the cache have kept the same
# value.
ac_cache_corrupted=false
for ac_var in $ac_precious_vars; do
  eval ac_old_set=\$ac_cv_env_${ac_var}_set
  eval ac_new_set=\$ac_env_${ac_var}_set
  eval ac_old_val=\$ac_cv_env_${ac_var}_value
  eval ac_new_val=\$ac_env_${ac_var}_value
  case $ac_old_set,$ac_new_set in
    set,)
      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
      ac_cache_corrupted=: ;;
    ,set)
      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
printf "%s\n" "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
      ac_cache_corrupted=: ;;
    ,);;
    *)
      if test "x$ac_old_val" != "x$ac_new_val"; then
	# differences in whitespace do not lead to failure.
	ac_old_val_w=`echo x $ac_old_val`
	ac_new_val_w=`echo x $ac_new_val`
	if test "$ac_old_val_w" != "$ac_new_val_w"; then
	  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
	  ac_cache_corrupted=:
	else
	  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
	  eval $ac_var=\$ac_old_val
	fi
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
printf "%s\n" "$as_me:   former value:  \`$ac_old_val'" >&2;}
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
printf "%s\n" "$as_me:   current value: \`$ac_new_val'" >&2;}
      fi;;
  esac
  # Pass precious variables to config.status.
  if test "$ac_new_set" = set; then
    case $ac_new_val in
    *\'*) ac_arg=$ac_var=`printf "%s\n" "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
    *) ac_arg=$ac_var=$ac_new_val ;;
    esac
    case " $ac_configure_args " in
      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
      *) as_fn_append ac_configure_args " '$ac_arg'" ;;
    esac
  fi
done
if $ac_cache_corrupted; then
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;}
  as_fn_error $? "run \`${MAKE-make} distclean' and/or \`rm $cache_file'
	    and start over" "$LINENO" 5
fi
## -------------------- ##
## Main body of script. ##
## -------------------- ##

ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu








ldiskfs_is_ext4="yes"





  # Make sure we can run config.sub.
$SHELL "${ac_aux_dir}config.sub" sun4 >/dev/null 2>&1 ||
  as_fn_error $? "cannot run $SHELL ${ac_aux_dir}config.sub" "$LINENO" 5

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
printf %s "checking build system type... " >&6; }
if test ${ac_cv_build+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  ac_build_alias=$build_alias
test "x$ac_build_alias" = x &&
  ac_build_alias=`$SHELL "${ac_aux_dir}config.guess"`
test "x$ac_build_alias" = x &&
  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
ac_cv_build=`$SHELL "${ac_aux_dir}config.sub" $ac_build_alias` ||
  as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $ac_build_alias failed" "$LINENO" 5

fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
printf "%s\n" "$ac_cv_build" >&6; }
case $ac_cv_build in
*-*-*) ;;
*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
esac
build=$ac_cv_build
ac_save_IFS=$IFS; IFS='-'
set x $ac_cv_build
shift
build_cpu=$1
build_vendor=$2
shift; shift
# Remember, the first character of IFS is used to create $*,
# except with old shells:
build_os=$*
IFS=$ac_save_IFS
case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac


{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
printf %s "checking host system type... " >&6; }
if test ${ac_cv_host+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test "x$host_alias" = x; then
  ac_cv_host=$ac_cv_build
else
  ac_cv_host=`$SHELL "${ac_aux_dir}config.sub" $host_alias` ||
    as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $host_alias failed" "$LINENO" 5
fi

fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
printf "%s\n" "$ac_cv_host" >&6; }
case $ac_cv_host in
*-*-*) ;;
*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
esac
host=$ac_cv_host
ac_save_IFS=$IFS; IFS='-'
set x $ac_cv_host
shift
host_cpu=$1
host_vendor=$2
shift; shift
# Remember, the first character of IFS is used to create $*,
# except with old shells:
host_os=$*
IFS=$ac_save_IFS
case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac


{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
printf %s "checking target system type... " >&6; }
if test ${ac_cv_target+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test "x$target_alias" = x; then
  ac_cv_target=$ac_cv_host
else
  ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` ||
    as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5
fi

fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
printf "%s\n" "$ac_cv_target" >&6; }
case $ac_cv_target in
*-*-*) ;;
*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
esac
target=$ac_cv_target
ac_save_IFS=$IFS; IFS='-'
set x $ac_cv_target
shift
target_cpu=$1
target_vendor=$2
shift; shift
# Remember, the first character of IFS is used to create $*,
# except with old shells:
target_os=$*
IFS=$ac_save_IFS
case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac


# The aliases save the names the user supplied, while $host etc.
# will get canonicalized.
test -n "$target_alias" &&
  test "$program_prefix$program_suffix$program_transform_name" = \
    NONENONEs,x,x, &&
  program_prefix=${target_alias}-

am__api_version='1.16'


  # Find a good install program.  We prefer a C program (faster),
# so one script is as good as another.  But avoid the broken or
# incompatible versions:
# SysV /etc/install, /usr/sbin/install
# SunOS /usr/etc/install
# IRIX /sbin/install
# AIX /bin/install
# AmigaOS /C/install, which installs bootblocks on floppy discs
# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
# AFS /usr/afsws/bin/install, which mishandles nonexistent args
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# OS/2's system install, which has a completely different semantic
# ./install, which can be erroneously created by make from ./install.sh.
# Reject install programs that cannot install multiple files.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
printf %s "checking for a BSD-compatible install... " >&6; }
if test -z "$INSTALL"; then
if test ${ac_cv_path_install+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  case $as_dir in #(((
    '') as_dir=./ ;;
    */) ;;
    *) as_dir=$as_dir/ ;;
  esac
    # Account for fact that we put trailing slashes in our PATH walk.
case $as_dir in #((
  ./ | /[cC]/* | \
  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
  ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
  /usr/ucb/* ) ;;
  *)
    # OSF1 and SCO ODT 3.0 have their own names for install.
    # Don't use installbsd from OSF since it installs stuff as root
    # by default.
    for ac_prog in ginstall scoinst install; do
      for ac_exec_ext in '' $ac_executable_extensions; do
	if as_fn_executable_p "$as_dir$ac_prog$ac_exec_ext"; then
	  if test $ac_prog = install &&
	    grep dspmsg "$as_dir$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
	    # AIX install.  It has an incompatible calling convention.
	    :
	  elif test $ac_prog = install &&
	    grep pwplus "$as_dir$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
	    # program-specific install script used by HP pwplus--don't use.
	    :
	  else
	    rm -rf conftest.one conftest.two conftest.dir
	    echo one > conftest.one
	    echo two > conftest.two
	    mkdir conftest.dir
	    if "$as_dir$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir/" &&
	      test -s conftest.one && test -s conftest.two &&
	      test -s conftest.dir/conftest.one &&
	      test -s conftest.dir/conftest.two
	    then
	      ac_cv_path_install="$as_dir$ac_prog$ac_exec_ext -c"
	      break 3
	    fi
	  fi
	fi
      done
    done
    ;;
esac

  done
IFS=$as_save_IFS

rm -rf conftest.one conftest.two conftest.dir

fi
  if test ${ac_cv_path_install+y}; then
    INSTALL=$ac_cv_path_install
  else
    # As a last resort, use the slow shell script.  Don't cache a
    # value for INSTALL within a source directory, because that will
    # break other packages using the cache if that directory is
    # removed, or if the value is a relative name.
    INSTALL=$ac_install_sh
  fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
printf "%s\n" "$INSTALL" >&6; }

# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
# It thinks the first close brace ends the variable substitution.
test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'

test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'

test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
printf %s "checking whether build environment is sane... " >&6; }
# Reject unsafe characters in $srcdir or the absolute working directory
# name.  Accept space and tab only in the latter.
am_lf='
'
case `pwd` in
  *[\\\"\#\$\&\'\`$am_lf]*)
    as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
esac
case $srcdir in
  *[\\\"\#\$\&\'\`$am_lf\ \	]*)
    as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;;
esac

# Do 'set' in a subshell so we don't clobber the current shell's
# arguments.  Must try -L first in case configure is actually a
# symlink; some systems play weird games with the mod time of symlinks
# (eg FreeBSD returns the mod time of the symlink's containing
# directory).
if (
   am_has_slept=no
   for am_try in 1 2; do
     echo "timestamp, slept: $am_has_slept" > conftest.file
     set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
     if test "$*" = "X"; then
	# -L didn't work.
	set X `ls -t "$srcdir/configure" conftest.file`
     fi
     if test "$*" != "X $srcdir/configure conftest.file" \
	&& test "$*" != "X conftest.file $srcdir/configure"; then

	# If neither matched, then we have a broken ls.  This can happen
	# if, for instance, CONFIG_SHELL is bash and it inherits a
	# broken ls alias from the environment.  This has actually
	# happened.  Such a system could not be considered "sane".
	as_fn_error $? "ls -t appears to fail.  Make sure there is not a broken
  alias in your environment" "$LINENO" 5
     fi
     if test "$2" = conftest.file || test $am_try -eq 2; then
       break
     fi
     # Just in case.
     sleep 1
     am_has_slept=yes
   done
   test "$2" = conftest.file
   )
then
   # Ok.
   :
else
   as_fn_error $? "newly created file is older than distributed files!
Check your system clock" "$LINENO" 5
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
# If we didn't sleep, we still need to ensure time stamps of config.status and
# generated files are strictly newer.
am_sleep_pid=
if grep 'slept: no' conftest.file >/dev/null 2>&1; then
  ( sleep 1 ) &
  am_sleep_pid=$!
fi

rm -f conftest.file

test "$program_prefix" != NONE &&
  program_transform_name="s&^&$program_prefix&;$program_transform_name"
# Use a double $ so make ignores it.
test "$program_suffix" != NONE &&
  program_transform_name="s&\$&$program_suffix&;$program_transform_name"
# Double any \ or $.
# By default was `s,x,x', remove it if useless.
ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
program_transform_name=`printf "%s\n" "$program_transform_name" | sed "$ac_script"`


# Expand $ac_aux_dir to an absolute path.
am_aux_dir=`cd "$ac_aux_dir" && pwd`


  if test x"${MISSING+set}" != xset; then
  MISSING="\${SHELL} '$am_aux_dir/missing'"
fi
# Use eval to expand $SHELL
if eval "$MISSING --is-lightweight"; then
  am_missing_run="$MISSING "
else
  am_missing_run=
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5
printf "%s\n" "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
fi

if test x"${install_sh+set}" != xset; then
  case $am_aux_dir in
  *\ * | *\	*)
    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
  *)
    install_sh="\${SHELL} $am_aux_dir/install-sh"
  esac
fi

# Installed binaries are usually stripped using 'strip' when the user
# run "make install-strip".  However 'strip' might not be the right
# tool to use in cross-compilation environments, therefore Automake
# will honor the 'STRIP' environment variable to overrule this program.
if test "$cross_compiling" != no; then
  if test -n "$ac_tool_prefix"; then
  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
set dummy ${ac_tool_prefix}strip; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_STRIP+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -n "$STRIP"; then
  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  case $as_dir in #(((
    '') as_dir=./ ;;
    */) ;;
    *) as_dir=$as_dir/ ;;
  esac
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
    break 2
  fi
done
  done
IFS=$as_save_IFS

fi
fi
STRIP=$ac_cv_prog_STRIP
if test -n "$STRIP"; then
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
printf "%s\n" "$STRIP" >&6; }
else
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi


fi
if test -z "$ac_cv_prog_STRIP"; then
  ac_ct_STRIP=$STRIP
  # Extract the first word of "strip", so it can be a program name with args.
set dummy strip; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_STRIP+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -n "$ac_ct_STRIP"; then
  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  case $as_dir in #(((
    '') as_dir=./ ;;
    */) ;;
    *) as_dir=$as_dir/ ;;
  esac
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
    ac_cv_prog_ac_ct_STRIP="strip"
    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
    break 2
  fi
done
  done
IFS=$as_save_IFS

fi
fi
ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
if test -n "$ac_ct_STRIP"; then
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
printf "%s\n" "$ac_ct_STRIP" >&6; }
else
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi

  if test "x$ac_ct_STRIP" = x; then
    STRIP=":"
  else
    case $cross_compiling:$ac_tool_warned in
yes:)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
    STRIP=$ac_ct_STRIP
  fi
else
  STRIP="$ac_cv_prog_STRIP"
fi

fi
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"


  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a race-free mkdir -p" >&5
printf %s "checking for a race-free mkdir -p... " >&6; }
if test -z "$MKDIR_P"; then
  if test ${ac_cv_path_mkdir+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
do
  IFS=$as_save_IFS
  case $as_dir in #(((
    '') as_dir=./ ;;
    */) ;;
    *) as_dir=$as_dir/ ;;
  esac
    for ac_prog in mkdir gmkdir; do
	 for ac_exec_ext in '' $ac_executable_extensions; do
	   as_fn_executable_p "$as_dir$ac_prog$ac_exec_ext" || continue
	   case `"$as_dir$ac_prog$ac_exec_ext" --version 2>&1` in #(
	     'mkdir ('*'coreutils) '* | \
	     'BusyBox '* | \
	     'mkdir (fileutils) '4.1*)
	       ac_cv_path_mkdir=$as_dir$ac_prog$ac_exec_ext
	       break 3;;
	   esac
	 done
       done
  done
IFS=$as_save_IFS

fi

  test -d ./--version && rmdir ./--version
  if test ${ac_cv_path_mkdir+y}; then
    MKDIR_P="$ac_cv_path_mkdir -p"
  else
    # As a last resort, use the slow shell script.  Don't cache a
    # value for MKDIR_P within a source directory, because that will
    # break other packages using the cache if that directory is
    # removed, or if the value is a relative name.
    MKDIR_P="$ac_install_sh -d"
  fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
printf "%s\n" "$MKDIR_P" >&6; }

for ac_prog in gawk mawk nawk awk
do
  # Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_AWK+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -n "$AWK"; then
  ac_cv_prog_AWK="$AWK" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  case $as_dir in #(((
    '') as_dir=./ ;;
    */) ;;
    *) as_dir=$as_dir/ ;;
  esac
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
    ac_cv_prog_AWK="$ac_prog"
    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
    break 2
  fi
done
  done
IFS=$as_save_IFS

fi
fi
AWK=$ac_cv_prog_AWK
if test -n "$AWK"; then
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
printf "%s\n" "$AWK" >&6; }
else
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi


  test -n "$AWK" && break
done

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
printf %s "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
set x ${MAKE-make}
ac_make=`printf "%s\n" "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
if eval test \${ac_cv_prog_make_${ac_make}_set+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  cat >conftest.make <<\_ACEOF
SHELL = /bin/sh
all:
	@echo '@@@%%%=$(MAKE)=@@@%%%'
_ACEOF
# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
case `${MAKE-make} -f conftest.make 2>/dev/null` in
  *@@@%%%=?*=@@@%%%*)
    eval ac_cv_prog_make_${ac_make}_set=yes;;
  *)
    eval ac_cv_prog_make_${ac_make}_set=no;;
esac
rm -f conftest.make
fi
if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
  SET_MAKE=
else
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
  SET_MAKE="MAKE=${MAKE-make}"
fi

rm -rf .tst 2>/dev/null
mkdir .tst 2>/dev/null
if test -d .tst; then
  am__leading_dot=.
else
  am__leading_dot=_
fi
rmdir .tst 2>/dev/null

# Check whether --enable-silent-rules was given.
if test ${enable_silent_rules+y}
then :
  enableval=$enable_silent_rules;
fi

case $enable_silent_rules in # (((
  yes) AM_DEFAULT_VERBOSITY=0;;
   no) AM_DEFAULT_VERBOSITY=1;;
    *) AM_DEFAULT_VERBOSITY=1;;
esac
am_make=${MAKE-make}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
printf %s "checking whether $am_make supports nested variables... " >&6; }
if test ${am_cv_make_support_nested_variables+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if printf "%s\n" 'TRUE=$(BAR$(V))
BAR0=false
BAR1=true
V=1
am__doit:
	@$(TRUE)
.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
  am_cv_make_support_nested_variables=yes
else
  am_cv_make_support_nested_variables=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
printf "%s\n" "$am_cv_make_support_nested_variables" >&6; }
if test $am_cv_make_support_nested_variables = yes; then
    AM_V='$(V)'
  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
else
  AM_V=$AM_DEFAULT_VERBOSITY
  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
fi
AM_BACKSLASH='\'

if test "`cd $srcdir && pwd`" != "`pwd`"; then
  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
  # is not polluted with repeated "-I."
  am__isrc=' -I$(srcdir)'
  # test to see if srcdir already configured
  if test -f $srcdir/config.status; then
    as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
  fi
fi

# test whether we have cygpath
if test -z "$CYGPATH_W"; then
  if (cygpath --version) >/dev/null 2>/dev/null; then
    CYGPATH_W='cygpath -w'
  else
    CYGPATH_W=echo
  fi
fi


# Define the identity of the package.
 PACKAGE='lustre'
 VERSION='2.16.1_22_g584eedc'


printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h


printf "%s\n" "#define VERSION \"$VERSION\"" >>confdefs.h

# 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:
# <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
# <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
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 <conftest.tar" >&5
   ($am__untar <conftest.tar) >&5 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }
      { echo "$as_me:$LINENO: cat conftest.dir/file" >&5
   (cat conftest.dir/file) >&5 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }
      grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
    fi
  done
  rm -rf conftest.dir

  if test ${am_cv_prog_tar_pax+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  am_cv_prog_tar_pax=$_am_tool
fi

  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_tar_pax" >&5
printf "%s\n" "$am_cv_prog_tar_pax" >&6; }





# Variables for tags utilities; see am/tags.am
if test -z "$CTAGS"; then
  CTAGS=ctags
fi

if test -z "$ETAGS"; then
  ETAGS=etags
fi

if test -z "$CSCOPE"; then
  CSCOPE=cscope
fi



# POSIX will say in a future version that running "rm -f" with no argument
# is OK; and we want to be able to make that assumption in our Makefile
# recipes.  So use an aggressive probe to check that the usage we want is
# actually supported "in the wild" to an acceptable degree.
# See automake bug#10828.
# To make any issue more visible, cause the running configure to be aborted
# by default if the 'rm' program in use doesn't match our expectations; the
# user can still override this though.
if rm -f && rm -fr && rm -rf; then : OK; else
  cat >&2 <<'END'
Oops!

Your 'rm' program seems unable to run without file operands specified
on the command line, even when the '-f' option is present.  This is contrary
to the behaviour of most rm programs out there, and not conforming with
the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>

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: <https://www.gnu.org/software/coreutils/>.

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


{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
printf %s "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
    # Check whether --enable-maintainer-mode was given.
if test ${enable_maintainer_mode+y}
then :
  enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
else $as_nop
  USE_MAINTAINER_MODE=yes
fi

  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
printf "%s\n" "$USE_MAINTAINER_MODE" >&6; }
   if test $USE_MAINTAINER_MODE = yes; then
  MAINTAINER_MODE_TRUE=
  MAINTAINER_MODE_FALSE='#'
else
  MAINTAINER_MODE_TRUE='#'
  MAINTAINER_MODE_FALSE=
fi

  MAINT=$MAINTAINER_MODE_TRUE







if [ -n "$LLVM" ]; then

if [ -z "${LLVM##*/*}" ]; then
LLVM_PREFIX="$LLVM"
fi

if [ -z "${LLVM##*-*}" ]; then
LLVM_SUFFIX="$LLVM"
fi

HOSTCC="$LLVM_PREFIX"clang"$LLVM_SUFFIX"
HOSTCXX="$LLVM_PREFIX"clang++"$LLVM_SUFFIX"
CC="$LLVM_PREFIX"clang"$LLVM_SUFFIX"
CXX="$LLVM_PREFIX"clang++"$LLVM_SUFFIX"
LD="$LLVM_PREFIX"ld.lld"$LLVM_SUFFIX"
AR="$LLVM_PREFIX"llvm-ar"$LLVM_SUFFIX"
NM="$LLVM_PREFIX"llvm-nm"$LLVM_SUFFIX"
OBJCOPY="$LLVM_PREFIX"llvm-objcopy"$LLVM_SUFFIX"
OBJDUMP="$LLVM_PREFIX"llvm-objdump"$LLVM_SUFFIX"
READELF="$LLVM_PREFIX"llvm-readelf"$LLVM_SUFFIX"
STRIP="$LLVM_PREFIX"llvm-strip"$LLVM_SUFFIX"

if [ "$LLVM_IAS" == "0" ]; then
CC="$CC -fno-integrated-as"
fi

fi










DEPDIR="${am__leading_dot}deps"

ac_config_commands="$ac_config_commands depfiles"

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5
printf %s "checking whether ${MAKE-make} supports the include directive... " >&6; }
cat > confinc.mk << 'END'
am__doit:
	@echo this is the am__doit target >confinc.out
.PHONY: am__doit
END
am__include="#"
am__quote=
# BSD make does it like this.
echo '.include "confinc.mk" # ignored' > confmf.BSD
# Other make implementations (GNU, Solaris 10, AIX) do it like this.
echo 'include confinc.mk # ignored' > confmf.GNU
_am_result=no
for s in GNU BSD; do
  { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5
   (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }
  case $?:`cat confinc.out 2>/dev/null` in #(
  '0:this is the am__doit target') :
    case $s in #(
  BSD) :
    am__include='.include' am__quote='"' ;; #(
  *) :
    am__include='include' am__quote='' ;;
esac ;; #(
  *) :
     ;;
esac
  if test "$am__include" != "#"; then
    _am_result="yes ($s style)"
    break
  fi
done
rm -f confinc.* confmf.*
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5
printf "%s\n" "${_am_result}" >&6; }

# Check whether --enable-dependency-tracking was given.
if test ${enable_dependency_tracking+y}
then :
  enableval=$enable_dependency_tracking;
fi

if test "x$enable_dependency_tracking" != xno; then
  am_depcomp="$ac_aux_dir/depcomp"
  AMDEPBACKSLASH='\'
  am__nodep='_no'
fi
 if test "x$enable_dependency_tracking" != xno; then
  AMDEP_TRUE=
  AMDEP_FALSE='#'
else
  AMDEP_TRUE='#'
  AMDEP_FALSE=
fi


ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
if test -n "$ac_tool_prefix"; then
  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
set dummy ${ac_tool_prefix}gcc; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_CC+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -n "$CC"; then
  ac_cv_prog_CC="$CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  case $as_dir in #(((
    '') as_dir=./ ;;
    */) ;;
    *) as_dir=$as_dir/ ;;
  esac
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
    ac_cv_prog_CC="${ac_tool_prefix}gcc"
    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
    break 2
  fi
done
  done
IFS=$as_save_IFS

fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
printf "%s\n" "$CC" >&6; }
else
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi


fi
if test -z "$ac_cv_prog_CC"; then
  ac_ct_CC=$CC
  # Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_CC+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -n "$ac_ct_CC"; then
  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  case $as_dir in #(((
    '') as_dir=./ ;;
    */) ;;
    *) as_dir=$as_dir/ ;;
  esac
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
    ac_cv_prog_ac_ct_CC="gcc"
    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
    break 2
  fi
done
  done
IFS=$as_save_IFS

fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
printf "%s\n" "$ac_ct_CC" >&6; }
else
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi

  if test "x$ac_ct_CC" = x; then
    CC=""
  else
    case $cross_compiling:$ac_tool_warned in
yes:)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
    CC=$ac_ct_CC
  fi
else
  CC="$ac_cv_prog_CC"
fi

if test -z "$CC"; then
          if test -n "$ac_tool_prefix"; then
    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
set dummy ${ac_tool_prefix}cc; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_CC+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -n "$CC"; then
  ac_cv_prog_CC="$CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  case $as_dir in #(((
    '') as_dir=./ ;;
    */) ;;
    *) as_dir=$as_dir/ ;;
  esac
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
    ac_cv_prog_CC="${ac_tool_prefix}cc"
    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
    break 2
  fi
done
  done
IFS=$as_save_IFS

fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
printf "%s\n" "$CC" >&6; }
else
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi


  fi
fi
if test -z "$CC"; then
  # Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_CC+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -n "$CC"; then
  ac_cv_prog_CC="$CC" # Let the user override the test.
else
  ac_prog_rejected=no
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  case $as_dir in #(((
    '') as_dir=./ ;;
    */) ;;
    *) as_dir=$as_dir/ ;;
  esac
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
    if test "$as_dir$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
       ac_prog_rejected=yes
       continue
     fi
    ac_cv_prog_CC="cc"
    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
    break 2
  fi
done
  done
IFS=$as_save_IFS

if test $ac_prog_rejected = yes; then
  # We found a bogon in the path, so make sure we never use it.
  set dummy $ac_cv_prog_CC
  shift
  if test $# != 0; then
    # We chose a different compiler from the bogus one.
    # However, it has the same basename, so the bogon will be chosen
    # first if we set CC to just the basename; use the full file name.
    shift
    ac_cv_prog_CC="$as_dir$ac_word${1+' '}$@"
  fi
fi
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
printf "%s\n" "$CC" >&6; }
else
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi


fi
if test -z "$CC"; then
  if test -n "$ac_tool_prefix"; then
  for ac_prog in cl.exe
  do
    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_CC+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -n "$CC"; then
  ac_cv_prog_CC="$CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  case $as_dir in #(((
    '') as_dir=./ ;;
    */) ;;
    *) as_dir=$as_dir/ ;;
  esac
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
    break 2
  fi
done
  done
IFS=$as_save_IFS

fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
printf "%s\n" "$CC" >&6; }
else
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi


    test -n "$CC" && break
  done
fi
if test -z "$CC"; then
  ac_ct_CC=$CC
  for ac_prog in cl.exe
do
  # Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_CC+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -n "$ac_ct_CC"; then
  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  case $as_dir in #(((
    '') as_dir=./ ;;
    */) ;;
    *) as_dir=$as_dir/ ;;
  esac
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
    ac_cv_prog_ac_ct_CC="$ac_prog"
    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
    break 2
  fi
done
  done
IFS=$as_save_IFS

fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
printf "%s\n" "$ac_ct_CC" >&6; }
else
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi


  test -n "$ac_ct_CC" && break
done

  if test "x$ac_ct_CC" = x; then
    CC=""
  else
    case $cross_compiling:$ac_tool_warned in
yes:)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
    CC=$ac_ct_CC
  fi
fi

fi
if test -z "$CC"; then
  if test -n "$ac_tool_prefix"; then
  # Extract the first word of "${ac_tool_prefix}clang", so it can be a program name with args.
set dummy ${ac_tool_prefix}clang; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_CC+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -n "$CC"; then
  ac_cv_prog_CC="$CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  case $as_dir in #(((
    '') as_dir=./ ;;
    */) ;;
    *) as_dir=$as_dir/ ;;
  esac
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
    ac_cv_prog_CC="${ac_tool_prefix}clang"
    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
    break 2
  fi
done
  done
IFS=$as_save_IFS

fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
printf "%s\n" "$CC" >&6; }
else
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi


fi
if test -z "$ac_cv_prog_CC"; then
  ac_ct_CC=$CC
  # Extract the first word of "clang", so it can be a program name with args.
set dummy clang; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_CC+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -n "$ac_ct_CC"; then
  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  case $as_dir in #(((
    '') as_dir=./ ;;
    */) ;;
    *) as_dir=$as_dir/ ;;
  esac
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
    ac_cv_prog_ac_ct_CC="clang"
    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
    break 2
  fi
done
  done
IFS=$as_save_IFS

fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
printf "%s\n" "$ac_ct_CC" >&6; }
else
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi

  if test "x$ac_ct_CC" = x; then
    CC=""
  else
    case $cross_compiling:$ac_tool_warned in
yes:)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
    CC=$ac_ct_CC
  fi
else
  CC="$ac_cv_prog_CC"
fi

fi


test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "no acceptable C compiler found in \$PATH
See \`config.log' for more details" "$LINENO" 5; }

# Provide some information about the compiler.
printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
set X $ac_compile
ac_compiler=$2
for ac_option in --version -v -V -qversion -version; do
  { { ac_try="$ac_compiler $ac_option >&5"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
printf "%s\n" "$ac_try_echo"; } >&5
  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
  ac_status=$?
  if test -s conftest.err; then
    sed '10a\
... rest of stderr output deleted ...
         10q' conftest.err >conftest.er1
    cat conftest.er1 >&5
  fi
  rm -f conftest.er1 conftest.err
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }
done

cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

int
main (void)
{

  ;
  return 0;
}
_ACEOF
ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
# Try to create an executable without -o first, disregard a.out.
# It will help us diagnose broken compilers, and finding out an intuition
# of exeext.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
printf %s "checking whether the C compiler works... " >&6; }
ac_link_default=`printf "%s\n" "$ac_link" | sed 's/ -o *conftest[^ ]*//'`

# The possible output files:
ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"

ac_rmfiles=
for ac_file in $ac_files
do
  case $ac_file in
    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
  esac
done
rm -f $ac_rmfiles

if { { ac_try="$ac_link_default"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
printf "%s\n" "$ac_try_echo"; } >&5
  (eval "$ac_link_default") 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }
then :
  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
# in a Makefile.  We should not override ac_cv_exeext if it was cached,
# so that the user can short-circuit this test for compilers unknown to
# Autoconf.
for ac_file in $ac_files ''
do
  test -f "$ac_file" || continue
  case $ac_file in
    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
	;;
    [ab].out )
	# We found the default executable, but exeext='' is most
	# certainly right.
	break;;
    *.* )
	if test ${ac_cv_exeext+y} && test "$ac_cv_exeext" != no;
	then :; else
	   ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
	fi
	# We set ac_cv_exeext here because the later test for it is not
	# safe: cross compilers may not add the suffix if given an `-o'
	# argument, so we may need to know it at that point already.
	# Even if this section looks crufty: it has the advantage of
	# actually working.
	break;;
    * )
	break;;
  esac
done
test "$ac_cv_exeext" = no && ac_cv_exeext=

else $as_nop
  ac_file=''
fi
if test -z "$ac_file"
then :
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "C compiler cannot create executables
See \`config.log' for more details" "$LINENO" 5; }
else $as_nop
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
printf %s "checking for C compiler default output file name... " >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
printf "%s\n" "$ac_file" >&6; }
ac_exeext=$ac_cv_exeext

rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
ac_clean_files=$ac_clean_files_save
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
printf %s "checking for suffix of executables... " >&6; }
if { { ac_try="$ac_link"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
printf "%s\n" "$ac_try_echo"; } >&5
  (eval "$ac_link") 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }
then :
  # If both `conftest.exe' and `conftest' are `present' (well, observable)
# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
# work properly (i.e., refer to `conftest.exe'), while it won't with
# `rm'.
for ac_file in conftest.exe conftest conftest.*; do
  test -f "$ac_file" || continue
  case $ac_file in
    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
	  break;;
    * ) break;;
  esac
done
else $as_nop
  { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "cannot compute suffix of executables: cannot compile and link
See \`config.log' for more details" "$LINENO" 5; }
fi
rm -f conftest conftest$ac_cv_exeext
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
printf "%s\n" "$ac_cv_exeext" >&6; }

rm -f conftest.$ac_ext
EXEEXT=$ac_cv_exeext
ac_exeext=$EXEEXT
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */
#include <stdio.h>
int
main (void)
{
FILE *f = fopen ("conftest.out", "w");
 return ferror (f) || fclose (f) != 0;

  ;
  return 0;
}
_ACEOF
ac_clean_files="$ac_clean_files conftest.out"
# Check that the compiler produces executables we can run.  If not, either
# the compiler is broken, or we cross compile.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
printf %s "checking whether we are cross compiling... " >&6; }
if test "$cross_compiling" != yes; then
  { { ac_try="$ac_link"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
printf "%s\n" "$ac_try_echo"; } >&5
  (eval "$ac_link") 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }
  if { ac_try='./conftest$ac_cv_exeext'
  { { case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
printf "%s\n" "$ac_try_echo"; } >&5
  (eval "$ac_try") 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then
    cross_compiling=no
  else
    if test "$cross_compiling" = maybe; then
	cross_compiling=yes
    else
	{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot run C compiled programs.
If you meant to cross compile, use \`--host'.
See \`config.log' for more details" "$LINENO" 5; }
    fi
  fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
printf "%s\n" "$cross_compiling" >&6; }

rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
ac_clean_files=$ac_clean_files_save
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
printf %s "checking for suffix of object files... " >&6; }
if test ${ac_cv_objext+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

int
main (void)
{

  ;
  return 0;
}
_ACEOF
rm -f conftest.o conftest.obj
if { { ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
printf "%s\n" "$ac_try_echo"; } >&5
  (eval "$ac_compile") 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }
then :
  for ac_file in conftest.o conftest.obj conftest.*; do
  test -f "$ac_file" || continue;
  case $ac_file in
    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
       break;;
  esac
done
else $as_nop
  printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "cannot compute suffix of object files: cannot compile
See \`config.log' for more details" "$LINENO" 5; }
fi
rm -f conftest.$ac_cv_objext conftest.$ac_ext
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
printf "%s\n" "$ac_cv_objext" >&6; }
OBJEXT=$ac_cv_objext
ac_objext=$OBJEXT
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5
printf %s "checking whether the compiler supports GNU C... " >&6; }
if test ${ac_cv_c_compiler_gnu+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

int
main (void)
{
#ifndef __GNUC__
       choke me
#endif

  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
  ac_compiler_gnu=yes
else $as_nop
  ac_compiler_gnu=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_cv_c_compiler_gnu=$ac_compiler_gnu

fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; }
ac_compiler_gnu=$ac_cv_c_compiler_gnu

if test $ac_compiler_gnu = yes; then
  GCC=yes
else
  GCC=
fi
ac_test_CFLAGS=${CFLAGS+y}
ac_save_CFLAGS=$CFLAGS
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
printf %s "checking whether $CC accepts -g... " >&6; }
if test ${ac_cv_prog_cc_g+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  ac_save_c_werror_flag=$ac_c_werror_flag
   ac_c_werror_flag=yes
   ac_cv_prog_cc_g=no
   CFLAGS="-g"
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

int
main (void)
{

  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
  ac_cv_prog_cc_g=yes
else $as_nop
  CFLAGS=""
      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

int
main (void)
{

  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :

else $as_nop
  ac_c_werror_flag=$ac_save_c_werror_flag
	 CFLAGS="-g"
	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

int
main (void)
{

  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
  ac_cv_prog_cc_g=yes
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
   ac_c_werror_flag=$ac_save_c_werror_flag
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
printf "%s\n" "$ac_cv_prog_cc_g" >&6; }
if test $ac_test_CFLAGS; then
  CFLAGS=$ac_save_CFLAGS
elif test $ac_cv_prog_cc_g = yes; then
  if test "$GCC" = yes; then
    CFLAGS="-g -O2"
  else
    CFLAGS="-g"
  fi
else
  if test "$GCC" = yes; then
    CFLAGS="-O2"
  else
    CFLAGS=
  fi
fi
ac_prog_cc_stdc=no
if test x$ac_prog_cc_stdc = xno
then :
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5
printf %s "checking for $CC option to enable C11 features... " >&6; }
if test ${ac_cv_prog_cc_c11+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  ac_cv_prog_cc_c11=no
ac_save_CC=$CC
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */
$ac_c_conftest_c11_program
_ACEOF
for ac_arg in '' -std=gnu11
do
  CC="$ac_save_CC $ac_arg"
  if ac_fn_c_try_compile "$LINENO"
then :
  ac_cv_prog_cc_c11=$ac_arg
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam
  test "x$ac_cv_prog_cc_c11" != "xno" && break
done
rm -f conftest.$ac_ext
CC=$ac_save_CC
fi

if test "x$ac_cv_prog_cc_c11" = xno
then :
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
printf "%s\n" "unsupported" >&6; }
else $as_nop
  if test "x$ac_cv_prog_cc_c11" = x
then :
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
printf "%s\n" "none needed" >&6; }
else $as_nop
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5
printf "%s\n" "$ac_cv_prog_cc_c11" >&6; }
     CC="$CC $ac_cv_prog_cc_c11"
fi
  ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11
  ac_prog_cc_stdc=c11
fi
fi
if test x$ac_prog_cc_stdc = xno
then :
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5
printf %s "checking for $CC option to enable C99 features... " >&6; }
if test ${ac_cv_prog_cc_c99+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  ac_cv_prog_cc_c99=no
ac_save_CC=$CC
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */
$ac_c_conftest_c99_program
_ACEOF
for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99=
do
  CC="$ac_save_CC $ac_arg"
  if ac_fn_c_try_compile "$LINENO"
then :
  ac_cv_prog_cc_c99=$ac_arg
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam
  test "x$ac_cv_prog_cc_c99" != "xno" && break
done
rm -f conftest.$ac_ext
CC=$ac_save_CC
fi

if test "x$ac_cv_prog_cc_c99" = xno
then :
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
printf "%s\n" "unsupported" >&6; }
else $as_nop
  if test "x$ac_cv_prog_cc_c99" = x
then :
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
printf "%s\n" "none needed" >&6; }
else $as_nop
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5
printf "%s\n" "$ac_cv_prog_cc_c99" >&6; }
     CC="$CC $ac_cv_prog_cc_c99"
fi
  ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99
  ac_prog_cc_stdc=c99
fi
fi
if test x$ac_prog_cc_stdc = xno
then :
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5
printf %s "checking for $CC option to enable C89 features... " >&6; }
if test ${ac_cv_prog_cc_c89+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  ac_cv_prog_cc_c89=no
ac_save_CC=$CC
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */
$ac_c_conftest_c89_program
_ACEOF
for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
do
  CC="$ac_save_CC $ac_arg"
  if ac_fn_c_try_compile "$LINENO"
then :
  ac_cv_prog_cc_c89=$ac_arg
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam
  test "x$ac_cv_prog_cc_c89" != "xno" && break
done
rm -f conftest.$ac_ext
CC=$ac_save_CC
fi

if test "x$ac_cv_prog_cc_c89" = xno
then :
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
printf "%s\n" "unsupported" >&6; }
else $as_nop
  if test "x$ac_cv_prog_cc_c89" = x
then :
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
printf "%s\n" "none needed" >&6; }
else $as_nop
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
printf "%s\n" "$ac_cv_prog_cc_c89" >&6; }
     CC="$CC $ac_cv_prog_cc_c89"
fi
  ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89
  ac_prog_cc_stdc=c89
fi
fi

ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu


  ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
printf %s "checking whether $CC understands -c and -o together... " >&6; }
if test ${am_cv_prog_cc_c_o+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

int
main (void)
{

  ;
  return 0;
}
_ACEOF
  # Make sure it works both with $CC and with simple cc.
  # Following AC_PROG_CC_C_O, we do the test twice because some
  # compilers refuse to overwrite an existing .o file with -o,
  # though they will create one.
  am_cv_prog_cc_c_o=yes
  for am_i in 1 2; do
    if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
   ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } \
         && test -f conftest2.$ac_objext; then
      : OK
    else
      am_cv_prog_cc_c_o=no
      break
    fi
  done
  rm -f core conftest*
  unset am_i
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
printf "%s\n" "$am_cv_prog_cc_c_o" >&6; }
if test "$am_cv_prog_cc_c_o" != yes; then
   # Losing compiler, so override with the script.
   # FIXME: It is wrong to rewrite CC.
   # But if we don't then we get into trouble of one sort or another.
   # A longer-term fix would be to have automake use am__CC in this case,
   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
   CC="$am_aux_dir/compile $CC"
fi
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu


depcc="$CC"   am_compiler_list=

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
printf %s "checking dependency style of $depcc... " >&6; }
if test ${am_cv_CC_dependencies_compiler_type+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
  # We make a subdir and do the tests there.  Otherwise we can end up
  # making bogus files that we don't know about and never remove.  For
  # instance it was reported that on HP-UX the gcc test will end up
  # making a dummy file named 'D' -- because '-MD' means "put the output
  # in D".
  rm -rf conftest.dir
  mkdir conftest.dir
  # Copy depcomp to subdir because otherwise we won't find it if we're
  # using a relative directory.
  cp "$am_depcomp" conftest.dir
  cd conftest.dir
  # We will build objects and dependencies in a subdirectory because
  # it helps to detect inapplicable dependency modes.  For instance
  # both Tru64's cc and ICC support -MD to output dependencies as a
  # side effect of compilation, but ICC will put the dependencies in
  # the current directory while Tru64 will put them in the object
  # directory.
  mkdir sub

  am_cv_CC_dependencies_compiler_type=none
  if test "$am_compiler_list" = ""; then
     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
  fi
  am__universal=false
  case " $depcc " in #(
     *\ -arch\ *\ -arch\ *) am__universal=true ;;
     esac

  for depmode in $am_compiler_list; do
    # Setup a source with many dependencies, because some compilers
    # like to wrap large dependency lists on column 80 (with \), and
    # we should not choose a depcomp mode which is confused by this.
    #
    # We need to recreate these files for each test, as the compiler may
    # overwrite some of them when testing with obscure command lines.
    # This happens at least with the AIX C compiler.
    : > sub/conftest.c
    for i in 1 2 3 4 5 6; do
      echo '#include "conftst'$i'.h"' >> sub/conftest.c
      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
      # Solaris 10 /bin/sh.
      echo '/* dummy */' > sub/conftst$i.h
    done
    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf

    # We check with '-c' and '-o' for the sake of the "dashmstdout"
    # mode.  It turns out that the SunPro C++ compiler does not properly
    # handle '-M -o', and we need to detect this.  Also, some Intel
    # versions had trouble with output in subdirs.
    am__obj=sub/conftest.${OBJEXT-o}
    am__minus_obj="-o $am__obj"
    case $depmode in
    gcc)
      # This depmode causes a compiler race in universal mode.
      test "$am__universal" = false || continue
      ;;
    nosideeffect)
      # After this tag, mechanisms are not by side-effect, so they'll
      # only be used when explicitly requested.
      if test "x$enable_dependency_tracking" = xyes; then
	continue
      else
	break
      fi
      ;;
    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
      # This compiler won't grok '-c -o', but also, the minuso test has
      # not run yet.  These depmodes are late enough in the game, and
      # so weak that their functioning should not be impacted.
      am__obj=conftest.${OBJEXT-o}
      am__minus_obj=
      ;;
    none) break ;;
    esac
    if depmode=$depmode \
       source=sub/conftest.c object=$am__obj \
       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
         >/dev/null 2>conftest.err &&
       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
      # icc doesn't choke on unknown options, it will just issue warnings
      # or remarks (even with -Werror).  So we grep stderr for any message
      # that says an option was ignored or not supported.
      # When given -MP, icc 7.0 and 7.1 complain thusly:
      #   icc: Command line warning: ignoring option '-M'; no argument required
      # The diagnosis changed in icc 8.0:
      #   icc: Command line remark: option '-MP' not supported
      if (grep 'ignoring option' conftest.err ||
          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
        am_cv_CC_dependencies_compiler_type=$depmode
        break
      fi
    fi
  done

  cd ..
  rm -rf conftest.dir
else
  am_cv_CC_dependencies_compiler_type=none
fi

fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
printf "%s\n" "$am_cv_CC_dependencies_compiler_type" >&6; }
CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type

 if
  test "x$enable_dependency_tracking" != xno \
  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
  am__fastdepCC_TRUE=
  am__fastdepCC_FALSE='#'
else
  am__fastdepCC_TRUE='#'
  am__fastdepCC_FALSE=
fi








ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
if test -z "$CXX"; then
  if test -n "$CCC"; then
    CXX=$CCC
  else
    if test -n "$ac_tool_prefix"; then
  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++
  do
    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_CXX+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -n "$CXX"; then
  ac_cv_prog_CXX="$CXX" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  case $as_dir in #(((
    '') as_dir=./ ;;
    */) ;;
    *) as_dir=$as_dir/ ;;
  esac
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
    ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
    break 2
  fi
done
  done
IFS=$as_save_IFS

fi
fi
CXX=$ac_cv_prog_CXX
if test -n "$CXX"; then
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5
printf "%s\n" "$CXX" >&6; }
else
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi


    test -n "$CXX" && break
  done
fi
if test -z "$CXX"; then
  ac_ct_CXX=$CXX
  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++
do
  # Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_CXX+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -n "$ac_ct_CXX"; then
  ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  case $as_dir in #(((
    '') as_dir=./ ;;
    */) ;;
    *) as_dir=$as_dir/ ;;
  esac
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
    ac_cv_prog_ac_ct_CXX="$ac_prog"
    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
    break 2
  fi
done
  done
IFS=$as_save_IFS

fi
fi
ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
if test -n "$ac_ct_CXX"; then
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5
printf "%s\n" "$ac_ct_CXX" >&6; }
else
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi


  test -n "$ac_ct_CXX" && break
done

  if test "x$ac_ct_CXX" = x; then
    CXX="g++"
  else
    case $cross_compiling:$ac_tool_warned in
yes:)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
    CXX=$ac_ct_CXX
  fi
fi

  fi
fi
# Provide some information about the compiler.
printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5
set X $ac_compile
ac_compiler=$2
for ac_option in --version -v -V -qversion; do
  { { ac_try="$ac_compiler $ac_option >&5"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
printf "%s\n" "$ac_try_echo"; } >&5
  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
  ac_status=$?
  if test -s conftest.err; then
    sed '10a\
... rest of stderr output deleted ...
         10q' conftest.err >conftest.er1
    cat conftest.er1 >&5
  fi
  rm -f conftest.er1 conftest.err
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }
done

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5
printf %s "checking whether the compiler supports GNU C++... " >&6; }
if test ${ac_cv_cxx_compiler_gnu+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

int
main (void)
{
#ifndef __GNUC__
       choke me
#endif

  ;
  return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"
then :
  ac_compiler_gnu=yes
else $as_nop
  ac_compiler_gnu=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_cv_cxx_compiler_gnu=$ac_compiler_gnu

fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5
printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; }
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu

if test $ac_compiler_gnu = yes; then
  GXX=yes
else
  GXX=
fi
ac_test_CXXFLAGS=${CXXFLAGS+y}
ac_save_CXXFLAGS=$CXXFLAGS
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5
printf %s "checking whether $CXX accepts -g... " >&6; }
if test ${ac_cv_prog_cxx_g+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  ac_save_cxx_werror_flag=$ac_cxx_werror_flag
   ac_cxx_werror_flag=yes
   ac_cv_prog_cxx_g=no
   CXXFLAGS="-g"
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

int
main (void)
{

  ;
  return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"
then :
  ac_cv_prog_cxx_g=yes
else $as_nop
  CXXFLAGS=""
      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

int
main (void)
{

  ;
  return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"
then :

else $as_nop
  ac_cxx_werror_flag=$ac_save_cxx_werror_flag
	 CXXFLAGS="-g"
	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

int
main (void)
{

  ;
  return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"
then :
  ac_cv_prog_cxx_g=yes
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
   ac_cxx_werror_flag=$ac_save_cxx_werror_flag
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5
printf "%s\n" "$ac_cv_prog_cxx_g" >&6; }
if test $ac_test_CXXFLAGS; then
  CXXFLAGS=$ac_save_CXXFLAGS
elif test $ac_cv_prog_cxx_g = yes; then
  if test "$GXX" = yes; then
    CXXFLAGS="-g -O2"
  else
    CXXFLAGS="-g"
  fi
else
  if test "$GXX" = yes; then
    CXXFLAGS="-O2"
  else
    CXXFLAGS=
  fi
fi
ac_prog_cxx_stdcxx=no
if test x$ac_prog_cxx_stdcxx = xno
then :
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5
printf %s "checking for $CXX option to enable C++11 features... " >&6; }
if test ${ac_cv_prog_cxx_cxx11+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  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
fi

if test "x$ac_cv_prog_cxx_cxx11" = xno
then :
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
printf "%s\n" "unsupported" >&6; }
else $as_nop
  if test "x$ac_cv_prog_cxx_cxx11" = x
then :
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
printf "%s\n" "none needed" >&6; }
else $as_nop
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5
printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; }
     CXX="$CXX $ac_cv_prog_cxx_cxx11"
fi
  ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11
  ac_prog_cxx_stdcxx=cxx11
fi
fi
if test x$ac_prog_cxx_stdcxx = xno
then :
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5
printf %s "checking for $CXX option to enable C++98 features... " >&6; }
if test ${ac_cv_prog_cxx_cxx98+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  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
fi

if test "x$ac_cv_prog_cxx_cxx98" = xno
then :
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
printf "%s\n" "unsupported" >&6; }
else $as_nop
  if test "x$ac_cv_prog_cxx_cxx98" = x
then :
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
printf "%s\n" "none needed" >&6; }
else $as_nop
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5
printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; }
     CXX="$CXX $ac_cv_prog_cxx_cxx98"
fi
  ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98
  ac_prog_cxx_stdcxx=cxx98
fi
fi

ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu

depcc="$CXX"  am_compiler_list=

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
printf %s "checking dependency style of $depcc... " >&6; }
if test ${am_cv_CXX_dependencies_compiler_type+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
  # We make a subdir and do the tests there.  Otherwise we can end up
  # making bogus files that we don't know about and never remove.  For
  # instance it was reported that on HP-UX the gcc test will end up
  # making a dummy file named 'D' -- because '-MD' means "put the output
  # in D".
  rm -rf conftest.dir
  mkdir conftest.dir
  # Copy depcomp to subdir because otherwise we won't find it if we're
  # using a relative directory.
  cp "$am_depcomp" conftest.dir
  cd conftest.dir
  # We will build objects and dependencies in a subdirectory because
  # it helps to detect inapplicable dependency modes.  For instance
  # both Tru64's cc and ICC support -MD to output dependencies as a
  # side effect of compilation, but ICC will put the dependencies in
  # the current directory while Tru64 will put them in the object
  # directory.
  mkdir sub

  am_cv_CXX_dependencies_compiler_type=none
  if test "$am_compiler_list" = ""; then
     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
  fi
  am__universal=false
  case " $depcc " in #(
     *\ -arch\ *\ -arch\ *) am__universal=true ;;
     esac

  for depmode in $am_compiler_list; do
    # Setup a source with many dependencies, because some compilers
    # like to wrap large dependency lists on column 80 (with \), and
    # we should not choose a depcomp mode which is confused by this.
    #
    # We need to recreate these files for each test, as the compiler may
    # overwrite some of them when testing with obscure command lines.
    # This happens at least with the AIX C compiler.
    : > sub/conftest.c
    for i in 1 2 3 4 5 6; do
      echo '#include "conftst'$i'.h"' >> sub/conftest.c
      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
      # Solaris 10 /bin/sh.
      echo '/* dummy */' > sub/conftst$i.h
    done
    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf

    # We check with '-c' and '-o' for the sake of the "dashmstdout"
    # mode.  It turns out that the SunPro C++ compiler does not properly
    # handle '-M -o', and we need to detect this.  Also, some Intel
    # versions had trouble with output in subdirs.
    am__obj=sub/conftest.${OBJEXT-o}
    am__minus_obj="-o $am__obj"
    case $depmode in
    gcc)
      # This depmode causes a compiler race in universal mode.
      test "$am__universal" = false || continue
      ;;
    nosideeffect)
      # After this tag, mechanisms are not by side-effect, so they'll
      # only be used when explicitly requested.
      if test "x$enable_dependency_tracking" = xyes; then
	continue
      else
	break
      fi
      ;;
    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
      # This compiler won't grok '-c -o', but also, the minuso test has
      # not run yet.  These depmodes are late enough in the game, and
      # so weak that their functioning should not be impacted.
      am__obj=conftest.${OBJEXT-o}
      am__minus_obj=
      ;;
    none) break ;;
    esac
    if depmode=$depmode \
       source=sub/conftest.c object=$am__obj \
       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
         >/dev/null 2>conftest.err &&
       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
      # icc doesn't choke on unknown options, it will just issue warnings
      # or remarks (even with -Werror).  So we grep stderr for any message
      # that says an option was ignored or not supported.
      # When given -MP, icc 7.0 and 7.1 complain thusly:
      #   icc: Command line warning: ignoring option '-M'; no argument required
      # The diagnosis changed in icc 8.0:
      #   icc: Command line remark: option '-MP' not supported
      if (grep 'ignoring option' conftest.err ||
          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
        am_cv_CXX_dependencies_compiler_type=$depmode
        break
      fi
    fi
  done

  cd ..
  rm -rf conftest.dir
else
  am_cv_CXX_dependencies_compiler_type=none
fi

fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5
printf "%s\n" "$am_cv_CXX_dependencies_compiler_type" >&6; }
CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type

 if
  test "x$enable_dependency_tracking" != xno \
  && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
  am__fastdepCXX_TRUE=
  am__fastdepCXX_FALSE='#'
else
  am__fastdepCXX_TRUE='#'
  am__fastdepCXX_FALSE=
fi



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





# By default we simply use the C compiler to build assembly code.

test "${CCAS+set}" = set || CCAS=$CC
test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS



depcc="$CCAS"   am_compiler_list=

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
printf %s "checking dependency style of $depcc... " >&6; }
if test ${am_cv_CCAS_dependencies_compiler_type+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
  # We make a subdir and do the tests there.  Otherwise we can end up
  # making bogus files that we don't know about and never remove.  For
  # instance it was reported that on HP-UX the gcc test will end up
  # making a dummy file named 'D' -- because '-MD' means "put the output
  # in D".
  rm -rf conftest.dir
  mkdir conftest.dir
  # Copy depcomp to subdir because otherwise we won't find it if we're
  # using a relative directory.
  cp "$am_depcomp" conftest.dir
  cd conftest.dir
  # We will build objects and dependencies in a subdirectory because
  # it helps to detect inapplicable dependency modes.  For instance
  # both Tru64's cc and ICC support -MD to output dependencies as a
  # side effect of compilation, but ICC will put the dependencies in
  # the current directory while Tru64 will put them in the object
  # directory.
  mkdir sub

  am_cv_CCAS_dependencies_compiler_type=none
  if test "$am_compiler_list" = ""; then
     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
  fi
  am__universal=false


  for depmode in $am_compiler_list; do
    # Setup a source with many dependencies, because some compilers
    # like to wrap large dependency lists on column 80 (with \), and
    # we should not choose a depcomp mode which is confused by this.
    #
    # We need to recreate these files for each test, as the compiler may
    # overwrite some of them when testing with obscure command lines.
    # This happens at least with the AIX C compiler.
    : > sub/conftest.c
    for i in 1 2 3 4 5 6; do
      echo '#include "conftst'$i'.h"' >> sub/conftest.c
      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
      # Solaris 10 /bin/sh.
      echo '/* dummy */' > sub/conftst$i.h
    done
    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf

    # We check with '-c' and '-o' for the sake of the "dashmstdout"
    # mode.  It turns out that the SunPro C++ compiler does not properly
    # handle '-M -o', and we need to detect this.  Also, some Intel
    # versions had trouble with output in subdirs.
    am__obj=sub/conftest.${OBJEXT-o}
    am__minus_obj="-o $am__obj"
    case $depmode in
    gcc)
      # This depmode causes a compiler race in universal mode.
      test "$am__universal" = false || continue
      ;;
    nosideeffect)
      # After this tag, mechanisms are not by side-effect, so they'll
      # only be used when explicitly requested.
      if test "x$enable_dependency_tracking" = xyes; then
	continue
      else
	break
      fi
      ;;
    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
      # This compiler won't grok '-c -o', but also, the minuso test has
      # not run yet.  These depmodes are late enough in the game, and
      # so weak that their functioning should not be impacted.
      am__obj=conftest.${OBJEXT-o}
      am__minus_obj=
      ;;
    none) break ;;
    esac
    if depmode=$depmode \
       source=sub/conftest.c object=$am__obj \
       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
         >/dev/null 2>conftest.err &&
       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
      # icc doesn't choke on unknown options, it will just issue warnings
      # or remarks (even with -Werror).  So we grep stderr for any message
      # that says an option was ignored or not supported.
      # When given -MP, icc 7.0 and 7.1 complain thusly:
      #   icc: Command line warning: ignoring option '-M'; no argument required
      # The diagnosis changed in icc 8.0:
      #   icc: Command line remark: option '-MP' not supported
      if (grep 'ignoring option' conftest.err ||
          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
        am_cv_CCAS_dependencies_compiler_type=$depmode
        break
      fi
    fi
  done

  cd ..
  rm -rf conftest.dir
else
  am_cv_CCAS_dependencies_compiler_type=none
fi

fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CCAS_dependencies_compiler_type" >&5
printf "%s\n" "$am_cv_CCAS_dependencies_compiler_type" >&6; }
CCASDEPMODE=depmode=$am_cv_CCAS_dependencies_compiler_type

 if
  test "x$enable_dependency_tracking" != xno \
  && test "$am_cv_CCAS_dependencies_compiler_type" = gcc3; then
  am__fastdepCCAS_TRUE=
  am__fastdepCCAS_FALSE='#'
else
  am__fastdepCCAS_TRUE='#'
  am__fastdepCCAS_FALSE=
fi


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 $as_nop
  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
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 $as_nop
  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
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=""
  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


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 $as_nop
  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
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 $as_nop
  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
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

if test -n "$ac_tool_prefix"; then
  # Extract the first word of "${ac_tool_prefix}ld", so it can be a program name with args.
set dummy ${ac_tool_prefix}ld; 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_LD+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -n "$LD"; then
  ac_cv_prog_LD="$LD" # 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_LD="${ac_tool_prefix}ld"
    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
    break 2
  fi
done
  done
IFS=$as_save_IFS

fi
fi
LD=$ac_cv_prog_LD
if test -n "$LD"; then
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
printf "%s\n" "$LD" >&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_LD"; then
  ac_ct_LD=$LD
  # Extract the first word of "ld", so it can be a program name with args.
set dummy ld; 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_LD+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -n "$ac_ct_LD"; then
  ac_cv_prog_ac_ct_LD="$ac_ct_LD" # 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_LD="ld"
    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
    break 2
  fi
done
  done
IFS=$as_save_IFS

fi
fi
ac_ct_LD=$ac_cv_prog_ac_ct_LD
if test -n "$ac_ct_LD"; then
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LD" >&5
printf "%s\n" "$ac_ct_LD" >&6; }
else
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi

  if test "x$ac_ct_LD" = x; then
    LD="no"
  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
    LD=$ac_ct_LD
  fi
else
  LD="$ac_cv_prog_LD"
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 $as_nop
  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
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 $as_nop
  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
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="no"
  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

if test -n "$ac_tool_prefix"; then
  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
set dummy ${ac_tool_prefix}strip; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_STRIP+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -n "$STRIP"; then
  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  case $as_dir in #(((
    '') as_dir=./ ;;
    */) ;;
    *) as_dir=$as_dir/ ;;
  esac
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
    break 2
  fi
done
  done
IFS=$as_save_IFS

fi
fi
STRIP=$ac_cv_prog_STRIP
if test -n "$STRIP"; then
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
printf "%s\n" "$STRIP" >&6; }
else
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi


fi
if test -z "$ac_cv_prog_STRIP"; then
  ac_ct_STRIP=$STRIP
  # Extract the first word of "strip", so it can be a program name with args.
set dummy strip; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_STRIP+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -n "$ac_ct_STRIP"; then
  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  case $as_dir in #(((
    '') as_dir=./ ;;
    */) ;;
    *) as_dir=$as_dir/ ;;
  esac
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
    ac_cv_prog_ac_ct_STRIP="strip"
    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
    break 2
  fi
done
  done
IFS=$as_save_IFS

fi
fi
ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
if test -n "$ac_ct_STRIP"; then
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
printf "%s\n" "$ac_ct_STRIP" >&6; }
else
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi

  if test "x$ac_ct_STRIP" = x; then
    STRIP="no"
  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


# ---------  unsigned long long sane? -------
# 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 long" >&5
printf %s "checking size of unsigned long long... " >&6; }
if test ${ac_cv_sizeof_unsigned_long_long+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (unsigned long long))" "ac_cv_sizeof_unsigned_long_long"        "$ac_includes_default"
then :

else $as_nop
  if test "$ac_cv_type_unsigned_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 (unsigned long long)
See \`config.log' for more details" "$LINENO" 5; }
   else
     ac_cv_sizeof_unsigned_long_long=0
   fi
fi

fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_unsigned_long_long" >&5
printf "%s\n" "$ac_cv_sizeof_unsigned_long_long" >&6; }



printf "%s\n" "#define SIZEOF_UNSIGNED_LONG_LONG $ac_cv_sizeof_unsigned_long_long" >>confdefs.h


if test $ac_cv_sizeof_unsigned_long_long != 8
then :
  as_fn_error $? "we assume that sizeof(unsigned long long) == 8." "$LINENO" 5
fi

if test $target_cpu = powerpc64
then :

	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: set compiler with -m64" >&5
printf "%s\n" "$as_me: WARNING: set compiler with -m64" >&2;}
	CFLAGS="$CFLAGS -m64"
	CC="$CC -m64"

fi

# libcfs/include for util headers, lustre/include for liblustreapi and friends
# UAPI headers from OpenSFS are included if modules support is enabled, otherwise
# it will use the native kernel implementation.
CPPFLAGS="-I$PWD/libcfs/include -I$PWD/lnet/utils/ -I$PWD/lustre/include $CPPFLAGS"

CCASFLAGS="-Wall -fPIC -D_GNU_SOURCE"


# everyone builds against lnet and lustre kernel headers
EXTRA_KCFLAGS="$EXTRA_KCFLAGS -g -I$PWD/libcfs/include -I$PWD/libcfs/include/libcfs -I$PWD/lnet/include/uapi -I$PWD/lnet/include -I$PWD/lustre/include/uapi -I$PWD/lustre/include"




# Check whether --enable-strict-errors was given.
if test ${enable_strict_errors+y}
then :
  enableval=$enable_strict_errors;
fi


if test "x$enable_strict_errors" != "xno"
then :

if test $target_cpu == "i686" -o $target_cpu == "x86_64"
then :

CFLAGS="$CFLAGS -Wall -Werror"

fi

else $as_nop

CFLAGS="$CFLAGS -Wall -Wno-error -Wno-error=incompatible-pointer-types"

fi



	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -Wno-format-truncation support" >&5
printf %s "checking for -Wno-format-truncation support... " >&6; }

	saved_flags="$CFLAGS"
	CFLAGS="-Werror -Wno-format-truncation"

	cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

int
main (void)
{

  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :

		EXTRA_KCFLAGS="$EXTRA_KCFLAGS -Wno-format-truncation"

		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }

else $as_nop

		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }

fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext

	CFLAGS="$saved_flags"


	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -Wno-stringop-truncation support" >&5
printf %s "checking for -Wno-stringop-truncation support... " >&6; }

	saved_flags="$CFLAGS"
	CFLAGS="-Werror -Wno-stringop-truncation"

	cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

int
main (void)
{

  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :

		EXTRA_KCFLAGS="$EXTRA_KCFLAGS -Wno-stringop-truncation"

		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }

else $as_nop

		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }

fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext

	CFLAGS="$saved_flags"


	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -Wno-stringop-overflow support" >&5
printf %s "checking for -Wno-stringop-overflow support... " >&6; }

	saved_flags="$CFLAGS"
	CFLAGS="-Werror -Wno-stringop-overflow"

	cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

int
main (void)
{

  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :

		EXTRA_KCFLAGS="$EXTRA_KCFLAGS -Wno-stringop-overflow"

		TEST_RESULT="yes"
		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }

else $as_nop

		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }

fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext

	CFLAGS="$saved_flags"
	 if test x$TEST_RESULT = xyes; then
  NO_STRINGOP_OVERFLOW_TRUE=
  NO_STRINGOP_OVERFLOW_FALSE='#'
else
  NO_STRINGOP_OVERFLOW_TRUE='#'
  NO_STRINGOP_OVERFLOW_FALSE=
fi



if test $ac_test_CFLAGS; then
	CFLAGS=$ac_save_CFLAGS
fi

CFLAGS="$CFLAGS $EXTRA_CFLAGS"

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 $as_nop
            ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
     for ac_i in 1 2 3 4 5 6 7; do
       ac_script="$ac_script$as_nl$ac_script"
     done
     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
     { ac_script=; unset ac_script;}
     if test -z "$SED"; then
  ac_path_SED_found=false
  # Loop through the user's path and test for each of PROGNAME-LIST
  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  case $as_dir in #(((
    '') as_dir=./ ;;
    */) ;;
    *) as_dir=$as_dir/ ;;
  esac
    for ac_prog in sed gsed
   do
    for ac_exec_ext in '' $ac_executable_extensions; do
      ac_path_SED="$as_dir$ac_prog$ac_exec_ext"
      as_fn_executable_p "$ac_path_SED" || continue
# Check for GNU ac_path_SED and select it if it is found.
  # Check for GNU $ac_path_SED
case `"$ac_path_SED" --version 2>&1` in
*GNU*)
  ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
*)
  ac_count=0
  printf %s 0123456789 >"conftest.in"
  while :
  do
    cat "conftest.in" "conftest.in" >"conftest.tmp"
    mv "conftest.tmp" "conftest.in"
    cp "conftest.in" "conftest.nl"
    printf "%s\n" '' >> "conftest.nl"
    "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
    as_fn_arith $ac_count + 1 && ac_count=$as_val
    if test $ac_count -gt ${ac_path_SED_max-0}; then
      # Best one so far, save it but keep looking for a better one
      ac_cv_path_SED="$ac_path_SED"
      ac_path_SED_max=$ac_count
    fi
    # 10*(2^10) chars as input seems more than enough
    test $ac_count -gt 10 && break
  done
  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
esac

      $ac_path_SED_found && break 3
    done
  done
  done
IFS=$as_save_IFS
  if test -z "$ac_cv_path_SED"; then
    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
  fi
else
  ac_cv_path_SED=$SED
fi

fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
printf "%s\n" "$ac_cv_path_SED" >&6; }
 SED="$ac_cv_path_SED"
  rm -f conftest.sed

test -z "$SED" && SED=sed
Xsed="$SED -e 1s/^X//"











{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
printf %s "checking for grep that handles long lines and -e... " >&6; }
if test ${ac_cv_path_GREP+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -z "$GREP"; then
  ac_path_GREP_found=false
  # Loop through the user's path and test for each of PROGNAME-LIST
  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
do
  IFS=$as_save_IFS
  case $as_dir in #(((
    '') as_dir=./ ;;
    */) ;;
    *) as_dir=$as_dir/ ;;
  esac
    for ac_prog in grep ggrep
   do
    for ac_exec_ext in '' $ac_executable_extensions; do
      ac_path_GREP="$as_dir$ac_prog$ac_exec_ext"
      as_fn_executable_p "$ac_path_GREP" || continue
# Check for GNU ac_path_GREP and select it if it is found.
  # Check for GNU $ac_path_GREP
case `"$ac_path_GREP" --version 2>&1` in
*GNU*)
  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
*)
  ac_count=0
  printf %s 0123456789 >"conftest.in"
  while :
  do
    cat "conftest.in" "conftest.in" >"conftest.tmp"
    mv "conftest.tmp" "conftest.in"
    cp "conftest.in" "conftest.nl"
    printf "%s\n" 'GREP' >> "conftest.nl"
    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
    as_fn_arith $ac_count + 1 && ac_count=$as_val
    if test $ac_count -gt ${ac_path_GREP_max-0}; then
      # Best one so far, save it but keep looking for a better one
      ac_cv_path_GREP="$ac_path_GREP"
      ac_path_GREP_max=$ac_count
    fi
    # 10*(2^10) chars as input seems more than enough
    test $ac_count -gt 10 && break
  done
  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
esac

      $ac_path_GREP_found && break 3
    done
  done
  done
IFS=$as_save_IFS
  if test -z "$ac_cv_path_GREP"; then
    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
  fi
else
  ac_cv_path_GREP=$GREP
fi

fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
printf "%s\n" "$ac_cv_path_GREP" >&6; }
 GREP="$ac_cv_path_GREP"


{ 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 $as_nop
  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
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"


{ 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 $as_nop
  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
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 $as_nop
  with_gnu_ld=no
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 $as_nop
  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 </dev/null` in
      *GNU* | *'with BFD'*)
	test no != "$with_gnu_ld" && break
	;;
      *)
	test yes != "$with_gnu_ld" && break
	;;
      esac
    fi
  done
  IFS=$lt_save_ifs
else
  lt_cv_path_LD=$LD # Let the user override the test with a path.
fi
fi

LD=$lt_cv_path_LD
if test -n "$LD"; then
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LD" >&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 $as_nop
  # I'd rather use --version here, but apparently some GNU lds only accept -v.
case `$LD -v 2>&1 </dev/null` in
*GNU* | *'with BFD'*)
  lt_cv_prog_gnu_ld=yes
  ;;
*)
  lt_cv_prog_gnu_ld=no
  ;;
esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
printf "%s\n" "$lt_cv_prog_gnu_ld" >&6; }
with_gnu_ld=$lt_cv_prog_gnu_ld









{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
printf %s "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
if test ${lt_cv_path_NM+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -n "$NM"; then
  # Let the user override the test.
  lt_cv_path_NM=$NM
else
  lt_nm_to_check=${ac_tool_prefix}nm
  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
    lt_nm_to_check="$lt_nm_to_check nm"
  fi
  for lt_tmp_nm in $lt_nm_to_check; do
    lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
      IFS=$lt_save_ifs
      test -z "$ac_dir" && ac_dir=.
      tmp_nm=$ac_dir/$lt_tmp_nm
      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then
	# Check to see if the nm accepts a BSD-compat flag.
	# Adding the 'sed 1q' prevents false positives on HP-UX, which says:
	#   nm: unknown option "B" ignored
	# Tru64's nm complains that /dev/null is an invalid object file
	# MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
	case $build_os in
	mingw*) lt_bad_file=conftest.nm/nofile ;;
	*) lt_bad_file=/dev/null ;;
	esac
	case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in
	*$lt_bad_file* | *'Invalid file or object type'*)
	  lt_cv_path_NM="$tmp_nm -B"
	  break 2
	  ;;
	*)
	  case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in
	  */dev/null*)
	    lt_cv_path_NM="$tmp_nm -p"
	    break 2
	    ;;
	  *)
	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
	    continue # so that we can try to find one that supports BSD flags
	    ;;
	  esac
	  ;;
	esac
      fi
    done
    IFS=$lt_save_ifs
  done
  : ${lt_cv_path_NM=no}
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
printf "%s\n" "$lt_cv_path_NM" >&6; }
if test no != "$lt_cv_path_NM"; then
  NM=$lt_cv_path_NM
else
  # Didn't find any BSD compatible name lister, look for dumpbin.
  if test -n "$DUMPBIN"; then :
    # Let the user override the test.
  else
    if test -n "$ac_tool_prefix"; then
  for ac_prog in dumpbin "link -dump"
  do
    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_DUMPBIN+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -n "$DUMPBIN"; then
  ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  case $as_dir in #(((
    '') as_dir=./ ;;
    */) ;;
    *) as_dir=$as_dir/ ;;
  esac
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
    ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
    break 2
  fi
done
  done
IFS=$as_save_IFS

fi
fi
DUMPBIN=$ac_cv_prog_DUMPBIN
if test -n "$DUMPBIN"; then
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
printf "%s\n" "$DUMPBIN" >&6; }
else
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi


    test -n "$DUMPBIN" && break
  done
fi
if test -z "$DUMPBIN"; then
  ac_ct_DUMPBIN=$DUMPBIN
  for ac_prog in dumpbin "link -dump"
do
  # Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_DUMPBIN+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -n "$ac_ct_DUMPBIN"; then
  ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  case $as_dir in #(((
    '') as_dir=./ ;;
    */) ;;
    *) as_dir=$as_dir/ ;;
  esac
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
    ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
    break 2
  fi
done
  done
IFS=$as_save_IFS

fi
fi
ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
if test -n "$ac_ct_DUMPBIN"; then
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
printf "%s\n" "$ac_ct_DUMPBIN" >&6; }
else
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi


  test -n "$ac_ct_DUMPBIN" && break
done

  if test "x$ac_ct_DUMPBIN" = x; then
    DUMPBIN=":"
  else
    case $cross_compiling:$ac_tool_warned in
yes:)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
    DUMPBIN=$ac_ct_DUMPBIN
  fi
fi

    case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in
    *COFF*)
      DUMPBIN="$DUMPBIN -symbols -headers"
      ;;
    *)
      DUMPBIN=:
      ;;
    esac
  fi

  if test : != "$DUMPBIN"; then
    NM=$DUMPBIN
  fi
fi
test -z "$NM" && NM=nm






{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
printf %s "checking the name lister ($NM) interface... " >&6; }
if test ${lt_cv_nm_interface+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  lt_cv_nm_interface="BSD nm"
  echo "int some_variable = 0;" > conftest.$ac_ext
  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
  (eval "$ac_compile" 2>conftest.err)
  cat conftest.err >&5
  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
  cat conftest.err >&5
  (eval echo "\"\$as_me:$LINENO: output\"" >&5)
  cat conftest.out >&5
  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
    lt_cv_nm_interface="MS dumpbin"
  fi
  rm -f conftest*
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
printf "%s\n" "$lt_cv_nm_interface" >&6; }

{ 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

# 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 $as_nop
    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

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 $as_nop
  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

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 $as_nop
  #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

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 $as_nop
  lt_cv_ld_reload_flag='-r'
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 $as_nop
  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
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 $as_nop
  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
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 $as_nop
  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
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 $as_nop
  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
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 $as_nop
  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

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 $as_nop
  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
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 $as_nop
  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
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 $as_nop
  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

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 $as_nop
  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
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 $as_nop
  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
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 $as_nop
  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

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 $as_nop
  if test -n "$STRIP"; then
  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  case $as_dir in #(((
    '') as_dir=./ ;;
    */) ;;
    *) as_dir=$as_dir/ ;;
  esac
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
    break 2
  fi
done
  done
IFS=$as_save_IFS

fi
fi
STRIP=$ac_cv_prog_STRIP
if test -n "$STRIP"; then
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
printf "%s\n" "$STRIP" >&6; }
else
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi


fi
if test -z "$ac_cv_prog_STRIP"; then
  ac_ct_STRIP=$STRIP
  # Extract the first word of "strip", so it can be a program name with args.
set dummy strip; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_STRIP+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -n "$ac_ct_STRIP"; then
  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  case $as_dir in #(((
    '') as_dir=./ ;;
    */) ;;
    *) as_dir=$as_dir/ ;;
  esac
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
    ac_cv_prog_ac_ct_STRIP="strip"
    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
    break 2
  fi
done
  done
IFS=$as_save_IFS

fi
fi
ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
if test -n "$ac_ct_STRIP"; then
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
printf "%s\n" "$ac_ct_STRIP" >&6; }
else
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi

  if test "x$ac_ct_STRIP" = x; then
    STRIP=":"
  else
    case $cross_compiling:$ac_tool_warned in
yes:)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
    STRIP=$ac_ct_STRIP
  fi
else
  STRIP="$ac_cv_prog_STRIP"
fi

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 $as_nop
  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
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 $as_nop
  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
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 $as_nop

# 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_DLSYM_CONST
#elif defined __osf__
/* This system does not cope well with relocations in const data.  */
# define LT_DLSYM_CONST
#else
# define LT_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_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

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 $as_nop
  with_sysroot=no
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 $as_nop
  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 <conftest2.i >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
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 $as_nop
  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 <conftest2.i >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"
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 $*""; 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 $as_nop
  ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu

     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 $as_nop
  lt_cv_cc_needs_belf=no
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
{ 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 $as_nop
  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
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 $as_nop
  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
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 $as_nop
  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*
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 $as_nop
  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
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 $as_nop
  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
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 $as_nop
  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
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 $as_nop
  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
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 $as_nop
  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
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 $as_nop
  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
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 $as_nop
  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
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 $as_nop
  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
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 $as_nop
  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
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 $as_nop
  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
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 $as_nop
  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
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 $as_nop
  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 $as_nop
  lt_cv_ld_exported_symbols_list=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
    conftest$ac_exeext conftest.$ac_ext
	LDFLAGS=$save_LDFLAGS

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 $as_nop
  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

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$2 in
    x)
        ;;
    *:)
        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\"
        ;;
    x:*)
        eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"
        ;;
    *::*)
        eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
        eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"
        ;;
    *)
        eval $1=\"`$ECHO $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 $2 in
  .*) func_stripname_result=`$ECHO "$3" | $SED "s%^$1%%; s%\\\\$2\$%%"`;;
  *)  func_stripname_result=`$ECHO "$3" | $SED "s%^$1%%; s%$2\$%%"`;;
  esac
} # func_stripname_cnf





# Set options



        enable_dlopen=no


  enable_win32_dll=no


            # Check whether --enable-shared was given.
if test ${enable_shared+y}
then :
  enableval=$enable_shared; p=${PACKAGE-default}
    case $enableval in
    yes) enable_shared=yes ;;
    no) enable_shared=no ;;
    *)
      enable_shared=no
      # Look at the argument we got.  We use all the common list separators.
      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
      for pkg in $enableval; do
	IFS=$lt_save_ifs
	if test "X$pkg" = "X$p"; then
	  enable_shared=yes
	fi
      done
      IFS=$lt_save_ifs
      ;;
    esac
else $as_nop
  enable_shared=yes
fi









  # Check whether --enable-static was given.
if test ${enable_static+y}
then :
  enableval=$enable_static; p=${PACKAGE-default}
    case $enableval in
    yes) enable_static=yes ;;
    no) enable_static=no ;;
    *)
     enable_static=no
      # Look at the argument we got.  We use all the common list separators.
      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
      for pkg in $enableval; do
	IFS=$lt_save_ifs
	if test "X$pkg" = "X$p"; then
	  enable_static=yes
	fi
      done
      IFS=$lt_save_ifs
      ;;
    esac
else $as_nop
  enable_static=yes
fi










# 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 $as_nop
  pic_mode=default
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 $as_nop
  enable_fast_install=yes
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 $as_nop
  if test ${lt_cv_with_aix_soname+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  lt_cv_with_aix_soname=aix
fi

    with_aix_soname=$lt_cv_with_aix_soname
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 $as_nop
  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
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 $as_nop
  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
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 $as_nop
  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
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*


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 $as_nop
  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*

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 -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 $as_nop
  lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
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 $as_nop
  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 -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*

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 $as_nop
  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

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 $as_nop
  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*

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 $as_nop
  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*

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 <jrb3@best.com> 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 $as_nop
  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

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 $as_nop
  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

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 $as_nop
  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

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 $as_nop
  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 $as_nop
  lt_cv_irix_exported_symbol=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
    conftest$ac_exeext conftest.$ac_ext
           LDFLAGS=$save_LDFLAGS
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 $as_nop
  $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*

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<name>.so
      # instead of lib<name>.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 $as_nop
  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

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 $as_nop
  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.  */
char dlopen ();
int
main (void)
{
return dlopen ();
  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
  ac_cv_lib_dl_dlopen=yes
else $as_nop
  ac_cv_lib_dl_dlopen=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
    conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
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 $as_nop

    lt_cv_dlopen=dyld
    lt_cv_dlopen_libs=
    lt_cv_dlopen_self=yes

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 $as_nop
  { 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 $as_nop
  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.  */
char shl_load ();
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 $as_nop
  ac_cv_lib_dld_shl_load=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
    conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
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 $as_nop
  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 $as_nop
  { 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 $as_nop
  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.  */
char dlopen ();
int
main (void)
{
return dlopen ();
  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
  ac_cv_lib_dl_dlopen=yes
else $as_nop
  ac_cv_lib_dl_dlopen=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
    conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
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 $as_nop
  { 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 $as_nop
  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.  */
char dlopen ();
int
main (void)
{
return dlopen ();
  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
  ac_cv_lib_svld_dlopen=yes
else $as_nop
  ac_cv_lib_svld_dlopen=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
    conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
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 $as_nop
  { 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 $as_nop
  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.  */
char dld_link ();
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 $as_nop
  ac_cv_lib_dld_dld_link=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
    conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
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


fi


fi


fi


fi


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 $as_nop
  	  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 <dlfcn.h>
#endif

#include <stdio.h>

#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*


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 $as_nop
  	  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 <dlfcn.h>
#endif

#include <stdio.h>

#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*


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 $as_nop
      # Double quotes because $CXX needs to be expanded
    for CXXCPP in "$CXX -E" cpp /lib/cpp
    do
      ac_preproc_ok=false
for ac_cxx_preproc_warn_flag in '' yes
do
  # Use a header file that comes with gcc, so configuring glibc
  # with a fresh cross-compiler works.
  # On the NeXT, cc -E runs the code through the compiler's parser,
  # not just through cpp. "Syntax error" is here to catch this case.
  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */
#include <limits.h>
		     Syntax error
_ACEOF
if ac_fn_cxx_try_cpp "$LINENO"
then :

else $as_nop
  # Broken: fails on valid input.
continue
fi
rm -f conftest.err conftest.i conftest.$ac_ext

  # OK, works on sane cases.  Now check whether nonexistent headers
  # can be detected and how.
  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */
#include <ac_nonexistent.h>
_ACEOF
if ac_fn_cxx_try_cpp "$LINENO"
then :
  # Broken: success on invalid input.
continue
else $as_nop
  # Passes both tests.
ac_preproc_ok=:
break
fi
rm -f conftest.err conftest.i conftest.$ac_ext

done
# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
rm -f conftest.i conftest.err conftest.$ac_ext
if $ac_preproc_ok
then :
  break
fi

    done
    ac_cv_prog_CXXCPP=$CXXCPP

fi
  CXXCPP=$ac_cv_prog_CXXCPP
else
  ac_cv_prog_CXXCPP=$CXXCPP
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5
printf "%s\n" "$CXXCPP" >&6; }
ac_preproc_ok=false
for ac_cxx_preproc_warn_flag in '' yes
do
  # Use a header file that comes with gcc, so configuring glibc
  # with a fresh cross-compiler works.
  # On the NeXT, cc -E runs the code through the compiler's parser,
  # not just through cpp. "Syntax error" is here to catch this case.
  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */
#include <limits.h>
		     Syntax error
_ACEOF
if ac_fn_cxx_try_cpp "$LINENO"
then :

else $as_nop
  # Broken: fails on valid input.
continue
fi
rm -f conftest.err conftest.i conftest.$ac_ext

  # OK, works on sane cases.  Now check whether nonexistent headers
  # can be detected and how.
  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */
#include <ac_nonexistent.h>
_ACEOF
if ac_fn_cxx_try_cpp "$LINENO"
then :
  # Broken: success on invalid input.
continue
else $as_nop
  # Passes both tests.
ac_preproc_ok=:
break
fi
rm -f conftest.err conftest.i conftest.$ac_ext

done
# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
rm -f conftest.i conftest.err conftest.$ac_ext
if $ac_preproc_ok
then :

else $as_nop
  { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check
See \`config.log' for more details" "$LINENO" 5; }
fi

ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu

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 $as_nop
  with_gnu_ld=no
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 $as_nop
  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 </dev/null` in
      *GNU* | *'with BFD'*)
	test no != "$with_gnu_ld" && break
	;;
      *)
	test yes != "$with_gnu_ld" && break
	;;
      esac
    fi
  done
  IFS=$lt_save_ifs
else
  lt_cv_path_LD=$LD # Let the user override the test with a path.
fi
fi

LD=$lt_cv_path_LD
if test -n "$LD"; then
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LD" >&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 $as_nop
  # I'd rather use --version here, but apparently some GNU lds only accept -v.
case `$LD -v 2>&1 </dev/null` in
*GNU* | *'with BFD'*)
  lt_cv_prog_gnu_ld=yes
  ;;
*)
  lt_cv_prog_gnu_ld=no
  ;;
esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&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 $as_nop
  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

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 $as_nop
  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

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 <jrb3@best.com> 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 -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 $as_nop
  lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX
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 $as_nop
  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 -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*

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 $as_nop
  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

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 $as_nop
  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*

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 $as_nop
  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*

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 $as_nop
  $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*

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<name>.so
      # instead of lib<name>.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 $as_nop
  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

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_config_commands="$ac_config_commands libtool"




# Only expand once:




# Extract the first word of "flex", so it can be a program name with args.
set dummy flex; 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_FLEX+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  case $FLEX in
  [\\/]* | ?:[\\/]*)
  ac_cv_path_FLEX="$FLEX" # 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_FLEX="$as_dir$ac_word$ac_exec_ext"
    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
    break 2
  fi
done
  done
IFS=$as_save_IFS

  ;;
esac
fi
FLEX=$ac_cv_path_FLEX
if test -n "$FLEX"; then
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FLEX" >&5
printf "%s\n" "$FLEX" >&6; }
else
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi


# Extract the first word of "bison", so it can be a program name with args.
set dummy bison; 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_BISON+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  case $BISON in
  [\\/]* | ?:[\\/]*)
  ac_cv_path_BISON="$BISON" # 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_BISON="$as_dir$ac_word$ac_exec_ext"
    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
    break 2
  fi
done
  done
IFS=$as_save_IFS

  ;;
esac
fi
BISON=$ac_cv_path_BISON
if test -n "$BISON"; then
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $BISON" >&5
printf "%s\n" "$BISON" >&6; }
else
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi


# Extract the first word of "rpmbuild", so it can be a program name with args.
set dummy rpmbuild; 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_RPMBUILD+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  case $RPMBUILD in
  [\\/]* | ?:[\\/]*)
  ac_cv_path_RPMBUILD="$RPMBUILD" # 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_RPMBUILD="$as_dir$ac_word$ac_exec_ext"
    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
    break 2
  fi
done
  done
IFS=$as_save_IFS

  ;;
esac
fi
RPMBUILD=$ac_cv_path_RPMBUILD
if test -n "$RPMBUILD"; then
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RPMBUILD" >&5
printf "%s\n" "$RPMBUILD" >&6; }
else
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi


# 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_PKGCONF+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  case $PKGCONF in
  [\\/]* | ?:[\\/]*)
  ac_cv_path_PKGCONF="$PKGCONF" # 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_PKGCONF="$as_dir$ac_word$ac_exec_ext"
    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
    break 2
  fi
done
  done
IFS=$as_save_IFS

  ;;
esac
fi
PKGCONF=$ac_cv_path_PKGCONF
if test -n "$PKGCONF"; then
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKGCONF" >&5
printf "%s\n" "$PKGCONF" >&6; }
else
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi




LUSTRE_MAJOR=`echo 2.16.1_22_g584eedc | sed -re 's/([0-9]+)\.([0-9]+)\.([0-9]+)(\.([0-9]+))?.*/\1/'`
LUSTRE_MINOR=`echo 2.16.1_22_g584eedc | sed -re 's/([0-9]+)\.([0-9]+)\.([0-9]+)(\.([0-9]+))?.*/\2/'`
LUSTRE_PATCH=`echo 2.16.1_22_g584eedc | sed -re 's/([0-9]+)\.([0-9]+)\.([0-9]+)(\.([0-9]+))?.*/\3/'`
LUSTRE_FIX=`echo 2.16.1_22_g584eedc | sed -re 's/([0-9]+)\.([0-9]+)\.([0-9]+)([-\._][a-z]*([0-9]+))?.*/\5/'`
if test -z "$LUSTRE_FIX"
then :
  LUSTRE_FIX="0"
fi


printf "%s\n" "#define LUSTRE_MAJOR $LUSTRE_MAJOR" >>confdefs.h


printf "%s\n" "#define LUSTRE_MINOR $LUSTRE_MINOR" >>confdefs.h


printf "%s\n" "#define LUSTRE_PATCH $LUSTRE_PATCH" >>confdefs.h


printf "%s\n" "#define LUSTRE_FIX $LUSTRE_FIX" >>confdefs.h

# Even though the code could just use VERSION or PACKAGE_VERSION directly,
# we use this copy named LUSTRE_VERSION_STRING instead to maintain less
# divergence from the Lustre client code in the upstream Linux kernel code.

printf "%s\n" "#define LUSTRE_VERSION_STRING \"$PACKAGE_VERSION\"" >>confdefs.h










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 $as_nop
  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
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 $as_nop
  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
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

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: Lustre base checks
==============================================================================" >&5
printf "%s\n" "$as_me: Lustre base checks
==============================================================================" >&6;}

case $target_os in
	linux*)
		lb_target_os="linux"
		;;
esac




{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to configure just enough for make dist" >&5
printf %s "checking whether to configure just enough for make dist... " >&6; }
# Check whether --enable-dist was given.
if test ${enable_dist+y}
then :
  enableval=$enable_dist;
else $as_nop
  enable_dist="no"
fi

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_dist" >&5
printf "%s\n" "$enable_dist" >&6; }
if test "x$enable_dist" != xno
then :

	enable_doc="no"
	enable_utils="no"
	enable_tests="no"
	enable_modules="no"

fi



# Check whether --with-downstream-release was given.
if test ${with_downstream_release+y}
then :
  withval=$with_downstream_release; as_fn_error $? "--downstream-release was deprecated.  Please read Documentation/versioning.txt." "$LINENO" 5

fi


{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if this distro uses dpkg" >&5
printf %s "checking if this distro uses dpkg... " >&6; }
if test ${lb_cv_uses_dpkg+y}
then :
  printf %s "(cached) " >&6
else $as_nop

lb_cv_uses_dpkg="no"
case $(egrep -q 'ubuntu|debian' /etc/os-release && which dpkg 2>/dev/null) in #(
  */dpkg) :
    lb_cv_uses_dpkg="yes" ;; #(
  *) :
     ;;
esac

fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_uses_dpkg" >&5
printf "%s\n" "$lb_cv_uses_dpkg" >&6; }
uses_dpkg=$lb_cv_uses_dpkg



INCLUDE_RULES="include $PWD/Rules"




# directories for binaries


sysconfdir='/etc'


# Directories for documentation and demos.
docdir='${datadir}/doc/$(PACKAGE)'







# ptlrpc kernel build requires this
LUSTRE="$PWD/lustre"


# mount.lustre
rootsbindir='/sbin'


demodir='$(docdir)/demo'


pkgexampledir='${pkgdatadir}/examples'





{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to use OSD addon" >&5
printf %s "checking whether to use OSD addon... " >&6; }

# Check whether --with-osd was given.
if test ${with_osd+y}
then :
  withval=$with_osd;
	case "$with_osd" in
	no)
		ENABLEOSDADDON=0
		;;
	*)
		OSDADDON="$with_osd"
		ENABLEOSDADDON=1
		;;
	esac

else $as_nop

		ENABLEOSDADDON=0

fi

if test $ENABLEOSDADDON -eq 0
then :

	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
	OSDADDON=""

else $as_nop

	OSDMODNAME=$(basename $OSDADDON)
	if test -e $LUSTRE/$OSDMODNAME
then :

		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: cannot link" >&5
printf "%s\n" "cannot link" >&6; }
		OSDADDON=""

elif ln -s $OSDADDON $LUSTRE/$OSDMODNAME
then :

		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OSDMODNAME" >&5
printf "%s\n" "$OSDMODNAME" >&6; }
		OSDADDON="obj-m += $OSDMODNAME/"

else $as_nop

		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: cannot link" >&5
printf "%s\n" "cannot link" >&6; }
		OSDADDON=""

fi

fi




{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build Lustre docs" >&5
printf %s "checking whether to build Lustre docs... " >&6; }
# Check whether --enable-doc was given.
if test ${enable_doc+y}
then :
  enableval=$enable_doc;
else $as_nop
  enable_doc="no"
fi

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_doc" >&5
printf "%s\n" "$enable_doc" >&6; }
if test "x$enable_doc" = xyes
then :
  ENABLE_DOC=1
else $as_nop
  ENABLE_DOC=0
fi



{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build Lustre manpages" >&5
printf %s "checking whether to build Lustre manpages... " >&6; }
# Check whether --enable-manpages was given.
if test ${enable_manpages+y}
then :
  enableval=$enable_manpages;
else $as_nop
  enable_manpages="yes"
fi

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_manpages" >&5
printf "%s\n" "$enable_manpages" >&6; }


{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build Lustre utilities" >&5
printf %s "checking whether to build Lustre utilities... " >&6; }
# Check whether --enable-utils was given.
if test ${enable_utils+y}
then :
  enableval=$enable_utils;
else $as_nop
  enable_utils="yes"
fi

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_utils" >&5
printf "%s\n" "$enable_utils" >&6; }


{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build Lustre tests" >&5
printf %s "checking whether to build Lustre tests... " >&6; }
# Check whether --enable-tests was given.
if test ${enable_tests+y}
then :
  enableval=$enable_tests;
else $as_nop
  enable_tests="yes"
fi

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_tests" >&5
printf "%s\n" "$enable_tests" >&6; }



	#
	# Allow the use of a (user set) custom python version
	#
	#AC_ARG_VAR([PYTHON_VERSION],[The installed Python
	#	version to use, for example '2.3'. This string
	#	will be appended to the Python interpreter
	#	canonical name.])

	for ac_prog in python3 python
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_path_PYTHON+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  case $PYTHON in
  [\\/]* | ?:[\\/]*)
  ac_cv_path_PYTHON="$PYTHON" # 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_PYTHON="$as_dir$ac_word$ac_exec_ext"
    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
    break 2
  fi
done
  done
IFS=$as_save_IFS

  ;;
esac
fi
PYTHON=$ac_cv_path_PYTHON
if test -n "$PYTHON"; then
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5
printf "%s\n" "$PYTHON" >&6; }
else
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi


  test -n "$PYTHON" && break
done

	#AC_PATH_PROG([PYTHON],[python[$PYTHON_VERSION]])
	if test -z "$PYTHON"; then
	   #AC_MSG_ERROR([Cannot find python$PYTHON_VERSION in your system path])
	   { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find python in your system path" >&5
printf "%s\n" "$as_me: WARNING: Cannot find python in your system path" >&2;}
	   PYTHON_VERSION_CHECK="no"

	   PYTHON_VERSION=""
	fi

	PYTHON_VERSION_CHECK="yes"
	#
	# Check for a version of Python >= 2.1.0
	#
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a version of Python >= '3.6.0'" >&5
printf %s "checking for a version of Python >= '3.6.0'... " >&6; }
	ac_supports_python_ver=`$PYTHON -c "import sys; \
		ver = sys.version.split ()[0]; \
		print (ver >= '3.0')"`
	if test "$ac_supports_python_ver" != "True"; then
		if test -z "$PYTHON_NOVERSIONCHECK"; then
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
			PYTHON_VERSION_CHECK="no"

			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING:
This version of the AC_PYTHON_DEVEL macro
doesn't work properly with versions of Python before
3.6.0. You may need to re-run configure, setting the
variables PYTHON_CPPFLAGS, PYTHON_LIBS, PYTHON_SITE_PKG,
PYTHON_EXTRA_LIBS and PYTHON_EXTRA_LDFLAGS by hand.
Moreover, to disable this check, set PYTHON_NOVERSIONCHECK
to something else than an empty string.
" >&5
printf "%s\n" "$as_me: WARNING:
This version of the AC_PYTHON_DEVEL macro
doesn't work properly with versions of Python before
3.6.0. You may need to re-run configure, setting the
variables PYTHON_CPPFLAGS, PYTHON_LIBS, PYTHON_SITE_PKG,
PYTHON_EXTRA_LIBS and PYTHON_EXTRA_LDFLAGS by hand.
Moreover, to disable this check, set PYTHON_NOVERSIONCHECK
to something else than an empty string.
" >&2;}
		else
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: skip at user request" >&5
printf "%s\n" "skip at user request" >&6; }
		fi
	else
		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
	fi

	#
	# if the macro parameter ``version'' is set, honour it
	#
	if test -n "" ; then
		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a version of Python " >&5
printf %s "checking for a version of Python ... " >&6; }
		ac_supports_python_ver=`$PYTHON -c "import sys; \
			ver = sys.version.split ()[0]; \
			print (ver )"`
		if test "$ac_supports_python_ver" = "True"; 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; }
			PYTHON_VERSION_CHECK="no"

			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: this package requires Python .
If you have it installed, but it isn't the default Python
interpreter in your system path, please pass the PYTHON_VERSION
variable to configure. See \`\`configure --help'' for reference.
" >&5
printf "%s\n" "$as_me: WARNING: this package requires Python .
If you have it installed, but it isn't the default Python
interpreter in your system path, please pass the PYTHON_VERSION
variable to configure. See \`\`configure --help'' for reference.
" >&2;}
			PYTHON_VERSION=""
		fi
	fi

	#
	# Check if you have distutils, else fail
	#
	if test "yes" = "$PYTHON_VERSION_CHECK" ; then
		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for the distutils Python package" >&5
printf %s "checking for the distutils Python package... " >&6; }
		ac_distutils_result=`$PYTHON -c "import distutils" 2>&1`
		if test $? -eq 0; 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; }
			PYTHON_VERSION_CHECK="no"

			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cannot import Python module \"distutils\".
	Please check your Python installation. The error was:
	$ac_distutils_result" >&5
printf "%s\n" "$as_me: WARNING: cannot import Python module \"distutils\".
	Please check your Python installation. The error was:
	$ac_distutils_result" >&2;}
			PYTHON_VERSION=""
		fi

		#
		# Check for Python include path
		#
		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Python include path" >&5
printf %s "checking for Python include path... " >&6; }
		if test -z "$PYTHON_CPPFLAGS"; then
			python_path=`$PYTHON -c "import distutils.sysconfig; \
				print (distutils.sysconfig.get_python_inc ());"`
			plat_python_path=`$PYTHON -c "import distutils.sysconfig; \
				print (distutils.sysconfig.get_python_inc (plat_specific=1));"`
			if test -n "${python_path}"; then
				if test "${plat_python_path}" != "${python_path}"; then
					python_path="-I$python_path -I$plat_python_path"
				else
					python_path="-I$python_path"
				fi
			fi
			PYTHON_CPPFLAGS=$python_path
		fi
		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_CPPFLAGS" >&5
printf "%s\n" "$PYTHON_CPPFLAGS" >&6; }


		#
		# Check for Python library path
		#
		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Python library path" >&5
printf %s "checking for Python library path... " >&6; }
		if test -z "$PYTHON_LIBS"; then
			# (makes two attempts to ensure we've got a version number
			# from the interpreter)
			ac_python_version=`cat<<EOD | $PYTHON -

# join all versioning strings, on some systems
# major/minor numbers could be in different list elements
from distutils.sysconfig import *
e = get_config_var('VERSION')
if e is not None:
	print(e)
EOD`

			if test -z "$ac_python_version"; then
				if test -n "$PYTHON_VERSION"; then
					ac_python_version=$PYTHON_VERSION
				else
					ac_python_version=`$PYTHON -c "import sys; \
						print (sys.version[:3])"`
				fi
			fi

			# Make the versioning information available to the compiler

printf "%s\n" "#define HAVE_PYTHON \"$ac_python_version\"" >>confdefs.h


			# First, the library directory:
			ac_python_libdir=`cat<<EOD | $PYTHON -

# There should be only one
import distutils.sysconfig
e = distutils.sysconfig.get_config_var('LIBDIR')
if e is not None:
	print (e)
EOD`

			# Now, for the library:
			ac_python_library=`cat<<EOD | $PYTHON -

import distutils.sysconfig
c = distutils.sysconfig.get_config_vars()
if 'LDVERSION' in c:
	print ('python'+c['LDVERSION'])
else:
	print ('python'+c['VERSION'])
EOD`

			# This small piece shamelessly adapted from PostgreSQL python macro;
			# credits goes to momjian, I think. I'd like to put the right name
			# in the credits, if someone can point me in the right direction... ?
			#
			if test -n "$ac_python_libdir" -a -n "$ac_python_library"
			then
				# use the official shared library
				ac_python_library=`echo "$ac_python_library" | sed "s/^lib//"`
				PYTHON_LIBS="-L$ac_python_libdir -l$ac_python_library"
			else
				# old way: use libpython from python_configdir
				ac_python_libdir=`$PYTHON -c \
				"from distutils.sysconfig import get_python_lib as f; \
				import os; \
				print (os.path.join(f(plat_specific=1, standard_lib=1), 'config'));"`
				PYTHON_LIBS="-L$ac_python_libdir -lpython$ac_python_version"
			fi

			if test -z "PYTHON_LIBS"; then
				PYTHON_VERSION_CHECK="no"

				{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING:
	Cannot determine location of your Python DSO. Please check it was installed with
	dynamic libraries enabled, or try setting PYTHON_LIBS by hand.
				" >&5
printf "%s\n" "$as_me: WARNING:
	Cannot determine location of your Python DSO. Please check it was installed with
	dynamic libraries enabled, or try setting PYTHON_LIBS by hand.
				" >&2;}
			fi
		fi
		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_LIBS" >&5
printf "%s\n" "$PYTHON_LIBS" >&6; }


		#
		# Check for site packages
		#
		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Python site-packages path" >&5
printf %s "checking for Python site-packages path... " >&6; }
		if test -z "$PYTHON_SITE_PKG"; then
			PYTHON_SITE_PKG=`$PYTHON -c "import distutils.sysconfig; \
				print (distutils.sysconfig.get_python_lib(0,0));"`
		fi
		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_SITE_PKG" >&5
printf "%s\n" "$PYTHON_SITE_PKG" >&6; }


		#
		# libraries which must be linked in when embedding
		#
		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking python extra libraries" >&5
printf %s "checking python extra libraries... " >&6; }
		if test -z "$PYTHON_EXTRA_LIBS"; then
		PYTHON_EXTRA_LIBS=`$PYTHON -c "import distutils.sysconfig; \
			conf = distutils.sysconfig.get_config_var; \
			print (conf('LIBS') + ' ' + conf('SYSLIBS'))"`
		fi
		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_EXTRA_LIBS" >&5
printf "%s\n" "$PYTHON_EXTRA_LIBS" >&6; }


		#
		# linking flags needed when embedding
		#
		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking python extra linking flags" >&5
printf %s "checking python extra linking flags... " >&6; }
		if test -z "$PYTHON_EXTRA_LDFLAGS"; then
			PYTHON_EXTRA_LDFLAGS=`$PYTHON -c "import distutils.sysconfig; \
				conf = distutils.sysconfig.get_config_var; \
				print (conf('LINKFORSHARED'))"`
		fi
		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_EXTRA_LDFLAGS" >&5
printf "%s\n" "$PYTHON_EXTRA_LDFLAGS" >&6; }


		#
		# final check to see if everything compiles alright
		#
		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking consistency of all components of python development environment" >&5
printf %s "checking consistency of all components of python development environment... " >&6; }
		# save current global flags
		ac_save_LIBS="$LIBS"
		ac_save_LDFLAGS="$LDFLAGS"
		ac_save_CPPFLAGS="$CPPFLAGS"
		LIBS="$ac_save_LIBS $PYTHON_LIBS $PYTHON_EXTRA_LIBS $PYTHON_EXTRA_LIBS"
		LDFLAGS="$ac_save_LDFLAGS $PYTHON_EXTRA_LDFLAGS"
		CPPFLAGS="$ac_save_CPPFLAGS $PYTHON_CPPFLAGS"
		ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu

		cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

			#include <Python.h>
int
main (void)
{
Py_Initialize();
  ;
  return 0;
}

_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
  pythonexists=yes
else $as_nop
  pythonexists=no
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

		# turn back to default flags
		CPPFLAGS="$ac_save_CPPFLAGS"
		LIBS="$ac_save_LIBS"
		LDFLAGS="$ac_save_LDFLAGS"

		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $pythonexists" >&5
printf "%s\n" "$pythonexists" >&6; }

		if test ! "x$pythonexists" = "xyes"; then
		PYTHON_VERSION_CHECK="no"

		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING:
	Could not link test program to Python. Maybe the main Python library has been
	installed in some non-standard library path. If so, pass it to configure,
	via the LIBS environment variable.
	Example: ./configure LIBS=\"-L/usr/non-standard-path/python/lib\"
	============================================================================
	ERROR!
	You probably have to install the development version of the Python package
	for your distribution.  The exact name of this package varies among them.
	============================================================================
		" >&5
printf "%s\n" "$as_me: WARNING:
	Could not link test program to Python. Maybe the main Python library has been
	installed in some non-standard library path. If so, pass it to configure,
	via the LIBS environment variable.
	Example: ./configure LIBS=\"-L/usr/non-standard-path/python/lib\"
	============================================================================
	ERROR!
	You probably have to install the development version of the Python package
	for your distribution.  The exact name of this package varies among them.
	============================================================================
		" >&2;}
		PYTHON_VERSION=""
		fi
	fi
	#
	# all done!
	#

if test "x$enable_dist" != xno
then :

	enable_lutf="yes"

else $as_nop

  if test "x$PYTHON_VERSION_CHECK" = xno
then :

	enable_lutf="no"

else $as_nop


        # Find path to the "swig" executable.
        for ac_prog in swig swig3.0 swig2.0
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_path_SWIG+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  case $SWIG in
  [\\/]* | ?:[\\/]*)
  ac_cv_path_SWIG="$SWIG" # 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_SWIG="$as_dir$ac_word$ac_exec_ext"
    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
    break 2
  fi
done
  done
IFS=$as_save_IFS

  ;;
esac
fi
SWIG=$ac_cv_path_SWIG
if test -n "$SWIG"; then
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $SWIG" >&5
printf "%s\n" "$SWIG" >&6; }
else
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi


  test -n "$SWIG" && break
done

        if test -z "$SWIG" ; then
                 enable_lutf="no"
        elif test -n "2.0" ; then
                { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking SWIG version" >&5
printf %s "checking SWIG version... " >&6; }
                swig_version=`$SWIG -version 2>&1 | grep 'SWIG Version' | sed 's/.*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*/\1/g'`
                { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $swig_version" >&5
printf "%s\n" "$swig_version" >&6; }
                if test -n "$swig_version" ; then
                        # Calculate the required version number components
                        required=2.0
                        required_major=`echo $required | sed 's/[^0-9].*//'`
                        if test -z "$required_major" ; then
                                required_major=0
                        fi
                        required=`echo $required | sed 's/[0-9]*[^0-9]//'`
                        required_minor=`echo $required | sed 's/[^0-9].*//'`
                        if test -z "$required_minor" ; then
                                required_minor=0
                        fi
                        required=`echo $required | sed 's/[0-9]*[^0-9]//'`
                        required_patch=`echo $required | sed 's/[^0-9].*//'`
                        if test -z "$required_patch" ; then
                                required_patch=0
                        fi
                        # Calculate the available version number components
                        available=$swig_version
                        available_major=`echo $available | sed 's/[^0-9].*//'`
                        if test -z "$available_major" ; then
                                available_major=0
                        fi
                        available=`echo $available | sed 's/[0-9]*[^0-9]//'`
                        available_minor=`echo $available | sed 's/[^0-9].*//'`
                        if test -z "$available_minor" ; then
                                available_minor=0
                        fi
                        available=`echo $available | sed 's/[0-9]*[^0-9]//'`
                        available_patch=`echo $available | sed 's/[^0-9].*//'`
                        if test -z "$available_patch" ; then
                                available_patch=0
                        fi
                        # Convert the version tuple into a single number for easier comparison.
                        # Using base 100 should be safe since SWIG internally uses BCD values
                        # to encode its version number.
                        required_swig_vernum=`expr $required_major \* 10000 \
                            \+ $required_minor \* 100 \+ $required_patch`
                        available_swig_vernum=`expr $available_major \* 10000 \
                            \+ $available_minor \* 100 \+ $available_patch`

                        if test $available_swig_vernum -lt $required_swig_vernum; then
                                { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: SWIG version >= 2.0 is required.  You have $swig_version." >&5
printf "%s\n" "$as_me: WARNING: SWIG version >= 2.0 is required.  You have $swig_version." >&2;}
                                SWIG=''
                                 enable_lutf="no"
                        else
                                { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for SWIG library" >&5
printf %s "checking for SWIG library... " >&6; }
                                SWIG_LIB=`$SWIG -swiglib`
                                { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $SWIG_LIB" >&5
printf "%s\n" "$SWIG_LIB" >&6; }
                                 enable_lutf="yes"
                        fi
                else
                        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cannot determine SWIG version" >&5
printf "%s\n" "$as_me: WARNING: cannot determine SWIG version" >&2;}
                        SWIG=''
                         enable_lutf="no"
                fi
        fi



fi

fi
# Check whether --enable-lutf was given.
if test ${enable_lutf+y}
then :
  enableval=$enable_lutf;
else $as_nop
  enable_lutf="yes"
fi

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build LUTF (LNet Unit Test Framework)" >&5
printf %s "checking whether to build LUTF (LNet Unit Test Framework)... " >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_lutf" >&5
printf "%s\n" "$enable_lutf" >&6; }


{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build Lustre client support" >&5
printf %s "checking whether to build Lustre client support... " >&6; }
# Check whether --enable-client was given.
if test ${enable_client+y}
then :
  enableval=$enable_client;
else $as_nop
  enable_client="yes"
fi

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_client" >&5
printf "%s\n" "$enable_client" >&6; }


# Check whether --enable-mpitests was given.
if test ${enable_mpitests+y}
then :
  enableval=$enable_mpitests;
		enable_mpitests="yes"
		case $enableval in
		yes)
			MPICC_WRAPPER="mpicc"
			MPI_BIN=$(eval which $MPICC_WRAPPER | xargs dirname)
			;;
		no)
			enable_mpitests="no"
			MPI_BIN=""
			;;
		*)
			MPICC_WRAPPER=$enableval
			MPI_BIN=$(eval echo $MPICC_WRAPPER | xargs dirname)
			;;
		esac

else $as_nop

		enable_mpitests="yes"
		MPICC_WRAPPER="mpicc"
		MPI_BIN=$(eval which $MPICC_WRAPPER | xargs dirname)

fi


	if test "x$enable_mpitests" != "xno"; then
		oldcc=$CC
		CC=$MPICC_WRAPPER
		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether mpitests can be built" >&5
printf %s "checking whether mpitests can be built... " >&6; }
if test ${lb_cv_mpi_tests+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

			#include <mpi.h>
			int main(void) {
				int flag;
				MPI_Initialized(&flag);
				return 0;
			}

_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
  lb_cv_mpi_tests="yes"
else $as_nop
  lb_cv_mpi_tests="no"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext

fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_mpi_tests" >&5
printf "%s\n" "$lb_cv_mpi_tests" >&6; }
		enable_mpitests=$lb_cv_mpi_tests
		CC=$oldcc
	fi




# Check whether --enable-server was given.
if test ${enable_server+y}
then :
  enableval=$enable_server;
		if test x$enable_server != xyes -a x$enable_server != xno
then :
  as_fn_error $? "server valid options are \"yes\" or \"no\"" "$LINENO" 5
fi
		if test x$enable_server = xyes -a x$enable_dist = xyes
then :
  as_fn_error $? "--enable-server cannot be used with --enable-dist" "$LINENO" 5
fi

else $as_nop

		if test x$enable_dist = xyes
then :
  enable_server=no
else $as_nop
  enable_server=maybe
fi

fi


# There are at least two good reasons why we should really run
# LB_CONFIG_MODULES elsewhere before the call to LB_CONFIG_SERVERS:
# LB_CONFIG_MODULES needs to be run for client support even when
# servers are disabled, and because module support is actually a
# prerequisite of server support.  However, some things under
# LB_CONFIG_MODULES need us to already have checked for --disable-server,
# before running, so until LB_CONFIG_MODULES can be reorganized, we
# call it here.

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build Linux kernel modules" >&5
printf %s "checking whether to build Linux kernel modules... " >&6; }
# Check whether --enable-modules was given.
if test ${enable_modules+y}
then :
  enableval=$enable_modules;
printf "%s\n" "#define HAVE_NATIVE_LINUX_CLIENT 1" >>confdefs.h

else $as_nop


case $target_os in
	linux*)
enable_modules="yes"
		;;
	*)
enable_modules="no"
		;;
esac


fi

	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_modules ($target_os)" >&5
printf "%s\n" "$enable_modules ($target_os)" >&6; }
	if test "x$enable_modules" = xyes
then :

		if test "x$FLEX" = "x"
then :
  as_fn_error $? "flex package is required to build kernel modules" "$LINENO" 5
fi
		if test "x$BISON" = "x"
then :
  as_fn_error $? "bison package is required to build kernel modules" "$LINENO" 5
fi
	case $target_os in #(
  linux*) :

			# Ensure SUBARCH is defined
			SUBARCH=$(echo $target_cpu | sed -e 's/powerpc.*/powerpc/' -e 's/ppc.*/powerpc/' -e 's/x86_64/x86/' -e 's/i.86/x86/' -e 's/k1om/x86/' -e 's/aarch64.*/arm64/' -e 's/armv7.*/arm/')


for DEFAULT_LINUX in /usr/src/linux-source-* /lib/modules/$(uname -r)/{source,build} /usr/src/linux* $(find /usr/src/kernels/ -maxdepth 1 -name [0-9]\* | xargs -r ls -d | tail -n 1); do
	if readlink -q -e $DEFAULT_LINUX >/dev/null
then :
  break
fi
done
if test "$DEFAULT_LINUX" = "/lib/modules/$(uname -r)/source"; then
	PATHS="/lib/modules/$(uname -r)/build"
else
	PATHS="/usr/src/linux-headers-$(uname -r)"
fi
PATHS+=" $DEFAULT_LINUX"
for DEFAULT_LINUX_OBJ in $PATHS; do
	if readlink -q -e $DEFAULT_LINUX_OBJ >/dev/null
then :
  break
fi
done

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Linux sources" >&5
printf %s "checking for Linux sources... " >&6; }

# Check whether --with-linux was given.
if test ${with_linux+y}
then :
  withval=$with_linux;

	LINUX=$(readlink -f $with_linux)

new_configure_args=
eval set -- $ac_configure_args
for arg; do
	case $arg in
		--with-linux=*)
			arg=--with-linux=$LINUX ;;
		*\'*)
			arg=$(printf %s\n "$arg" | sed "s/'/'\\\\\\\\''/g") ;;
	esac
		new_configure_args="$new_configure_args '$arg'"
done
ac_configure_args=$new_configure_args



	DEFAULT_LINUX_OBJ=$LINUX
else $as_nop
  LINUX=$DEFAULT_LINUX
fi

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LINUX" >&5
printf "%s\n" "$LINUX" >&6; }

# -------- check for linux --------

as_lb_file=`printf "%s\n" "lb_cv_file_$LINUX" | $as_tr_sh`
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $LINUX" >&5
printf %s "checking for $LINUX... " >&6; }
if eval test \${$as_lb_file+y}
then :
  printf %s "(cached) " >&6
else $as_nop

if test -r "$LINUX"
then :
  eval "$as_lb_file=yes"
else $as_nop
  eval "$as_lb_file=no"
fi

fi
eval ac_res=\$$as_lb_file
	       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
if eval test \"x\$"$as_lb_file"\" = x"yes"
then :

else $as_nop
  as_fn_error $? "Kernel source $LINUX could not be found." "$LINENO" 5
fi

# -------- linux objects (for 2.6) --
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Linux objects" >&5
printf %s "checking for Linux objects... " >&6; }

# Check whether --with-linux-obj was given.
if test ${with_linux_obj+y}
then :
  withval=$with_linux_obj;

	LINUX_OBJ=$(readlink -f $with_linux_obj)

new_configure_args=
eval set -- $ac_configure_args
for arg; do
	case $arg in
		--with-linux-obj=*)
			arg=--with-linux-obj=$LINUX_OBJ ;;
		*\'*)
			arg=$(printf %s\n "$arg" | sed "s/'/'\\\\\\\\''/g") ;;
	esac
		new_configure_args="$new_configure_args '$arg'"
done
ac_configure_args=$new_configure_args



else $as_nop
  LINUX_OBJ=$DEFAULT_LINUX_OBJ
fi

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LINUX_OBJ" >&5
printf "%s\n" "$LINUX_OBJ" >&6; }

if test ${LINUX} == ${LINUX_OBJ} -a ${LINUX} == $(realpath ${LINUX})
then :

	this_arch=$(realpath ${LINUX} | sed 's/-/\n/g' | tail -1)
	linux_headers_common=$(realpath ${LINUX}|sed "s/-${this_arch}\$/-common/g")
	if test "${this_arch}" != common
then :

		_cah="${linux_headers_common}/include/linux/compiler_attributes.h"
		_cgh="${linux_headers_common}/include/linux/compiler-gcc.h"
		if test -f "${_cah}" -o -f "${_cgh}"
then :

			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Setting LINUX to ${linux_headers_common} was ${LINUX}" >&5
printf "%s\n" "$as_me: WARNING: Setting LINUX to ${linux_headers_common} was ${LINUX}" >&2;}
			LINUX=${linux_headers_common}
fi

fi

fi


# -------- check for .config --------

# Check whether --with-linux-config was given.
if test ${with_linux_config+y}
then :
  withval=$with_linux_config;

	LINUX_CONFIG=$(readlink -f $with_linux_config)

new_configure_args=
eval set -- $ac_configure_args
for arg; do
	case $arg in
		--with-linux-config=*)
			arg=--with-linux-config=$LINUX_CONFIG ;;
		*\'*)
			arg=$(printf %s\n "$arg" | sed "s/'/'\\\\\\\\''/g") ;;
	esac
		new_configure_args="$new_configure_args '$arg'"
done
ac_configure_args=$new_configure_args



else $as_nop
  LINUX_CONFIG=$LINUX_OBJ/.config
fi


# -------- check if .config exists --

as_lb_file=`printf "%s\n" "lb_cv_file_$LINUX_CONFIG" | $as_tr_sh`
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $LINUX_CONFIG" >&5
printf %s "checking for $LINUX_CONFIG... " >&6; }
if eval test \${$as_lb_file+y}
then :
  printf %s "(cached) " >&6
else $as_nop

if test -r "$LINUX_CONFIG"
then :
  eval "$as_lb_file=yes"
else $as_nop
  eval "$as_lb_file=no"
fi

fi
eval ac_res=\$$as_lb_file
	       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
if eval test \"x\$"$as_lb_file"\" = x"yes"
then :

else $as_nop
  as_fn_error $? "

Kernel config could not be found.
" "$LINENO" 5

fi



{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for /boot/kernel.h" >&5
printf %s "checking for /boot/kernel.h... " >&6; }
if test ${lb_cv_file__boot_kernel_h+y}
then :
  printf %s "(cached) " >&6
else $as_nop

if test -r "/boot/kernel.h"
then :
  lb_cv_file__boot_kernel_h=yes
else $as_nop
  lb_cv_file__boot_kernel_h=no
fi

fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_file__boot_kernel_h" >&5
printf "%s\n" "$lb_cv_file__boot_kernel_h" >&6; }
if test "x$lb_cv_file__boot_kernel_h" = xyes
then :
  KERNEL_SOURCE_HEADER='/boot/kernel.h'
else $as_nop

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for /var/adm/running-kernel.h" >&5
printf %s "checking for /var/adm/running-kernel.h... " >&6; }
if test ${lb_cv_file__var_adm_running_kernel_h+y}
then :
  printf %s "(cached) " >&6
else $as_nop

if test -r "/var/adm/running-kernel.h"
then :
  lb_cv_file__var_adm_running_kernel_h=yes
else $as_nop
  lb_cv_file__var_adm_running_kernel_h=no
fi

fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_file__var_adm_running_kernel_h" >&5
printf "%s\n" "$lb_cv_file__var_adm_running_kernel_h" >&6; }
if test "x$lb_cv_file__var_adm_running_kernel_h" = xyes
then :
  KERNEL_SOURCE_HEADER='/var/adm/running-kernel.h'
fi
fi


# Check whether --with-kernel-source-header was given.
if test ${with_kernel_source_header+y}
then :
  withval=$with_kernel_source_header;

	KERNEL_SOURCE_HEADER=$(readlink -f $with_kernel_source_header)

new_configure_args=
eval set -- $ac_configure_args
for arg; do
	case $arg in
		--with-kernel-source-header=*)
			arg=--with-kernel-source-header=$KERNEL_SOURCE_HEADER ;;
		*\'*)
			arg=$(printf %s\n "$arg" | sed "s/'/'\\\\\\\\''/g") ;;
	esac
		new_configure_args="$new_configure_args '$arg'"
done
ac_configure_args=$new_configure_args



fi


# ----------- make dep run? ------------------
# at 2.6.19 # $LINUX/include/linux/config.h is removed
# and at more old has only one line include <autoconf.h>
#

as_lb_file=`printf "%s\n" "lb_cv_file_$LINUX_OBJ/include/generated/autoconf.h" | $as_tr_sh`
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $LINUX_OBJ/include/generated/autoconf.h" >&5
printf %s "checking for $LINUX_OBJ/include/generated/autoconf.h... " >&6; }
if eval test \${$as_lb_file+y}
then :
  printf %s "(cached) " >&6
else $as_nop

if test -r "$LINUX_OBJ/include/generated/autoconf.h"
then :
  eval "$as_lb_file=yes"
else $as_nop
  eval "$as_lb_file=no"
fi

fi
eval ac_res=\$$as_lb_file
	       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
if eval test \"x\$"$as_lb_file"\" = x"yes"
then :
  AUTOCONF_HDIR=generated
else $as_nop

as_lb_file=`printf "%s\n" "lb_cv_file_$LINUX_OBJ/include/linux/autoconf.h" | $as_tr_sh`
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $LINUX_OBJ/include/linux/autoconf.h" >&5
printf %s "checking for $LINUX_OBJ/include/linux/autoconf.h... " >&6; }
if eval test \${$as_lb_file+y}
then :
  printf %s "(cached) " >&6
else $as_nop

if test -r "$LINUX_OBJ/include/linux/autoconf.h"
then :
  eval "$as_lb_file=yes"
else $as_nop
  eval "$as_lb_file=no"
fi

fi
eval ac_res=\$$as_lb_file
	       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
if eval test \"x\$"$as_lb_file"\" = x"yes"
then :
  AUTOCONF_HDIR=linux
else $as_nop
  as_fn_error $? "Run make config in $LINUX." "$LINENO" 5
fi
fi



as_lb_file=`printf "%s\n" "lb_cv_file_$LINUX_OBJ/include/linux/version.h" | $as_tr_sh`
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $LINUX_OBJ/include/linux/version.h" >&5
printf %s "checking for $LINUX_OBJ/include/linux/version.h... " >&6; }
if eval test \${$as_lb_file+y}
then :
  printf %s "(cached) " >&6
else $as_nop

if test -r "$LINUX_OBJ/include/linux/version.h"
then :
  eval "$as_lb_file=yes"
else $as_nop
  eval "$as_lb_file=no"
fi

fi
eval ac_res=\$$as_lb_file
	       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
if eval test \"x\$"$as_lb_file"\" = x"yes"
then :
  VERSION_HDIR=linux
else $as_nop

as_lb_file=`printf "%s\n" "lb_cv_file_$LINUX_OBJ/include/generated/uapi/linux/version.h" | $as_tr_sh`
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $LINUX_OBJ/include/generated/uapi/linux/version.h" >&5
printf %s "checking for $LINUX_OBJ/include/generated/uapi/linux/version.h... " >&6; }
if eval test \${$as_lb_file+y}
then :
  printf %s "(cached) " >&6
else $as_nop

if test -r "$LINUX_OBJ/include/generated/uapi/linux/version.h"
then :
  eval "$as_lb_file=yes"
else $as_nop
  eval "$as_lb_file=no"
fi

fi
eval ac_res=\$$as_lb_file
	       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
if eval test \"x\$"$as_lb_file"\" = x"yes"
then :
  VERSION_HDIR=generated/uapi/linux
else $as_nop
  as_fn_error $? "Run make config in $LINUX." "$LINENO" 5
fi
fi


# ----------- kconfig.h exists ---------------
# kernel 3.1, $LINUX/include/linux/kconfig.h is added
# see kernel commit 2a11c8ea20bf850b3a2c60db8c2e7497d28aba99
#

as_lb_file=`printf "%s\n" "lb_cv_file_$LINUX/include/linux/kconfig.h" | $as_tr_sh`
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $LINUX/include/linux/kconfig.h" >&5
printf %s "checking for $LINUX/include/linux/kconfig.h... " >&6; }
if eval test \${$as_lb_file+y}
then :
  printf %s "(cached) " >&6
else $as_nop

if test -r "$LINUX/include/linux/kconfig.h"
then :
  eval "$as_lb_file=yes"
else $as_nop
  eval "$as_lb_file=no"
fi

fi
eval ac_res=\$$as_lb_file
	       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
if eval test \"x\$"$as_lb_file"\" = x"yes"
then :
  CONFIG_INCLUDE=$LINUX/include/linux/kconfig.h
else $as_nop
  CONFIG_INCLUDE=include/$AUTOCONF_HDIR/autoconf.h
fi


# ------------ rhconfig.h includes runtime-generated bits --
# RedHat kernel-source checks

# we know this exists after the check above.  if the user
# tarred up the tree and ran make dep etc. in it, then
# version.h gets overwritten with a standard linux one.

if grep rhconfig $LINUX_OBJ/include/$VERSION_HDIR/version.h >/dev/null
then :

	# This is a clean kernel-source tree, we need to
	# enable extensive workarounds to get this to build modules

as_lb_file=`printf "%s\n" "lb_cv_file_$KERNEL_SOURCE_HEADER" | $as_tr_sh`
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $KERNEL_SOURCE_HEADER" >&5
printf %s "checking for $KERNEL_SOURCE_HEADER... " >&6; }
if eval test \${$as_lb_file+y}
then :
  printf %s "(cached) " >&6
else $as_nop

if test -r "$KERNEL_SOURCE_HEADER"
then :
  eval "$as_lb_file=yes"
else $as_nop
  eval "$as_lb_file=no"
fi

fi
eval ac_res=\$$as_lb_file
	       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
if eval test \"x\$"$as_lb_file"\" = x"yes"
then :

		if test $KERNEL_SOURCE_HEADER = '/boot/kernel.h'
then :
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING:

Using /boot/kernel.h from RUNNING kernel.

If this is not what you want, use --with-kernel-source-header.
Consult build/README.kernel-source for details.
" >&5
printf "%s\n" "$as_me: WARNING:

Using /boot/kernel.h from RUNNING kernel.

If this is not what you want, use --with-kernel-source-header.
Consult build/README.kernel-source for details.
" >&2;}

fi
else $as_nop
  as_fn_error $? "

$KERNEL_SOURCE_HEADER not found.

Consult build/README.kernel-source for details.
" "$LINENO" 5

fi
	EXTRA_KCFLAGS="-include $KERNEL_SOURCE_HEADER $EXTRA_KCFLAGS"

fi

if test -n SUBARCH
then :
  SUBARCH=$(echo $target_cpu | sed -e 's/powerpc.*/powerpc/' -e 's/ppc.*/powerpc/' -e 's/x86_64/x86/' -e 's/i.86/x86/' -e 's/k1om/x86/' -e 's/aarch64.*/arm64/' -e 's/armv7.*/arm/')

fi

# this is needed before we can build modules

KMODEXT=".ko"


makerule="$PWD/build"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for external module build target" >&5
printf %s "checking for external module build target... " >&6; }
if test ${lb_cv_module_target+y}
then :
  printf %s "(cached) " >&6
else $as_nop

	lb_cv_module_target=""
	rm -f build/conftest.i
	MODULE_TARGET="M"
	makerule="$PWD/build"

cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


int
main (void)
{

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_ACEOF
rm -f build/conftest.o build/conftest.mod.c build/conftest.ko
if { ac_try='cp conftest.c build && make -d $makerule LUSTRE_KERNEL_TEST=conftest.i DEQUOTE_CC_VERSION_TEXT=$lb_cv_dequote_CC_VERSION_TEXT LDFLAGS= ${LD:+LD="$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_CHECK_INCLUDE -I$LINUX/arch/$SUBARCH/include -Iinclude -Iarch/$SUBARCH/include/generated -I$LINUX/include -Iinclude2 -I$LINUX/include/uapi -Iinclude/generated -I$LINUX/arch/$SUBARCH/include/uapi -Iarch/$SUBARCH/include/generated/uapi -I$LINUX/include/uapi -Iinclude/generated/uapi ${SPL_OBJ:+-include $SPL_OBJ/spl_config.h} ${ZFS_OBJ:+-include $ZFS_OBJ/zfs_config.h} ${SPL:+-I$SPL/include } ${ZFS:+-I$ZFS -I$ZFS/include -I$ZFS/include/os/linux/kernel -I$ZFS/include/os/linux/spl -I$ZFS/include/os/linux/zfs -I${SPL:-$ZFS/include/spl}} -include $CONFIG_INCLUDE" KBUILD_EXTRA_SYMBOLS="${ZFS_OBJ:+$ZFS_OBJ/Module.symvers} $KBUILD_EXTRA_SYMBOLS" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $MODULE_TARGET=$PWD/build'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.i'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }
then :
  lb_cv_module_target="M54"
else $as_nop
  printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5


	MODULE_TARGET="M"
	makerule="_module_$PWD/build"

cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


int
main (void)
{

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_ACEOF
rm -f build/conftest.o build/conftest.mod.c build/conftest.ko
if { ac_try='cp conftest.c build && make -d $makerule LUSTRE_KERNEL_TEST=conftest.i DEQUOTE_CC_VERSION_TEXT=$lb_cv_dequote_CC_VERSION_TEXT LDFLAGS= ${LD:+LD="$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_CHECK_INCLUDE -I$LINUX/arch/$SUBARCH/include -Iinclude -Iarch/$SUBARCH/include/generated -I$LINUX/include -Iinclude2 -I$LINUX/include/uapi -Iinclude/generated -I$LINUX/arch/$SUBARCH/include/uapi -Iarch/$SUBARCH/include/generated/uapi -I$LINUX/include/uapi -Iinclude/generated/uapi ${SPL_OBJ:+-include $SPL_OBJ/spl_config.h} ${ZFS_OBJ:+-include $ZFS_OBJ/zfs_config.h} ${SPL:+-I$SPL/include } ${ZFS:+-I$ZFS -I$ZFS/include -I$ZFS/include/os/linux/kernel -I$ZFS/include/os/linux/spl -I$ZFS/include/os/linux/zfs -I${SPL:-$ZFS/include/spl}} -include $CONFIG_INCLUDE" KBUILD_EXTRA_SYMBOLS="${ZFS_OBJ:+$ZFS_OBJ/Module.symvers} $KBUILD_EXTRA_SYMBOLS" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $MODULE_TARGET=$PWD/build'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.i'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }
then :
  lb_cv_module_target="M"
else $as_nop
  printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5


	MODULE_TARGET="M"
	makerule=""

cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


int
main (void)
{

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_ACEOF
rm -f build/conftest.o build/conftest.mod.c build/conftest.ko
if { ac_try='cp conftest.c build && make -d $makerule LUSTRE_KERNEL_TEST=conftest.i DEQUOTE_CC_VERSION_TEXT=$lb_cv_dequote_CC_VERSION_TEXT LDFLAGS= ${LD:+LD="$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_CHECK_INCLUDE -I$LINUX/arch/$SUBARCH/include -Iinclude -Iarch/$SUBARCH/include/generated -I$LINUX/include -Iinclude2 -I$LINUX/include/uapi -Iinclude/generated -I$LINUX/arch/$SUBARCH/include/uapi -Iarch/$SUBARCH/include/generated/uapi -I$LINUX/include/uapi -Iinclude/generated/uapi ${SPL_OBJ:+-include $SPL_OBJ/spl_config.h} ${ZFS_OBJ:+-include $ZFS_OBJ/zfs_config.h} ${SPL:+-I$SPL/include } ${ZFS:+-I$ZFS -I$ZFS/include -I$ZFS/include/os/linux/kernel -I$ZFS/include/os/linux/spl -I$ZFS/include/os/linux/zfs -I${SPL:-$ZFS/include/spl}} -include $CONFIG_INCLUDE" KBUILD_EXTRA_SYMBOLS="${ZFS_OBJ:+$ZFS_OBJ/Module.symvers} $KBUILD_EXTRA_SYMBOLS" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $MODULE_TARGET=$PWD/build'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.i'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }
then :
  lb_cv_module_target="M58"
else $as_nop
  printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5


	makerule=""
	lb_cv_dequote_CC_VERSION_TEXT=yes

cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


int
main (void)
{

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_ACEOF
rm -f build/conftest.o build/conftest.mod.c build/conftest.ko
if { ac_try='cp conftest.c build && make -d $makerule LUSTRE_KERNEL_TEST=conftest.i DEQUOTE_CC_VERSION_TEXT=$lb_cv_dequote_CC_VERSION_TEXT LDFLAGS= ${LD:+LD="$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_CHECK_INCLUDE -I$LINUX/arch/$SUBARCH/include -Iinclude -Iarch/$SUBARCH/include/generated -I$LINUX/include -Iinclude2 -I$LINUX/include/uapi -Iinclude/generated -I$LINUX/arch/$SUBARCH/include/uapi -Iarch/$SUBARCH/include/generated/uapi -I$LINUX/include/uapi -Iinclude/generated/uapi ${SPL_OBJ:+-include $SPL_OBJ/spl_config.h} ${ZFS_OBJ:+-include $ZFS_OBJ/zfs_config.h} ${SPL:+-I$SPL/include } ${ZFS:+-I$ZFS -I$ZFS/include -I$ZFS/include/os/linux/kernel -I$ZFS/include/os/linux/spl -I$ZFS/include/os/linux/zfs -I${SPL:-$ZFS/include/spl}} -include $CONFIG_INCLUDE" KBUILD_EXTRA_SYMBOLS="${ZFS_OBJ:+$ZFS_OBJ/Module.symvers} $KBUILD_EXTRA_SYMBOLS" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $MODULE_TARGET=$PWD/build'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.i'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }
then :
  lb_cv_module_target="M517"
else $as_nop
  printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5


			as_fn_error $? "kernel module make failed; check config.log for details" "$LINENO" 5

fi
rm -f build/conftest.o build/conftest.mod.c build/conftest.mod.o build/conftest.ko build/conftest.c conftest.c

fi
rm -f build/conftest.o build/conftest.mod.c build/conftest.mod.o build/conftest.ko build/conftest.c conftest.c

fi
rm -f build/conftest.o build/conftest.mod.c build/conftest.mod.o build/conftest.ko build/conftest.c conftest.c

fi
rm -f build/conftest.o build/conftest.mod.c build/conftest.mod.o build/conftest.ko build/conftest.c conftest.c


fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_module_target" >&5
printf "%s\n" "$lb_cv_module_target" >&6; }
# Linux commit v5.16-rc3-26-g129ab0d2d9f3
#  added quotes around "$(CONFIG_CC_VERSION_TEXT)", however .config stores
#  CONFIG_CC_VERSION_TEXT with quotes thus breaking the GNU make Makefile
#  for external modules.
#  Workaround by providing a non-quoted value to override the value in .config
unset lb_cv_dequote_CC_VERSION_TEXT
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for compiler version text" >&5
printf %s "checking for compiler version text... " >&6; }
if test ${lb_cv_dequote_CC_VERSION_TEXT+y}
then :
  printf %s "(cached) " >&6
else $as_nop

	if test "x$lb_cv_module_target" = "xM517"
then :
  lb_cv_dequote_CC_VERSION_TEXT=yes
else $as_nop
  lb_cv_dequote_CC_VERSION_TEXT=yes
fi

fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_dequote_CC_VERSION_TEXT" >&5
printf "%s\n" "$lb_cv_dequote_CC_VERSION_TEXT" >&6; }
if test -z "$lb_cv_module_target"
then :
  as_fn_error $? "unknown external module build target" "$LINENO" 5
elif test "x$lb_cv_module_target" = "xM54"
then :
  makerule="$PWD/build"
	lb_cv_module_target="M"
elif test "x$lb_cv_module_target" = "xM58"
then :
  makerule=""
	lb_cv_module_target="M"
elif test "x$lb_cv_module_target" = "xM517"
then :
  makerule=""
	lb_cv_module_target="M"
elif test "x$lb_cv_module_target" = "xM"
then :
  makerule="_module_$PWD/build"
fi
MODULE_TARGET=$lb_cv_module_target



# --- Parallel config for kernel v5.17+
if test "x$lb_cv_dequote_CC_VERSION_TEXT" = "xyes"
then :

	CC_VERSION_TEXT=$($CC --version | head -n1 | tr ' ()' '.')
	MAKE_KMOD_ENV="CONFIG_CC_VERSION_TEXT='$CC_VERSION_TEXT'"
fi

# --- check that we can build modules at all

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking that modules can be built at all" >&5
printf %s "checking that modules can be built at all... " >&6; }
if test ${lb_cv_compile_build_modules+y}
then :
  printf %s "(cached) " >&6
else $as_nop


cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


int
main (void)
{

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_ACEOF
rm -f build/conftest.o build/conftest.mod.c build/conftest.ko
if { ac_try='cp conftest.c build && make -d modules DEQUOTE_CC_VERSION_TEXT=$lb_cv_dequote_CC_VERSION_TEXT LDFLAGS= ${LD:+LD="$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_CHECK_INCLUDE -I$LINUX/arch/$SUBARCH/include -Iinclude -Iarch/$SUBARCH/include/generated -I$LINUX/include -Iinclude2 -I$LINUX/include/uapi -Iinclude/generated -I$LINUX/arch/$SUBARCH/include/uapi -Iarch/$SUBARCH/include/generated/uapi -I$LINUX/include/uapi -Iinclude/generated/uapi ${SPL_OBJ:+-include $SPL_OBJ/spl_config.h} ${ZFS_OBJ:+-include $ZFS_OBJ/zfs_config.h} ${SPL:+-I$SPL/include } ${ZFS:+-I$ZFS -I$ZFS/include -I$ZFS/include/os/linux/kernel -I$ZFS/include/os/linux/spl -I$ZFS/include/os/linux/zfs -I${SPL:-$ZFS/include/spl}} -include $CONFIG_INCLUDE" KBUILD_EXTRA_SYMBOLS="${ZFS_OBJ:+$ZFS_OBJ/Module.symvers} $KBUILD_EXTRA_SYMBOLS" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $MODULE_TARGET=$PWD/build'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }
then :
  lb_cv_compile_build_modules=yes
else $as_nop
  printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

lb_cv_compile_build_modules=no
fi
rm -f build/conftest.o build/conftest.mod.c build/conftest.mod.o build/conftest.ko build/conftest.c conftest.c


fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_build_modules" >&5
printf "%s\n" "$lb_cv_compile_build_modules" >&6; }
if test "x$lb_cv_compile_build_modules" = xyes
then :

else $as_nop

	as_fn_error $? "

Kernel modules cannot be built. Consult config.log for details.

If you are trying to build with a kernel-source rpm,
consult build/README.kernel-source
" "$LINENO" 5

fi



{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Linux kernel utsrelease" >&5
printf %s "checking for Linux kernel utsrelease... " >&6; }
if test ${lb_cv_utsrelease+y}
then :
  printf %s "(cached) " >&6
else $as_nop

lb_cv_utsrelease=""
utsrelease1=$LINUX_OBJ/include/generated/utsrelease.h
utsrelease2=$LINUX_OBJ/include/linux/utsrelease.h
utsrelease3=$LINUX_OBJ/include/linux/version.h
if test -r $utsrelease1 && fgrep -q UTS_RELEASE $utsrelease1
then :
  utsrelease=$utsrelease1
elif test -r $utsrelease2 && fgrep -q UTS_RELEASE $utsrelease2
then :
  utsrelease=$utsrelease2
elif test -r $utsrelease3 && fgrep -q UTS_RELEASE $utsrelease3
then :
  utsrelease=$utsrelease3
fi
if test -n "$utsrelease"
then :
  lb_cv_utsrelease=$(awk -F \" '/ UTS_RELEASE / { print $2 }' $utsrelease)
else $as_nop
  as_fn_error $? "

Cannot find UTS_RELEASE definition.

This is often provided by the kernel-devel package.
" "$LINENO" 5

fi

fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_utsrelease" >&5
printf "%s\n" "$lb_cv_utsrelease" >&6; }
if test -z "$lb_cv_utsrelease"
then :
  as_fn_error $? "Cannot determine Linux kernel version." "$LINENO" 5
fi
LINUXRELEASE=$lb_cv_utsrelease



	# Define default states
	RHEL_KERNEL="no"
	SUSE_KERNEL="no"
	UBUNTU_KERNEL="no"
	DEBIAN_KERNEL="no"
	OPENEULER_KERNEL="no"
	# And if any of the above kernels has been detected yet
	KERNEL_FOUND="no"

	# Check for RedHat first (no need to check KERNEL_FOUND
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for RedHat kernel release number" >&5
printf %s "checking for RedHat kernel release number... " >&6; }
if test ${lb_cv_rhel_kernel_version+y}
then :
  printf %s "(cached) " >&6
else $as_nop

		lb_cv_rhel_kernel_version=""
		if fgrep -q RHEL_RELEASE $LINUX_OBJ/include/$VERSION_HDIR/version.h
then :

			lb_cv_rhel_kernel_version=$(awk '/ RHEL_MAJOR / { print $3 }' \
				$LINUX_OBJ/include/$VERSION_HDIR/version.h)$(awk \
				'/ RHEL_MINOR / { print $3 }' \
				$LINUX_OBJ/include/$VERSION_HDIR/version.h)

fi

fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_rhel_kernel_version" >&5
printf "%s\n" "$lb_cv_rhel_kernel_version" >&6; }
	if test -n "$lb_cv_rhel_kernel_version"
then :

		RHEL_KERNEL="yes"
		KERNEL_FOUND="yes"
		RHEL_RELEASE_NO=$lb_cv_rhel_kernel_version

fi

	# Check for SuSE
	if test "x$KERNEL_FOUND" = "xno"
then :



{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Linux kernel was built with CONFIG_SUSE_KERNEL" >&5
printf %s "checking if Linux kernel was built with CONFIG_SUSE_KERNEL... " >&6; }
if test ${lb_cv_compile_config_SUSE_KERNEL+y}
then :
  printf %s "(cached) " >&6
else $as_nop


cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


	#include <$AUTOCONF_HDIR/autoconf.h>

int
main (void)
{

	#ifndef CONFIG_SUSE_KERNEL
	#error CONFIG_SUSE_KERNEL not #defined
	#endif

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_ACEOF
rm -f build/conftest.o build/conftest.mod.c build/conftest.ko
if { ac_try='cp conftest.c build && make -d modules DEQUOTE_CC_VERSION_TEXT=$lb_cv_dequote_CC_VERSION_TEXT LDFLAGS= ${LD:+LD="$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_CHECK_INCLUDE -I$LINUX/arch/$SUBARCH/include -Iinclude -Iarch/$SUBARCH/include/generated -I$LINUX/include -Iinclude2 -I$LINUX/include/uapi -Iinclude/generated -I$LINUX/arch/$SUBARCH/include/uapi -Iarch/$SUBARCH/include/generated/uapi -I$LINUX/include/uapi -Iinclude/generated/uapi ${SPL_OBJ:+-include $SPL_OBJ/spl_config.h} ${ZFS_OBJ:+-include $ZFS_OBJ/zfs_config.h} ${SPL:+-I$SPL/include } ${ZFS:+-I$ZFS -I$ZFS/include -I$ZFS/include/os/linux/kernel -I$ZFS/include/os/linux/spl -I$ZFS/include/os/linux/zfs -I${SPL:-$ZFS/include/spl}} -include $CONFIG_INCLUDE" KBUILD_EXTRA_SYMBOLS="${ZFS_OBJ:+$ZFS_OBJ/Module.symvers} $KBUILD_EXTRA_SYMBOLS" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $MODULE_TARGET=$PWD/build'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }
then :
  lb_cv_compile_config_SUSE_KERNEL=yes
else $as_nop
  printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

lb_cv_compile_config_SUSE_KERNEL=no
fi
rm -f build/conftest.o build/conftest.mod.c build/conftest.mod.o build/conftest.ko build/conftest.c conftest.c


fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_config_SUSE_KERNEL" >&5
printf "%s\n" "$lb_cv_compile_config_SUSE_KERNEL" >&6; }
if test "x$lb_cv_compile_config_SUSE_KERNEL" = xyes
then :

			SUSE_KERNEL="yes"
			KERNEL_FOUND="yes"

fi


fi

	# Check for Ubuntu
	if test "x$KERNEL_FOUND" = "xno"
then :

		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Ubuntu kernel signature" >&5
printf %s "checking for Ubuntu kernel signature... " >&6; }
if test ${lb_cv_ubuntu_kernel_sig+y}
then :
  printf %s "(cached) " >&6
else $as_nop

			lb_cv_ubuntu_kernel_sig="no"
			if fgrep -q "CONFIG_VERSION_SIGNATURE \"Ubuntu" $LINUX_OBJ/include/generated/autoconf.h
then :

				lb_cv_ubuntu_kernel_sig="yes"

fi

fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_ubuntu_kernel_sig" >&5
printf "%s\n" "$lb_cv_ubuntu_kernel_sig" >&6; }
		if test "x$lb_cv_ubuntu_kernel_sig" = "xyes"
then :

			UBUNTU_KERNEL="yes"
			KERNEL_FOUND="yes"

fi

fi

	if test "x$KERNEL_FOUND" = "xno"
then :

		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Debian kernel signature" >&5
printf %s "checking for Debian kernel signature... " >&6; }
if test ${lb_cv_debian_kernel_sig+y}
then :
  printf %s "(cached) " >&6
else $as_nop

			lb_cv_debian_kernel_sig="no"
			if grep -q "LINUX_PACKAGE_ID\s*\"\s*Debian" $LINUX_OBJ/include/generated/package.h
then :

				lb_cv_debian_kernel_sig="yes"

fi

fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_debian_kernel_sig" >&5
printf "%s\n" "$lb_cv_debian_kernel_sig" >&6; }
		if test "x$lb_cv_debian_kernel_sig" = "xyes"
then :

			DEBIAN_KERNEL="yes"
			KERNEL_FOUND="yes"

fi

fi

	# Check for a ELRepo -ml kernel on RHEL 7/8
	if test "x$KERNEL_FOUND" = "xno"
then :

		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ELRepo -ml kernel signature on CentOS" >&5
printf %s "checking for ELRepo -ml kernel signature on CentOS... " >&6; }
if test ${lb_cv_mainline_kernel_sig+y}
then :
  printf %s "(cached) " >&6
else $as_nop

			lb_cv_mainline_kernel_sig="no"
			if fgrep -q '.el7.' $LINUX_OBJ/include/generated/utsrelease.h
then :

				lb_cv_mainline_kernel_sig="yes"

fi
			if fgrep -q '.el8.' $LINUX_OBJ/include/generated/utsrelease.h
then :

				lb_cv_mainline_kernel_sig="yes"

fi
			if fgrep -q '.el9.' $LINUX_OBJ/include/generated/utsrelease.h
then :

				lb_cv_mainline_kernel_sig="yes"

fi

fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_mainline_kernel_sig" >&5
printf "%s\n" "$lb_cv_mainline_kernel_sig" >&6; }
		if test "x$lb_cv_mainline_kernel_sig" = "xyes"
then :

			RHEL_KERNEL="yes"
			KERNEL_FOUND="yes"

fi

fi

	# Check for openEuler
	if test "x$KERNEL_FOUND" = "xno"
then :

		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for openEuler kernel version number" >&5
printf %s "checking for openEuler kernel version number... " >&6; }
if test ${lb_cv_openeuler_kernel_version+y}
then :
  printf %s "(cached) " >&6
else $as_nop

			lb_cv_openeuler_kernel_version=""
			if fgrep -q OPENEULER_VERSION $LINUX_OBJ/include/$VERSION_HDIR/version.h
then :

				lb_cv_openeuler_kernel_version=$(awk '/ OPENEULER_MAJOR / { print $3 }' \
					$LINUX_OBJ/include/$VERSION_HDIR/version.h).$(awk \
					'/ OPENEULER_MINOR / { print $3 }' \
					$LINUX_OBJ/include/$VERSION_HDIR/version.h)

fi

fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_openeuler_kernel_version" >&5
printf "%s\n" "$lb_cv_openeuler_kernel_version" >&6; }
		if test -n "$lb_cv_openeuler_kernel_version"
then :

			OPENEULER_KERNEL="yes"
			KERNEL_FOUND="yes"
			OPENEULER_VERSION_NO=$lb_cv_openeuler_kernel_version

fi

fi

	# Check for Azure Linux
	if test "x$KERNEL_FOUND" = "xno"
then :

		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Azure Linux kernel signature" >&5
printf %s "checking for Azure Linux kernel signature... " >&6; }
if test ${lb_cv_azurelinux_kernel_sig+y}
then :
  printf %s "(cached) " >&6
else $as_nop

			lb_cv_azurelinux_kernel_sig="no"
			if fgrep -q '.azl' $LINUX_OBJ/include/generated/utsrelease.h
then :

				lb_cv_azurelinux_kernel_sig="yes"

fi

fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_azurelinux_kernel_sig" >&5
printf "%s\n" "$lb_cv_azurelinux_kernel_sig" >&6; }
		if test "x$lb_cv_azurelinux_kernel_sig" = "xyes"
then :

			AZURELINUX_KERNEL="yes"
			KERNEL_FOUND="yes"

fi

fi

	# If still no kernel was found, a warning is issued
	if test "x$KERNEL_FOUND" = "xno"
then :

		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Kernel Distro seems to be neither RedHat, SuSE, openEuler, AzureLinux, Ubuntu nor Debian" >&5
printf "%s\n" "$as_me: WARNING: Kernel Distro seems to be neither RedHat, SuSE, openEuler, AzureLinux, Ubuntu nor Debian" >&2;}

fi

	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Linux kernel module package directory" >&5
printf %s "checking for Linux kernel module package directory... " >&6; }

# Check whether --with-kmp-moddir was given.
if test ${with_kmp_moddir+y}
then :
  withval=$with_kmp_moddir; KMP_MODDIR=$withval
		 IN_KERNEL=''
else $as_nop

		if test x$RHEL_KERNEL = xyes
then :
  KMP_MODDIR="extra/kernel"
elif test x$AZURELINUX_KERNEL = xyes
then :
  KMP_MODDIR="extra/kernel"
elif test x$OPENEULER_KERNEL = xyes
then :
  KMP_MODDIR="extra/kernel"
elif test x$SUSE_KERNEL = xyes
then :
  KMP_MODDIR="updates/kernel"
elif test x$UBUNTU_KERNEL = xyes
then :
  KMP_MODDIR="updates/kernel"
elif test x$DEBIAN_KERNEL = xyes
then :
  KMP_MODDIR="updates/kernel"
else $as_nop
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Kernel Distro seems to be neither RedHat, SuSE, openEuler, AzureLinux, Ubuntu nor Debian" >&5
printf "%s\n" "$as_me: WARNING: Kernel Distro seems to be neither RedHat, SuSE, openEuler, AzureLinux, Ubuntu nor Debian" >&2;}

fi
		IN_KERNEL="${PACKAGE}"
fi

	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $KMP_MODDIR" >&5
printf "%s\n" "$KMP_MODDIR" >&6; }

	moduledir="/lib/modules/${LINUXRELEASE}/${KMP_MODDIR}"

	modulefsdir="${moduledir}/fs/${IN_KERNEL}"


	modulenetdir="${moduledir}/net/${IN_KERNEL}"






{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for the name of module symbol version file" >&5
printf %s "checking for the name of module symbol version file... " >&6; }
if test ${lb_cv_module_symvers+y}
then :
  printf %s "(cached) " >&6
else $as_nop

if grep -q Modules.symvers $LINUX/scripts/Makefile.modpost
then :
  lb_cv_module_symvers=Modules.symvers
else $as_nop
  lb_cv_module_symvers=Module.symvers
fi

fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_module_symvers" >&5
printf "%s\n" "$lb_cv_module_symvers" >&6; }
SYMVERFILE=$lb_cv_module_symvers


# 2.6.28

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Linux kernel module loading is possible" >&5
printf %s "checking if Linux kernel module loading is possible... " >&6; }
if test ${lb_cv_module_loading+y}
then :
  printf %s "(cached) " >&6
else $as_nop


cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


	#include <linux/kmod.h>

int
main (void)
{

	int myretval=ENOSYS ;
	return myretval;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_ACEOF
rm -f build/conftest.o build/conftest.mod.c build/conftest.ko
if { ac_try='cp conftest.c build && make -d
	$makerule LUSTRE_KERNEL_TEST=conftest.i
 DEQUOTE_CC_VERSION_TEXT=$lb_cv_dequote_CC_VERSION_TEXT LDFLAGS= ${LD:+LD="$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_CHECK_INCLUDE -I$LINUX/arch/$SUBARCH/include -Iinclude -Iarch/$SUBARCH/include/generated -I$LINUX/include -Iinclude2 -I$LINUX/include/uapi -Iinclude/generated -I$LINUX/arch/$SUBARCH/include/uapi -Iarch/$SUBARCH/include/generated/uapi -I$LINUX/include/uapi -Iinclude/generated/uapi ${SPL_OBJ:+-include $SPL_OBJ/spl_config.h} ${ZFS_OBJ:+-include $ZFS_OBJ/zfs_config.h} ${SPL:+-I$SPL/include } ${ZFS:+-I$ZFS -I$ZFS/include -I$ZFS/include/os/linux/kernel -I$ZFS/include/os/linux/spl -I$ZFS/include/os/linux/zfs -I${SPL:-$ZFS/include/spl}} -include $CONFIG_INCLUDE" KBUILD_EXTRA_SYMBOLS="${ZFS_OBJ:+$ZFS_OBJ/Module.symvers} $KBUILD_EXTRA_SYMBOLS" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $MODULE_TARGET=$PWD/build'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; } >/dev/null && { ac_try='	grep request_module build/conftest.i |		grep -v `grep "int myretval=" build/conftest.i |			cut -d= -f2 | cut -d" "  -f1`		>/dev/null '
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }
then :
  lb_cv_module_loading="yes"
else $as_nop
  printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

lb_cv_module_loading="no"
fi
rm -f build/conftest.o build/conftest.mod.c build/conftest.mod.o build/conftest.ko build/conftest.c conftest.c


fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_module_loading" >&5
printf "%s\n" "$lb_cv_module_loading" >&6; }
if test "$lb_cv_module_loading" = yes
then :

printf "%s\n" "#define HAVE_MODULE_LOADING_SUPPORT 1" >>confdefs.h

else $as_nop
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING:

Kernel module loading support is highly recommended.

" >&5
printf "%s\n" "$as_me: WARNING:

Kernel module loading support is highly recommended.

" >&2;}

fi

# 6.5

	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if lbug_with_loc is in objtool global_noreturns array" >&5
printf %s "checking if lbug_with_loc is in objtool global_noreturns array... " >&6; }
	if grep -q lbug_with_loc $LINUX_OBJ/tools/objtool/objtool
then :


printf "%s\n" "#define HAVE_LBUG_WITH_LOC_IN_OBJTOOL 1" >>confdefs.h

		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }

else $as_nop

		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }

fi


			if test "x$enable_server" != xno
then :

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking ext4 source directory" >&5
printf %s "checking ext4 source directory... " >&6; }
# Kernel ext source located with devel headers
linux_src=$LINUX
if test -e "$linux_src/fs/ext4/super.c"
then :

	EXT4_SRC_DIR="$linux_src/fs/ext4"

else $as_nop

	# Kernel ext source provided by kernel-debuginfo-common package
	# that extracted to $LINUX
	linux_src=$(ls -1d $linux_src/../../debug/*/linux-${LINUXRELEASE%.*}* \
		2>/dev/null | tail -1)
	if test -e "$linux_src/fs/ext4/super.c"
then :

		EXT4_SRC_DIR="$linux_src/fs/ext4"

else $as_nop

		# Kernel ext source provided by kernel-debuginfo-common package
		linux_src=$(ls -1d /usr/src/debug/*/linux-${LINUXRELEASE%.*}* \
			2>/dev/null | tail -1)
		if test -e "$linux_src/fs/ext4/super.c"
then :

			EXT4_SRC_DIR="$linux_src/fs/ext4"

else $as_nop

			EXT4_SRC_DIR=""

fi

fi

fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $EXT4_SRC_DIR" >&5
printf "%s\n" "$EXT4_SRC_DIR" >&6; }



enable_ldiskfs_build="no"
if test -n "$EXT4_SRC_DIR"
then :

	enable_ldiskfs_build="yes"

as_lb_file=`printf "%s\n" "lb_cv_file_$EXT4_SRC_DIR/dir.c" | $as_tr_sh`
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $EXT4_SRC_DIR/dir.c" >&5
printf %s "checking for $EXT4_SRC_DIR/dir.c... " >&6; }
if eval test \${$as_lb_file+y}
then :
  printf %s "(cached) " >&6
else $as_nop

if test -r "$EXT4_SRC_DIR/dir.c"
then :
  eval "$as_lb_file=yes"
else $as_nop
  eval "$as_lb_file=no"
fi

fi
eval ac_res=\$$as_lb_file
	       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
if eval test \"x\$"$as_lb_file"\" = x"yes"
then :

else $as_nop

		enable_ldiskfs_build="no"
		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ext4 must exist for ldiskfs build" >&5
printf "%s\n" "$as_me: WARNING: ext4 must exist for ldiskfs build" >&2;}

fi

as_lb_file=`printf "%s\n" "lb_cv_file_$EXT4_SRC_DIR/file.c" | $as_tr_sh`
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $EXT4_SRC_DIR/file.c" >&5
printf %s "checking for $EXT4_SRC_DIR/file.c... " >&6; }
if eval test \${$as_lb_file+y}
then :
  printf %s "(cached) " >&6
else $as_nop

if test -r "$EXT4_SRC_DIR/file.c"
then :
  eval "$as_lb_file=yes"
else $as_nop
  eval "$as_lb_file=no"
fi

fi
eval ac_res=\$$as_lb_file
	       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
if eval test \"x\$"$as_lb_file"\" = x"yes"
then :

else $as_nop

		enable_ldiskfs_build="no"
		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ext4 must exist for ldiskfs build" >&5
printf "%s\n" "$as_me: WARNING: ext4 must exist for ldiskfs build" >&2;}

fi

as_lb_file=`printf "%s\n" "lb_cv_file_$EXT4_SRC_DIR/inode.c" | $as_tr_sh`
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $EXT4_SRC_DIR/inode.c" >&5
printf %s "checking for $EXT4_SRC_DIR/inode.c... " >&6; }
if eval test \${$as_lb_file+y}
then :
  printf %s "(cached) " >&6
else $as_nop

if test -r "$EXT4_SRC_DIR/inode.c"
then :
  eval "$as_lb_file=yes"
else $as_nop
  eval "$as_lb_file=no"
fi

fi
eval ac_res=\$$as_lb_file
	       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
if eval test \"x\$"$as_lb_file"\" = x"yes"
then :

else $as_nop

		enable_ldiskfs_build="no"
		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ext4 must exist for ldiskfs build" >&5
printf "%s\n" "$as_me: WARNING: ext4 must exist for ldiskfs build" >&2;}

fi

as_lb_file=`printf "%s\n" "lb_cv_file_$EXT4_SRC_DIR/super.c" | $as_tr_sh`
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $EXT4_SRC_DIR/super.c" >&5
printf %s "checking for $EXT4_SRC_DIR/super.c... " >&6; }
if eval test \${$as_lb_file+y}
then :
  printf %s "(cached) " >&6
else $as_nop

if test -r "$EXT4_SRC_DIR/super.c"
then :
  eval "$as_lb_file=yes"
else $as_nop
  eval "$as_lb_file=no"
fi

fi
eval ac_res=\$$as_lb_file
	       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
if eval test \"x\$"$as_lb_file"\" = x"yes"
then :

else $as_nop

		enable_ldiskfs_build="no"
		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ext4 must exist for ldiskfs build" >&5
printf "%s\n" "$as_me: WARNING: ext4 must exist for ldiskfs build" >&2;}

fi

fi

if test "x$enable_ldiskfs_build" = xno
then :

	enable_ldiskfs="no"

	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING:

Disabling ldiskfs support because complete ext4 source does not exist.

If you are building using kernel-devel packages and require ldiskfs
server support then ensure that the matching kernel-debuginfo-common
and kernel-debuginfo-common-<arch> packages are installed.
" >&5
printf "%s\n" "$as_me: WARNING:

Disabling ldiskfs support because complete ext4 source does not exist.

If you are building using kernel-devel packages and require ldiskfs
server support then ensure that the matching kernel-debuginfo-common
and kernel-debuginfo-common-<arch> packages are installed.
" >&2;}

fi


fi
		 ;; #(
  *) :

			# This is strange - Lustre supports a target we don't
			as_fn_error $? "Modules are not supported on $target_os" "$LINENO" 5
	 ;; #(
  *) :
     ;;
esac

fi



if test x$enable_modules = xno
then :
  enable_server=no
fi

# --with-ldiskfs is deprecated now that ldiskfs is fully merged with lustre.
# However we continue to support this option through Lustre 2.5.

# Check whether --with-ldiskfs was given.
if test ${with_ldiskfs+y}
then :
  withval=$with_ldiskfs; { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: --with-ldiskfs is deprecated, please use --enable-ldiskfs" >&5
printf "%s\n" "$as_me: WARNING: --with-ldiskfs is deprecated, please use --enable-ldiskfs" >&2;}
	if test x$withval != xyes -a x$withval != xno
then :
  as_fn_error $? "

The ldiskfs option is deprecated,
and no longer supports paths to external ldiskfs source
" "$LINENO" 5
fi

fi


# Check whether --enable-ldiskfs was given.
if test ${enable_ldiskfs+y}
then :
  enableval=$enable_ldiskfs; if test x$enable_ldiskfs != xyes -a x$enable_ldiskfs != xno
then :
  as_fn_error $? "ldiskfs valid options are \"yes\" or \"no\"" "$LINENO" 5
fi
else $as_nop
  if test "${with_ldiskfs+set}" = set
then :
  enable_ldiskfs=$with_ldiskfs
else $as_nop
  enable_ldiskfs=maybe
fi

fi


if test x$enable_server = xno
then :
  case $enable_ldiskfs in #(
  maybe) :
    enable_ldiskfs=no ;; #(
  yes) :
    as_fn_error $? "cannot build ldiskfs when servers are disabled" "$LINENO" 5
	 ;; #(
  *) :
     ;;
esac
fi

if test x$enable_ldiskfs != xno
then :

	# In the future, we chould change enable_ldiskfs from maybe to
	# either yes or no based on additional tests, e.g.  whether a patch
	# set is available for the detected kernel.  For now, we just always
	# set it to "yes".
	if test x$enable_ldiskfs = xmaybe
then :
  enable_ldiskfs=yes
fi
	ENABLE_LDISKFS=yes



{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking which ldiskfs series to use" >&5
printf %s "checking which ldiskfs series to use... " >&6; }
case x$LDISKFS_SERIES in
	x)			# not set
		;;
	*.series)		# set externally
		;;
	*) LDISKFS_SERIES=
esac
if test -z "$LDISKFS_SERIES"
then :

if test x$RHEL_KERNEL = xyes
then :

	case $RHEL_RELEASE_NO in
	94)     LDISKFS_SERIES="5.14-rhel9.4.series"    ;;
	93)     LDISKFS_SERIES="5.14-rhel9.3.series"    ;;
	92)     LDISKFS_SERIES="5.14-rhel9.2.series"    ;;
	91)     LDISKFS_SERIES="5.14-rhel9.1.series"    ;;
	90)     LDISKFS_SERIES="5.14-rhel9.series"      ;;
	810)    LDISKFS_SERIES="4.18-rhel8.10.series"   ;;
	89)     LDISKFS_SERIES="4.18-rhel8.9.series"    ;;
	88)     LDISKFS_SERIES="4.18-rhel8.8.series"    ;;
	87)     LDISKFS_SERIES="4.18-rhel8.7.series"    ;;
	86)     LDISKFS_SERIES="4.18-rhel8.6.series"    ;;
	85)     LDISKFS_SERIES="4.18-rhel8.5.series"    ;;
	84)     LDISKFS_SERIES="4.18-rhel8.4.series"    ;;
	79)	LDISKFS_SERIES="3.10-rhel7.9.series"	;;
	esac

elif test x$SUSE_KERNEL = xyes
then :

	as_arg_v1=$LINUXRELEASE
as_arg_v2=5.3.18
awk "$as_awk_strverscmp" v1="$as_arg_v1" v2="$as_arg_v2" /dev/null
case $? in #(
  1) :

	as_arg_v1=$LINUXRELEASE
as_arg_v2=4.12.14
awk "$as_awk_strverscmp" v1="$as_arg_v1" v2="$as_arg_v2" /dev/null
case $? in #(
  1) :
     ;; #(
  0) :
     ;; #(
  2) :

		suse_conf=$LINUX_OBJ/include/generated/uapi/linux/suse_version.h
		suse_vers=$(awk '$2 == "SUSE_VERSION" {print $3 }' $suse_conf)
		suse_patchlevel=$(awk '$2 == "SUSE_PATCHLEVEL" {print $3 }' $suse_conf)
		case ${suse_vers}sp$suse_patchlevel in # (
		15sp0 ) LDISKFS_SERIES="4.12-sles15.series"
			if test ! -f $LINUX/arch/x86/kernel/cpu/hygon.c ; then
				# This file was added shortly after -150.22 so
				# this must be 150.22 or earlier
				LDISKFS_SERIES="4.12-sles15-22.series"
			fi
			;; # (
		15sp1 ) LDISKFS_SERIES="4.12-sles15sp1.series"
			if test ! -f $LINUX/arch/x86/kernel/cpu/umwait.c ; then
				# This file was added after -197.7 so
				# this must be -197.7 or earlier
				LDISKFS_SERIES="4.12-sles15sp1-7.series"
			fi
			;;
		esac

	 ;; #(
  *) :
     ;;
esac ;; #(
  0) :
    LDISKFS_SERIES="5.4.21-ml.series" ;; #(
  2) :

		suse_conf=$LINUX_OBJ/include/generated/uapi/linux/suse_version.h
		suse_vers=$(awk '$2 == "SUSE_VERSION" {print $3 }' $suse_conf)
		suse_patchlevel=$(awk '$2 == "SUSE_PATCHLEVEL" {print $3 }' $suse_conf)
		case ${suse_vers}sp${suse_patchlevel} in # (
		15sp2 ) LDISKFS_SERIES="5.4.21-ml.series"
			grep -A3 ext4_update_dx_flag $LINUX/fs/ext4/ext4.h \
			  | grep ext4_test_inode_flag
			if test $? -eq 0; then
				LDISKFS_SERIES="5.3.18-sles15sp2.series"
			fi
			;; # (
		15sp3 ) LDISKFS_SERIES="5.3.18-sles15sp3.series"
			update=$(echo $LINUXRELEASE | cut -d- -f2 | cut -d. -f2)
			if test $update -ge 59; then
				LDISKFS_SERIES="5.3.18-sles15sp3-59.series"
				up_patch=$(echo $LINUXRELEASE | cut -d- -f2 | cut -d. -f3 | cut -d_ -f1)
				if test $update -eq 59 -a $up_patch -le 60; then
					LDISKFS_SERIES="5.3.18-sles15sp3.series"
				fi
			fi
			;;
		15sp4 ) LDISKFS_SERIES="5.14.21-sles15sp4.series"
			;;
		15sp5 ) LDISKFS_SERIES="5.14.21-sles15sp5.series"
			;;
		esac
	     ;; #(
  *) :
     ;;
esac

elif test x$UBUNTU_KERNEL = xyes
then :

        BASEVER=$(echo $LINUXRELEASE | cut -d'-' -f1)
	as_arg_v1=$BASEVER
as_arg_v2=6.10.0
awk "$as_awk_strverscmp" v1="$as_arg_v1" v2="$as_arg_v2" /dev/null
case $? in #(
  1) :

	as_arg_v1=$BASEVER
as_arg_v2=6.8.0
awk "$as_awk_strverscmp" v1="$as_arg_v1" v2="$as_arg_v2" /dev/null
case $? in #(
  1) :

	as_arg_v1=$BASEVER
as_arg_v2=5.19.0
awk "$as_awk_strverscmp" v1="$as_arg_v1" v2="$as_arg_v2" /dev/null
case $? in #(
  1) :

	as_arg_v1=$BASEVER
as_arg_v2=5.15.0
awk "$as_awk_strverscmp" v1="$as_arg_v1" v2="$as_arg_v2" /dev/null
case $? in #(
  1) :

	as_arg_v1=$BASEVER
as_arg_v2=5.11.0
awk "$as_awk_strverscmp" v1="$as_arg_v1" v2="$as_arg_v2" /dev/null
case $? in #(
  1) :

	as_arg_v1=$BASEVER
as_arg_v2=5.8.0
awk "$as_awk_strverscmp" v1="$as_arg_v1" v2="$as_arg_v2" /dev/null
case $? in #(
  1) :

	as_arg_v1=$BASEVER
as_arg_v2=5.4.0
awk "$as_awk_strverscmp" v1="$as_arg_v1" v2="$as_arg_v2" /dev/null
case $? in #(
  1) :

	as_arg_v1=$BASEVER
as_arg_v2=5.0.0
awk "$as_awk_strverscmp" v1="$as_arg_v1" v2="$as_arg_v2" /dev/null
case $? in #(
  1) :

	as_arg_v1=$BASEVER
as_arg_v2=4.15.0
awk "$as_awk_strverscmp" v1="$as_arg_v1" v2="$as_arg_v2" /dev/null
case $? in #(
  1) :
     ;; #(
  0) :

		KPLEV=$(echo $LINUXRELEASE | cut -d'-' -f2)
		if test -z "$KPLEV"
then :

				{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Failed to determine Kernel patch level. Assume latest." >&5
printf "%s\n" "$as_me: WARNING: Failed to determine Kernel patch level. Assume latest." >&2;}
				LDISKFS_SERIES="4.15.0-24-ubuntu18.series"

elif test $KPLEV -ge 24
then :
  LDISKFS_SERIES="4.15.0-24-ubuntu18.series"
elif test $KPLEV -ge 20
then :
  LDISKFS_SERIES="4.15.0-20-ubuntu18.series"

fi
	 ;; #(
  2) :
    LDISKFS_SERIES="4.15.0-24-ubuntu18.series" ;; #(
  *) :
     ;;
esac ;; #(
  0) :
    LDISKFS_SERIES="5.0.0-13-ubuntu19.series" ;; #(
  2) :
    LDISKFS_SERIES="5.0.0-13-ubuntu19.series" ;; #(
  *) :
     ;;
esac ;; #(
  0) :

		KPLEV=$(echo $LINUXRELEASE | cut -d'-' -f2)
		if test -z "$KPLEV"
then :

				{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Failed to determine Kernel patch level. Assume latest." >&5
printf "%s\n" "$as_me: WARNING: Failed to determine Kernel patch level. Assume latest." >&2;}
				LDISKFS_SERIES="5.4.0-90-ubuntu20.series"

elif test $KPLEV -eq 1007
then :
  LDISKFS_SERIES="5.4.0-42-ubuntu20.series"
elif test $KPLEV -ge 90
then :
  LDISKFS_SERIES="5.4.0-90-ubuntu20.series"
elif test $KPLEV -ge 80
then :
  LDISKFS_SERIES="5.4.0-80-ubuntu20.series"
elif test $KPLEV -ge 66
then :
  LDISKFS_SERIES="5.4.0-66-ubuntu20.series"
else $as_nop
  LDISKFS_SERIES="5.4.0-42-ubuntu20.series"

fi
	 ;; #(
  2) :
    LDISKFS_SERIES="5.4.0-ml.series" ;; #(
  *) :
     ;;
esac ;; #(
  0) :

		KPLEV=$(echo $LINUXRELEASE | cut -d'-' -f2)
		if test -z "$KPLEV"
then :

				{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Failed to determine Kernel patch level. Assume latest." >&5
printf "%s\n" "$as_me: WARNING: Failed to determine Kernel patch level. Assume latest." >&2;}
				LDISKFS_SERIES="5.8.0-63-ubuntu20.series"

elif test $KPLEV -ge 63
then :
  LDISKFS_SERIES="5.8.0-63-ubuntu20.series"
else $as_nop
  LDISKFS_SERIES="5.8.0-53-ubuntu20.series"

fi
	 ;; #(
  2) :
    LDISKFS_SERIES="5.8.0-ml.series" ;; #(
  *) :
     ;;
esac ;; #(
  0) :
    LDISKFS_SERIES="5.11.0-40-ubuntu20.series" ;; #(
  2) :
    LDISKFS_SERIES="5.11.0-40-ubuntu20.series" ;; #(
  *) :
     ;;
esac ;; #(
  0) :

		PLEV=$(echo $LINUXRELEASE | cut -d'-' -f2)
		if test -z "$KPLEV"
then :

				{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Failed to determine Kernel patch level. Assume latest." >&5
printf "%s\n" "$as_me: WARNING: Failed to determine Kernel patch level. Assume latest." >&2;}
				LDISKFS_SERIES="5.15.0-106-ubuntu20.series"

elif test $KPLEV -ge 106
then :
  LDISKFS_SERIES="5.15.0-106-ubuntu20.series"
else $as_nop
  LDISKFS_SERIES="5.15.0-83-ubuntu20.series"

fi
	 ;; #(
  2) :
    LDISKFS_SERIES="5.15.0-83-ubuntu20.series" ;; #(
  *) :
     ;;
esac ;; #(
  0) :
    LDISKFS_SERIES="5.19.0-35-ubuntu.series" ;; #(
  2) :
    LDISKFS_SERIES="5.19.0-35-ubuntu.series" ;; #(
  *) :
     ;;
esac ;; #(
  0) :
    LDISKFS_SERIES="6.7-ml.series" ;; #(
  2) :
    LDISKFS_SERIES="6.7-ml.series" ;; #(
  *) :
     ;;
esac ;; #(
  0) :
    LDISKFS_SERIES="6.10-ml.series" ;; #(
  2) :
    LDISKFS_SERIES="6.10-ml.series" ;; #(
  *) :
     ;;
esac

elif test x$OPENEULER_KERNEL = xyes
then :

	case $OPENEULER_VERSION_NO in
	2203.0) LDISKFS_SERIES="5.10.0-oe2203.series" ;;
	2203.*) LDISKFS_SERIES="5.10.0-oe2203sp1.series" ;;
	esac

fi

fi
# Not RHEL/SLES/openEuler or Ubuntu .. probably mainline
if test -z "$LDISKFS_SERIES"
then :

	as_arg_v1=$LINUXRELEASE
as_arg_v2=5.4.0
awk "$as_awk_strverscmp" v1="$as_arg_v1" v2="$as_arg_v2" /dev/null
case $? in #(
  1) :

		 ;; #(
  0) :

		LDISKFS_SERIES="5.4.0-ml.series" ;; #(
  2) :

	as_arg_v1=$LINUXRELEASE
as_arg_v2=5.4.21
awk "$as_awk_strverscmp" v1="$as_arg_v1" v2="$as_arg_v2" /dev/null
case $? in #(
  1) :

		LDISKFS_SERIES="5.4.0-ml.series" ;; #(
  0) :

		LDISKFS_SERIES="5.4.21-ml.series" ;; #(
  2) :

	as_arg_v1=$LINUXRELEASE
as_arg_v2=5.10.0
awk "$as_awk_strverscmp" v1="$as_arg_v1" v2="$as_arg_v2" /dev/null
case $? in #(
  1) :

		LDISKFS_SERIES="5.4.136-ml.series" ;; #(
  0) :

		LDISKFS_SERIES="5.10.0-ml.series" ;; #(
  2) :

	as_arg_v1=$LINUXRELEASE
as_arg_v2=6.1.0
awk "$as_awk_strverscmp" v1="$as_arg_v1" v2="$as_arg_v2" /dev/null
case $? in #(
  1) :

		LDISKFS_SERIES="5.10.0-ml.series" ;; #(
  0) :

		LDISKFS_SERIES="6.1.38-ml.series" ;; #(
  2) :

	as_arg_v1=$LINUXRELEASE
as_arg_v2=6.6.0
awk "$as_awk_strverscmp" v1="$as_arg_v1" v2="$as_arg_v2" /dev/null
case $? in #(
  1) :

		LDISKFS_SERIES="6.1.38-ml.series" ;; #(
  0) :

		LDISKFS_SERIES="6.6-ml.series" ;; #(
  2) :

	as_arg_v1=$LINUXRELEASE
as_arg_v2=6.7.0
awk "$as_awk_strverscmp" v1="$as_arg_v1" v2="$as_arg_v2" /dev/null
case $? in #(
  1) :

		LDISKFS_SERIES="6.6-ml.series" ;; #(
  0) :

		LDISKFS_SERIES="6.7-ml.series" ;; #(
  2) :

	as_arg_v1=$LINUXRELEASE
as_arg_v2=6.10.0
awk "$as_awk_strverscmp" v1="$as_arg_v1" v2="$as_arg_v2" /dev/null
case $? in #(
  1) :

		LDISKFS_SERIES="6.7-ml.series" ;; #(
  0) :

		LDISKFS_SERIES="6.10-ml.series" ;; #(
  2) :

		LDISKFS_SERIES="6.10-ml.series"
	 ;; #(
  *) :
     ;;
esac # 6.10
	 ;; #(
  *) :
     ;;
esac # 6.7
	 ;; #(
  *) :
     ;;
esac # 6.6
	 ;; #(
  *) :
     ;;
esac # 6.1
	 ;; #(
  *) :
     ;;
esac # 5.10
	 ;; #(
  *) :
     ;;
esac # 5.4 LTS
	 ;; #(
  *) :
     ;;
esac
fi
if test -z "$LDISKFS_SERIES"
then :
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: failed to identify series" >&5
printf "%s\n" "failed to identify series" >&6; }
else $as_nop
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LDISKFS_SERIES for $LINUXRELEASE" >&5
printf "%s\n" "$LDISKFS_SERIES for $LINUXRELEASE" >&6; }
fi



	# Check whether --enable-quilt was given.
if test ${enable_quilt+y}
then :
  enableval=$enable_quilt; if test "x$enableval" = xno
then :
  use_quilt=no
else $as_nop
  use_quilt=maybe
fi
else $as_nop
  use_quilt=maybe

fi


	if test x$use_quilt = xmaybe
then :

		# Extract the first word of "quilt", so it can be a program name with args.
set dummy quilt; 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_quilt_avail+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  case $quilt_avail in
  [\\/]* | ?:[\\/]*)
  ac_cv_path_quilt_avail="$quilt_avail" # 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_quilt_avail="$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_quilt_avail" && ac_cv_path_quilt_avail="no"
  ;;
esac
fi
quilt_avail=$ac_cv_path_quilt_avail
if test -n "$quilt_avail"; then
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $quilt_avail" >&5
printf "%s\n" "$quilt_avail" >&6; }
else
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi


		if test x$quilt_avail = xno
then :

			use_quilt=no

else $as_nop

			use_quilt=yes

fi

fi

	if test x$use_quilt = xno
then :

		# Extract the first word of "patch", so it can be a program name with args.
set dummy patch; 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_patch_avail+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  case $patch_avail in
  [\\/]* | ?:[\\/]*)
  ac_cv_path_patch_avail="$patch_avail" # 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_patch_avail="$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_patch_avail" && ac_cv_path_patch_avail="no"
  ;;
esac
fi
patch_avail=$ac_cv_path_patch_avail
if test -n "$patch_avail"; then
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $patch_avail" >&5
printf "%s\n" "$patch_avail" >&6; }
else
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi


		if test x$patch_avail = xno
then :

			as_fn_error $? "*** Need \"quilt\" or \"patch\" command" "$LINENO" 5

fi

fi


	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ext4_(inc|dec)_count() have 2 arguments" >&5
printf %s "checking if ext4_(inc|dec)_count() have 2 arguments... " >&6; }
	if grep -q -E 'void ext4_inc_count.handle_t \*handle' $EXT4_SRC_DIR/namei.c
then :


printf "%s\n" "#define HAVE_EXT4_INC_DEC_COUNT_2ARGS 1" >>confdefs.h

		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }

else $as_nop

		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }

fi


tmp_flags="$EXTRA_KCFLAGS"
EXTRA_KCFLAGS="-Werror"

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if jbd2_journal_get_max_txn_bufs is available" >&5
printf %s "checking if jbd2_journal_get_max_txn_bufs is available... " >&6; }
if test ${lb_cv_compile_ext4_journal_get_write_access+y}
then :
  printf %s "(cached) " >&6
else $as_nop


cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


	#include <linux/fs.h>
	#include "$EXT4_SRC_DIR/ext4.h"
	#include "$EXT4_SRC_DIR/ext4_jbd2.h"

	int __ext4_journal_get_write_access(const char *where, unsigned int line,
				    handle_t *handle,
				    struct super_block *sb,
				    struct buffer_head *bh,
				    enum ext4_journal_trigger_type trigger_type)
	{
		return 0;
	}

int
main (void)
{

	handle_t *handle = NULL;
	struct super_block *sb = NULL;
	struct buffer_head *bh = NULL;
	enum ext4_journal_trigger_type trigger_type = EXT4_JTR_NONE;
	int err = ext4_journal_get_write_access(handle, sb, bh, trigger_type);

	(void)err;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_ACEOF
rm -f build/conftest.o build/conftest.mod.c build/conftest.ko
if { ac_try='cp conftest.c build && make -d modules DEQUOTE_CC_VERSION_TEXT=$lb_cv_dequote_CC_VERSION_TEXT LDFLAGS= ${LD:+LD="$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_CHECK_INCLUDE -I$LINUX/arch/$SUBARCH/include -Iinclude -Iarch/$SUBARCH/include/generated -I$LINUX/include -Iinclude2 -I$LINUX/include/uapi -Iinclude/generated -I$LINUX/arch/$SUBARCH/include/uapi -Iarch/$SUBARCH/include/generated/uapi -I$LINUX/include/uapi -Iinclude/generated/uapi ${SPL_OBJ:+-include $SPL_OBJ/spl_config.h} ${ZFS_OBJ:+-include $ZFS_OBJ/zfs_config.h} ${SPL:+-I$SPL/include } ${ZFS:+-I$ZFS -I$ZFS/include -I$ZFS/include/os/linux/kernel -I$ZFS/include/os/linux/spl -I$ZFS/include/os/linux/zfs -I${SPL:-$ZFS/include/spl}} -include $CONFIG_INCLUDE" KBUILD_EXTRA_SYMBOLS="${ZFS_OBJ:+$ZFS_OBJ/Module.symvers} $KBUILD_EXTRA_SYMBOLS" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $MODULE_TARGET=$PWD/build'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }
then :
  lb_cv_compile_ext4_journal_get_write_access=yes
else $as_nop
  printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

lb_cv_compile_ext4_journal_get_write_access=no
fi
rm -f build/conftest.o build/conftest.mod.c build/conftest.mod.o build/conftest.ko build/conftest.c conftest.c


fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_ext4_journal_get_write_access" >&5
printf "%s\n" "$lb_cv_compile_ext4_journal_get_write_access" >&6; }
if test "x$lb_cv_compile_ext4_journal_get_write_access" = xyes
then :


printf "%s\n" "#define HAVE_EXT4_JOURNAL_GET_WRITE_ACCESS_4ARGS 1" >>confdefs.h


fi
EXTRA_KCFLAGS="$tmp_flags"



{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if inode_lock_shared() defined" >&5
printf %s "checking if inode_lock_shared() defined... " >&6; }
if test ${lb_cv_compile_inode_lock_shared+y}
then :
  printf %s "(cached) " >&6
else $as_nop


cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


	#include <linux/fs.h>

int
main (void)
{

	struct inode i;

	inode_lock_shared(&i);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_ACEOF
rm -f build/conftest.o build/conftest.mod.c build/conftest.ko
if { ac_try='cp conftest.c build && make -d modules DEQUOTE_CC_VERSION_TEXT=$lb_cv_dequote_CC_VERSION_TEXT LDFLAGS= ${LD:+LD="$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_CHECK_INCLUDE -I$LINUX/arch/$SUBARCH/include -Iinclude -Iarch/$SUBARCH/include/generated -I$LINUX/include -Iinclude2 -I$LINUX/include/uapi -Iinclude/generated -I$LINUX/arch/$SUBARCH/include/uapi -Iarch/$SUBARCH/include/generated/uapi -I$LINUX/include/uapi -Iinclude/generated/uapi ${SPL_OBJ:+-include $SPL_OBJ/spl_config.h} ${ZFS_OBJ:+-include $ZFS_OBJ/zfs_config.h} ${SPL:+-I$SPL/include } ${ZFS:+-I$ZFS -I$ZFS/include -I$ZFS/include/os/linux/kernel -I$ZFS/include/os/linux/spl -I$ZFS/include/os/linux/zfs -I${SPL:-$ZFS/include/spl}} -include $CONFIG_INCLUDE" KBUILD_EXTRA_SYMBOLS="${ZFS_OBJ:+$ZFS_OBJ/Module.symvers} $KBUILD_EXTRA_SYMBOLS" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $MODULE_TARGET=$PWD/build'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }
then :
  lb_cv_compile_inode_lock_shared=yes
else $as_nop
  printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

lb_cv_compile_inode_lock_shared=no
fi
rm -f build/conftest.o build/conftest.mod.c build/conftest.mod.o build/conftest.ko build/conftest.c conftest.c


fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_inode_lock_shared" >&5
printf "%s\n" "$lb_cv_compile_inode_lock_shared" >&6; }
if test "x$lb_cv_compile_inode_lock_shared" = xyes
then :


printf "%s\n" "#define HAVE_INODE_LOCK_SHARED 1" >>confdefs.h


fi



{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if iversion primitives defined" >&5
printf %s "checking if iversion primitives defined... " >&6; }
if test ${lb_cv_compile_inode_set_iversion+y}
then :
  printf %s "(cached) " >&6
else $as_nop


cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


	#include <linux/iversion.h>

int
main (void)
{

	struct inode i;

	inode_set_iversion(&i, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_ACEOF
rm -f build/conftest.o build/conftest.mod.c build/conftest.ko
if { ac_try='cp conftest.c build && make -d modules DEQUOTE_CC_VERSION_TEXT=$lb_cv_dequote_CC_VERSION_TEXT LDFLAGS= ${LD:+LD="$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_CHECK_INCLUDE -I$LINUX/arch/$SUBARCH/include -Iinclude -Iarch/$SUBARCH/include/generated -I$LINUX/include -Iinclude2 -I$LINUX/include/uapi -Iinclude/generated -I$LINUX/arch/$SUBARCH/include/uapi -Iarch/$SUBARCH/include/generated/uapi -I$LINUX/include/uapi -Iinclude/generated/uapi ${SPL_OBJ:+-include $SPL_OBJ/spl_config.h} ${ZFS_OBJ:+-include $ZFS_OBJ/zfs_config.h} ${SPL:+-I$SPL/include } ${ZFS:+-I$ZFS -I$ZFS/include -I$ZFS/include/os/linux/kernel -I$ZFS/include/os/linux/spl -I$ZFS/include/os/linux/zfs -I${SPL:-$ZFS/include/spl}} -include $CONFIG_INCLUDE" KBUILD_EXTRA_SYMBOLS="${ZFS_OBJ:+$ZFS_OBJ/Module.symvers} $KBUILD_EXTRA_SYMBOLS" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $MODULE_TARGET=$PWD/build'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }
then :
  lb_cv_compile_inode_set_iversion=yes
else $as_nop
  printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

lb_cv_compile_inode_set_iversion=no
fi
rm -f build/conftest.o build/conftest.mod.c build/conftest.mod.o build/conftest.ko build/conftest.c conftest.c


fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_inode_set_iversion" >&5
printf "%s\n" "$lb_cv_compile_inode_set_iversion" >&6; }
if test "x$lb_cv_compile_inode_set_iversion" = xyes
then :


printf "%s\n" "#define HAVE_INODE_IVERSION 1" >>confdefs.h


fi


printf "%s\n" "#define CONFIG_LDISKFS_FS_POSIX_ACL 1" >>confdefs.h


printf "%s\n" "#define CONFIG_LDISKFS_FS_SECURITY 1" >>confdefs.h


printf "%s\n" "#define CONFIG_LDISKFS_FS_XATTR 1" >>confdefs.h


printf "%s\n" "#define CONFIG_LDISKFS_FS_RW 1" >>confdefs.h

	LDISKFS_SUBDIR=ldiskfs


printf "%s\n" "#define HAVE_LDISKFS_OSD 1" >>confdefs.h


else $as_nop

	ENABLE_LDISKFS=no


fi

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build ldiskfs" >&5
printf %s "checking whether to build ldiskfs... " >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_ldiskfs" >&5
printf "%s\n" "$enable_ldiskfs" >&6; }

 if test x$enable_ldiskfs = xyes; then
  LDISKFS_ENABLED_TRUE=
  LDISKFS_ENABLED_FALSE='#'
else
  LDISKFS_ENABLED_TRUE='#'
  LDISKFS_ENABLED_FALSE=
fi




# Check whether --with-zfs was given.
if test ${with_zfs+y}
then :
  withval=$with_zfs;
			if test x$withval = xno
then :

				enable_spl=no
				enable_zfs=no
				require_zfs=no

elif test x$withval = xyes
then :

				enable_spl=yes
				enable_zfs=yes
				require_zfs=yes

else $as_nop

				enable_spl=yes
				enable_zfs=yes
				require_zfs=yes
				zfssrc="$withval"

fi

else $as_nop

			if test x$enable_server != xno
then :

				enable_spl=yes
				require_zfs=no
				enable_zfs=yes

else $as_nop

				enable_spl=no
				require_zfs=no
				enable_zfs=no

fi

fi


	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable zfs" >&5
printf %s "checking whether to enable zfs... " >&6; }
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_zfs" >&5
printf "%s\n" "$enable_zfs" >&6; }

	if test x$enable_zfs = xyes
then :

		if test x$enable_modules = xyes
then :



# Check whether --with-zfs-obj was given.
if test ${with_zfs_obj+y}
then :
  withval=$with_zfs_obj; zfsobj="$withval"
fi


	#
	# The existence of zfs.release[.in] is used to identify a valid
	# source directory.  In order of preference:
	#
	zfsver=$(ls -1 /usr/src/ | grep ^zfs- | cut -f2 -d'-' |
		 sort -V | head -n1)
	zfsdkms="/var/lib/dkms/zfs/${zfsver}"
	zfssrc1="/usr/src/zfs-${zfsver}/${LINUXRELEASE}"
	zfssrc2="/usr/src/zfs-${zfsver}"
	zfssrc3="../zfs/"
	zfssrc4="$LINUX/zfs"

	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking zfs source directory" >&5
printf %s "checking zfs source directory... " >&6; }
	if test -z "${zfssrc}"
then :

		if test -e "${zfsdkms}/source/zfs.release.in"
then :

			zfssrc=${zfsdkms}/source

elif test -e "${zfssrc1}/zfs.release.in"
then :

			zfssrc=${zfssrc1}

elif test -e "${zfssrc2}/zfs.release.in"
then :

			zfssrc=${zfssrc2}

elif test -e "${zfssrc3}/zfs.release.in"
then :

			zfssrc=$(readlink -f "${zfssrc3}")

elif test -e "${zfssrc4}/zfs.release.in"
then :

			zfssrc=${zfssrc4}

else $as_nop

			zfssrc="Not found"

fi

fi
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $zfssrc" >&5
printf "%s\n" "$zfssrc" >&6; }

	if test ! -e "$zfssrc/zfs.release.in" &&
	    test ! -e "$zfssrc/zfs.release"
then :

		enable_zfs=no

fi

	#
	# The existence of the zfs_config.h is used to identify a valid
	# zfs object directory.  In many cases the object and source
	# directory are the same, however the objects may also reside
	# is a subdirectory named after the kernel version.  When
	# weak modules are used, the kernel version may not be the
	# same as the LINUXRELEASE against which we are building lustre.
	#
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking zfs build directory" >&5
printf %s "checking zfs build directory... " >&6; }
	if test -z "$zfsobj"
then :

		last_zfs_obj_dir=$(ls -d ${zfssrc}/[0-9]*/ 2> /dev/null | tail -n 1 | sed 's|/$||')
		if test "${zfssrc}" = "${zfsdkms}/source"
then :

			if test -e "${zfsdkms}/${LINUXRELEASE}/${target_cpu}/zfs_config.h"
then :

				zfsobj=${zfsdkms}/${LINUXRELEASE}/${target_cpu}

else $as_nop

				zfsobj="Not found"

fi

elif test -e "${zfssrc}/${LINUXRELEASE}/zfs_config.h"
then :

			zfsobj="${zfssrc}/${LINUXRELEASE}"

elif test -e "${zfssrc}/zfs_config.h"
then :

			zfsobj="${zfssrc}"

elif test -e "${last_zfs_obj_dir}/zfs_config.h"
then :

			zfsobj="${last_zfs_obj_dir}"

else $as_nop

			zfsobj="Not found"

fi

fi

	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $zfsobj" >&5
printf "%s\n" "$zfsobj" >&6; }
	if test ! -e "$zfsobj/zfs_config.h"
then :

		enable_zfs=no

fi

	#
	# Verify the source version using SPL_META_VERSION in spl_config.h
	#
	if test x$enable_zfs = xyes
then :

		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking zfs source version" >&5
printf %s "checking zfs source version... " >&6; }
		if fgrep -q ZFS_META_VERSION $zfsobj/zfs_config.h
then :

			zfsver=$((echo "#include <zfs_config.h>";
			    echo "zfsver=ZFS_META_VERSION-ZFS_META_RELEASE") |
			    cpp -I $zfsobj |
			    grep "^zfsver=" | tr -d \" | cut -d= -f2)

else $as_nop

			zfsver="Not found"
			enable_zfs=no

fi
		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $zfsver" >&5
printf "%s\n" "$zfsver" >&6; }

fi

	#
	# Verify the modules systems exist by the expect name.
	#
	if test x$enable_zfs = xyes
then :

		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking zfs file name for module symbols" >&5
printf %s "checking zfs file name for module symbols... " >&6; }
		if test -r $zfsobj/$SYMVERFILE
then :

			zfssym=$SYMVERFILE
			EXTRA_SYMBOLS="$EXTRA_SYMBOLS $zfsobj/$SYMVERFILE"

elif test -r $zfsobj/module/$SYMVERFILE
then :

			zfssym=$SYMVERFILE
			EXTRA_SYMBOLS="$EXTRA_SYMBOLS $zfsobj/module/$SYMVERFILE"

else $as_nop

			zfssym="Not found"
			enable_zfs=no

fi
		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $zfssym" >&5
printf "%s\n" "$zfssym" >&6; }

fi

	if test x$enable_zfs = xyes
then :

		ZFS=${zfssrc}
		ZFS_OBJ=${zfsobj}
		ZFS_VERSION=${zfsver}






fi



fi


# Check whether --with-zfs-devel was given.
if test ${with_zfs_devel+y}
then :
  withval=$with_zfs_devel; zfsdevel="$withval"
fi


	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking user provided zfs devel headers" >&5
printf %s "checking user provided zfs devel headers... " >&6; }
	if test ! -z "${zfsdevel}"
then :

		if test -d "${zfsdevel}/usr/include/libspl" && test -d "${zfsdevel}/usr/include/libzfs"
then :

			zfsinc="-I $zfsdevel/usr/include/libspl -I $zfsdevel/usr/include/libzfs"
			zfslib="-L$zfsdevel/usr/lib64 -L$zfsdevel/usr/lib -L$zfsdevel/lib64 -L$zfsdevel/lib"

else $as_nop

			as_fn_error $? "Path to development headers directory does not exist" "$LINENO" 5

fi

fi
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $zfsinc" >&5
printf "%s\n" "$zfsinc" >&6; }


	#
	# Detect user space zfs development headers.
	#
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking zfs devel headers" >&5
printf %s "checking zfs devel headers... " >&6; }
	if test -z "${zfsinc}"
then :

        	if test -e "${zfssrc}/include/libzfs.h" && test -e "${zfssrc}/lib/libspl/include"
then :

			zfsinc="-I $zfssrc/lib/libspl/include -I $zfssrc/lib/libspl/include/os/linux -I $zfssrc/include"
			zfslib="-L$zfssrc/.libs/ -L$zfssrc/lib/libzfs/.libs/ -L$zfssrc/lib/libnvpair/.libs/ -L$zfssrc/lib/libzpool/.libs/"

elif test -d /usr/include/libzfs && test -d /usr/include/libspl
then :

			zfsinc="-I/usr/include/libspl -I /usr/include/libzfs"
			zfslib=""

else $as_nop

			zfsinc="Not Found"
			zfslib=""
			enable_zfs=no

fi

fi
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $zfsinc" >&5
printf "%s\n" "$zfsinc" >&6; }

	ZFS_LIBZFS_INCLUDE=${zfsinc}
	ZFS_LIBZFS_LDFLAGS=${zfslib}
	ZFS_LIBZFS_LIBS="-lzfs -lnvpair -lzpool"





		#
		# Define zfs source code version
		#
		ZFS_MAJOR=$(echo $zfsver | sed -re 's/([0-9]+)\.([0-9]+)\.([0-9]+)(\.([0-9]+))?.*/\1/')
		ZFS_MINOR=$(echo $zfsver | sed -re 's/([0-9]+)\.([0-9]+)\.([0-9]+)(\.([0-9]+))?.*/\2/')
		ZFS_PATCH=$(echo $zfsver | sed -re 's/([0-9]+)\.([0-9]+)\.([0-9]+)(\.([0-9]+))?.*/\3/')
		ZFS_FIX=$(echo $zfsver   | sed -re 's/([0-9]+)\.([0-9]+)\.([0-9]+)(\.([0-9]+))?.*/\5/')
		if test -z "$ZFS_FIX"
then :
  ZFS_FIX="0"
fi


printf "%s\n" "#define ZFS_MAJOR $ZFS_MAJOR" >>confdefs.h


printf "%s\n" "#define ZFS_MINOR $ZFS_MINOR" >>confdefs.h


printf "%s\n" "#define ZFS_PATCH $ZFS_PATCH" >>confdefs.h


printf "%s\n" "#define ZFS_FIX $ZFS_FIX" >>confdefs.h


		#
		# SPL is only needed if ZFS is prior to 0.8.0
		#
		if test x$enable_modules = xyes && test -n "$ZFS_MAJOR" &&
			    test $ZFS_MAJOR -eq 0 && test $ZFS_MINOR -lt 8
then :



# Check whether --with-spl was given.
if test ${with_spl+y}
then :
  withval=$with_spl; splsrc="$withval"
fi



# Check whether --with-spl-obj was given.
if test ${with_spl_obj+y}
then :
  withval=$with_spl_obj; splobj="$withval"
fi


	#
	# The existence of spl.release[.in] is used to identify a valid
	# source directory.  In order of preference:
	#
	splver=$(ls -1 /usr/src/ | grep ^spl- | cut -f2 -d'-' |
		 sort -V | head -n1)
	spldkms="/var/lib/dkms/spl/${splver}"
	splsrc1="/usr/src/spl-${splver}/${LINUXRELEASE}"
	splsrc2="/usr/src/spl-${splver}"
	splsrc3="../spl/"
	splsrc4="$LINUX/spl"

	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking spl source directory" >&5
printf %s "checking spl source directory... " >&6; }
	if test -z "${splsrc}"
then :

		if test -e "${spldkms}/source/spl.release.in"
then :

			splsrc=${spldkms}/source

elif test -e "${splsrc1}/spl.release.in"
then :

			splsrc=${splsrc1}

elif test -e "${splsrc2}/spl.release.in"
then :

			splsrc=${splsrc2}

elif test -e "${splsrc3}/spl.release.in"
then :

			splsrc=$(readlink -f "${splsrc3}")

elif test -e "${splsrc4}/spl.release.in"
then :

			splsrc=${splsrc4}

else $as_nop

			splsrc="Not found"

fi

fi
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $splsrc" >&5
printf "%s\n" "$splsrc" >&6; }

	if test ! -e "$splsrc/spl.release" &&
	    test ! -e "$splsrc/spl.release.in"
then :

		enable_zfs=no

fi

	#
	# The existence of the spl_config.h is used to identify a valid
	# spl object directory.  In many cases the object and source
	# directory are the same, however the objects may also reside
	# is a subdirectory named after the kernel version.  When
	# weak modules are used, the kernel version may not be the
	# same as the LINUXRELEASE against which we are building lustre.
	#
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking spl build directory" >&5
printf %s "checking spl build directory... " >&6; }
	if test -z "$splobj"
then :

		last_spl_obj_dir=$(ls -d ${splsrc}/[0-9]*/  2> /dev/null | tail -n 1 | sed 's|/$||')
		if test "${splsrc}" = "${spldkms}/source"
then :

			if test -e "${spldkms}/${LINUXRELEASE}/${target_cpu}/spl_config.h"
then :

				splobj=${spldkms}/${LINUXRELEASE}/${target_cpu}

else $as_nop

				splobj="Not found"

fi

elif test -e "${splsrc}/${LINUXRELEASE}/spl_config.h"
then :

			splobj="${splsrc}/${LINUXRELEASE}"

elif test -e "${splsrc}/spl_config.h"
then :

			splobj="${splsrc}"

elif test -e "${last_spl_obj_dir}/spl_config.h"
then :

			splobj="${last_spl_obj_dir}"

else $as_nop

			splobj="Not found"

fi

fi
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $splobj" >&5
printf "%s\n" "$splobj" >&6; }

	if test ! -e "$splobj/spl_config.h"
then :

		enable_zfs=no

fi

	#
	# Verify the source version using SPL_META_VERSION in spl_config.h
	#
	if test x$enable_zfs = xyes
then :

		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking spl source version" >&5
printf %s "checking spl source version... " >&6; }
		if fgrep -q SPL_META_VERSION $splobj/spl_config.h
then :

			splver=$((echo "#include <spl_config.h>";
			    echo "splver=SPL_META_VERSION-SPL_META_RELEASE") |
			    cpp -I $splobj |
			    grep "^splver=" | tr -d \" | cut -d= -f2)

else $as_nop

			splver="Not found"
			enable_zfs=no

fi
		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $splver" >&5
printf "%s\n" "$splver" >&6; }

fi

	#
	# Verify the modules systems exist by the expect name.
	#
	if test x$enable_zfs = xyes
then :

		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking spl file name for module symbols" >&5
printf %s "checking spl file name for module symbols... " >&6; }
		if test -r $splobj/$SYMVERFILE
then :

			splsym=$SYMVERFILE
			EXTRA_SYMBOLS="$EXTRA_SYMBOLS $splobj/$SYMVERFILE"

elif test -r $splobj/module/$SYMVERFILE
then :

			splsym=$SYMVERFILE
			EXTRA_SYMBOLS="$EXTRA_SYMBOLS $splobj/module/$SYMVERFILE"

else $as_nop

			splsym="Not found"
			enable_zfs=no

fi
		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $splsym" >&5
printf "%s\n" "$splsym" >&6; }

fi

	if test x$enable_zfs = xyes
then :

		SPL=${splsrc}
		SPL_OBJ=${splobj}
		SPL_VERSION=${splver}






fi



else $as_nop

			enable_spl=no

fi

		#
		# enable_zfs will be set to no in LB_SPL or LB_ZFS if
		# one of more of the build requirements is not met.
		#
		if test x$enable_zfs = xyes
then :


printf "%s\n" "#define HAVE_ZFS_OSD 1" >>confdefs.h


else $as_nop

			if test x$require_zfs = xyes
then :

				as_fn_error $? "

Required zfs osd cannot be built due to missing zfs development headers.

Support for zfs can be enabled by downloading the required packages for your
distribution.  See http://zfsonlinux.org/ to determine is zfs is supported by
your distribution.
				" "$LINENO" 5

else $as_nop

				{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING:

Disabling optional zfs osd due to missing development headers.

Support for zfs can be enabled by downloading the required packages for your
distribution.  See http://zfsonlinux.org/ to determine is zfs is supported by
your distribution.
				" >&5
printf "%s\n" "$as_me: WARNING:

Disabling optional zfs osd due to missing development headers.

Support for zfs can be enabled by downloading the required packages for your
distribution.  See http://zfsonlinux.org/ to determine is zfs is supported by
your distribution.
				" >&2;}

fi

fi

fi
	if test "x$enable_zfs" = xyes
then :

		ENABLE_ZFS=yes


else $as_nop

		ENABLE_ZFS=no


fi
	 if test "x$enable_zfs" = xyes; then
  ZFS_ENABLED_TRUE=
  ZFS_ENABLED_FALSE='#'
else
  ZFS_ENABLED_TRUE='#'
  ZFS_ENABLED_FALSE=
fi

	 if test "x$enable_spl" = xyes; then
  SPL_ENABLED_TRUE=
  SPL_ENABLED_FALSE='#'
else
  SPL_ENABLED_TRUE='#'
  SPL_ENABLED_FALSE=
fi


if test "x$enable_dist" = xno
then :

	if test x$enable_ldiskfs != xno
then :





fi

	#
	## LZ_ZFS_NVLIST_CONST_INTERFACES
	#
	# ZFS 2.2.0 nvpair now returns and expects constant args
	#

	 # LZ_ZFS_NVLIST_CONST_INTERFACES

	#
	## LZ_ZFS_ARC_PRUNE_FUNC_UINT64
	#
	# ZFS 2.2.1 arc_prune_func_t now uses uint64_t for the
	# first parameter
	#

	 # LZ_ZFS_ARC_PRUNE_FUNC_UINT64

	#
	## LZ_DMU_BUF_WILL_FILL_3ARGS
	#
	# ZFS 2.2.3:
	#   Adds a boolean_t to dmu_buf_will_fill() and dmu_buf_fill_done()
	#
	# introduced in zfs commit 9b1677fb5a0824b5f4b425c0ee950aaecf252029
	#   dmu: Allow buffer fills to fail
	#

	 # LZ_DMU_BUF_WILL_FILL_3ARGS





	case $target_os in #(
  linux*) :

			# Ensure SUBARCH is defined
			SUBARCH=$(echo $target_cpu | sed -e 's/powerpc.*/powerpc/' -e 's/ppc.*/powerpc/' -e 's/x86_64/x86/' -e 's/i.86/x86/' -e 's/k1om/x86/' -e 's/aarch64.*/arm64/' -e 's/armv7.*/arm/')

			# Run serial tests

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: LibCFS kernel checks
==============================================================================" >&5
printf "%s\n" "$as_me: LibCFS kernel checks
==============================================================================" >&6;}

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to use tunable 'panic_dumplog' support" >&5
printf %s "checking whether to use tunable 'panic_dumplog' support... " >&6; }
# Check whether --enable-panic_dumplog was given.
if test ${enable_panic_dumplog+y}
then :
  enableval=$enable_panic_dumplog;
else $as_nop
  enable_panic_dumplog="no"
fi

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_panic_dumplog" >&5
printf "%s\n" "$enable_panic_dumplog" >&6; }
if test "x$enable_panic_dumplog" = xyes
then :


printf "%s\n" "#define LNET_DUMP_ON_PANIC 1" >>confdefs.h

	ENABLE_PANIC_DUMPLOG=yes


else $as_nop

	ENABLE_PANIC_DUMPLOG=no


fi


# 4.6 - Export Check


{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Linux kernel exports 'kset_find_obj'" >&5
printf %s "checking if Linux kernel exports 'kset_find_obj'... " >&6; }
if test ${lb_cv_export_kset_find_obj+y}
then :
  printf %s "(cached) " >&6
else $as_nop

lb_cv_export_kset_find_obj=no
if grep -q -E '[[:space:]]kset_find_obj[[:space:]]' $LINUX_OBJ/$SYMVERFILE 2>/dev/null
then :
  lb_cv_export_kset_find_obj=yes
else $as_nop
  for file in lib/kobject.c; do
		if grep -q -E "EXPORT_SYMBOL.*\(kset_find_obj\)" "$LINUX/$file" 2>/dev/null
then :

			lb_cv_export_kset_find_obj=yes
			break

fi
	done
fi

fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_export_kset_find_obj" >&5
printf "%s\n" "$lb_cv_export_kset_find_obj" >&6; }
if test "x$lb_cv_export_kset_find_obj" = xyes
then :

printf "%s\n" "#define HAVE_KSET_FIND_OBJ 1" >>confdefs.h

fi

# 4.13 - Export Check


{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Linux kernel exports 'save_stack_trace_tsk'" >&5
printf %s "checking if Linux kernel exports 'save_stack_trace_tsk'... " >&6; }
if test ${lb_cv_export_save_stack_trace_tsk+y}
then :
  printf %s "(cached) " >&6
else $as_nop

lb_cv_export_save_stack_trace_tsk=no
if grep -q -E '[[:space:]]save_stack_trace_tsk[[:space:]]' $LINUX_OBJ/$SYMVERFILE 2>/dev/null
then :
  lb_cv_export_save_stack_trace_tsk=yes
else $as_nop
  for file in arch/$SUBARCH/kernel/stacktrace.c; do
		if grep -q -E "EXPORT_SYMBOL.*\(save_stack_trace_tsk\)" "$LINUX/$file" 2>/dev/null
then :

			lb_cv_export_save_stack_trace_tsk=yes
			break

fi
	done
fi

fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_export_save_stack_trace_tsk" >&5
printf "%s\n" "$lb_cv_export_save_stack_trace_tsk" >&6; }
if test "x$lb_cv_export_save_stack_trace_tsk" = xyes
then :

printf "%s\n" "#define HAVE_SAVE_STACK_TRACE_TSK 1" >>confdefs.h

fi

# 5.0 - Export Check


{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Linux kernel exports '__genradix_ptr'" >&5
printf %s "checking if Linux kernel exports '__genradix_ptr'... " >&6; }
if test ${lb_cv_export___genradix_ptr+y}
then :
  printf %s "(cached) " >&6
else $as_nop

lb_cv_export___genradix_ptr=no
if grep -q -E '[[:space:]]__genradix_ptr[[:space:]]' $LINUX_OBJ/$SYMVERFILE 2>/dev/null
then :
  lb_cv_export___genradix_ptr=yes
else $as_nop
  for file in lib/generic-radix-tree.c; do
		if grep -q -E "EXPORT_SYMBOL.*\(__genradix_ptr\)" "$LINUX/$file" 2>/dev/null
then :

			lb_cv_export___genradix_ptr=yes
			break

fi
	done
fi

fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_export___genradix_ptr" >&5
printf "%s\n" "$lb_cv_export___genradix_ptr" >&6; }
if test "x$lb_cv_export___genradix_ptr" = xyes
then :

printf "%s\n" "#define HAVE_GENRADIX_SUPPORT 1" >>confdefs.h

fi

# 5.7 - Export Check


{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Linux kernel exports 'kallsyms_lookup_name'" >&5
printf %s "checking if Linux kernel exports 'kallsyms_lookup_name'... " >&6; }
if test ${lb_cv_export_kallsyms_lookup_name+y}
then :
  printf %s "(cached) " >&6
else $as_nop

lb_cv_export_kallsyms_lookup_name=no
if grep -q -E '[[:space:]]kallsyms_lookup_name[[:space:]]' $LINUX_OBJ/$SYMVERFILE 2>/dev/null
then :
  lb_cv_export_kallsyms_lookup_name=yes
else $as_nop
  for file in kernel/kallsyms.c; do
		if grep -q -E "EXPORT_SYMBOL.*\(kallsyms_lookup_name\)" "$LINUX/$file" 2>/dev/null
then :

			lb_cv_export_kallsyms_lookup_name=yes
			break

fi
	done
fi

fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_export_kallsyms_lookup_name" >&5
printf "%s\n" "$lb_cv_export_kallsyms_lookup_name" >&6; }
if test "x$lb_cv_export_kallsyms_lookup_name" = xyes
then :

printf "%s\n" "#define HAVE_KALLSYMS_LOOKUP_NAME 1" >>confdefs.h

fi



{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: LNet kernel checks
==============================================================================" >&5
printf "%s\n" "$as_me: LNet kernel checks
==============================================================================" >&6;}


{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable tunable backoff TCP support" >&5
printf %s "checking whether to enable tunable backoff TCP support... " >&6; }
# Check whether --enable-backoff was given.
if test ${enable_backoff+y}
then :
  enableval=$enable_backoff;
else $as_nop
  enable_backoff="yes"
fi

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_backoff" >&5
printf "%s\n" "$enable_backoff" >&6; }
if test "x$enable_backoff" = xyes
then :

	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Linux kernel has tunable backoff TCP support" >&5
printf %s "checking if Linux kernel has tunable backoff TCP support... " >&6; }
	if grep -c TCP_BACKOFF $LINUX/include/linux/tcp.h >/dev/null
then :

		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }

printf "%s\n" "#define SOCKNAL_BACKOFF 1" >>confdefs.h

		if grep rto_max $LINUX/include/linux/tcp.h | grep -q __u16 >/dev/null
then :

printf "%s\n" "#define SOCKNAL_BACKOFF_MS 1" >>confdefs.h

fi

else $as_nop

		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }

fi

	ENABLE_BACKOFF=yes


else $as_nop

	ENABLE_BACKOFF=no



fi


# Check whether --enable-multiple-lnds was given.
if test ${enable_multiple_lnds+y}
then :
  enableval=$enable_multiple_lnds; if test x$enable_multiple_lnds != xyes -a x$enable_multiple_lnds != xno
then :
  as_fn_error $? "multiple-lnds valid options are \"yes\" or \"no\"" "$LINENO" 5
fi
else $as_nop
  enable_multiple_lnds="no"
fi

	ENABLE_MULTIPLE_LNDS="$enable_multiple_lnds"

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if external o2iblnd needs to use Compat RDMA" >&5
printf %s "checking if external o2iblnd needs to use Compat RDMA... " >&6; }

# Check whether --with-o2ib was given.
if test ${with_o2ib+y}
then :
  withval=$with_o2ib;
else $as_nop
  with_o2ib="yes"
fi


case $with_o2ib in
	yes)	INT_O2IBPATHS="$LINUX $LINUX/drivers/infiniband"
		BUILT_IN_KO2IBLND="yes"
		# Use ofed_info to find external driver
		if which ofed_info 2>/dev/null
then :

			if test x$uses_dpkg = xyes
then :

				LSPKG="dpkg --listfiles"

else $as_nop

				LSPKG="rpm -ql"

fi

			O2IBPKG="mlnx-ofed-kernel-dkms"
			O2IBPKG+=" mlnx-ofed-kernel-modules"
			O2IBPKG+=" mlnx-ofa_kernel-devel"
			O2IBPKG+=" compat-rdma-devel"
			O2IBPKG+=" kernel-ib-devel"
			O2IBPKG+=" ofa_kernel-devel"

			O2IBDIR="/ofa_kernel"
			O2IBDIR+="|/ofa_kernel/default"
			O2IBDIR+="|/openib"

			O2IBDIR_PATH=$(eval $LSPKG $O2IBPKG 2>/dev/null |
				       egrep "${O2IBDIR}$" |
				       grep -v /ofed_scripts/ | head -n1)

			# Nowadays, path should always be
			# /usr/src/ofa_kernel/$ARCH/${LINUXRELEASE}
			# and we could clean all that complexity
			# but I don't know how far we should be retro-compatible.

			if test -n "$O2IBDIR_PATH"; then
				if test -d $O2IBDIR_PATH/${target_cpu}/${LINUXRELEASE}; then
					O2IBDIR_PATH=$O2IBDIR_PATH/${target_cpu}/${LINUXRELEASE}
				fi
				EXT_O2IBPATHS=$(find $O2IBDIR_PATH -name rdma_cm.h |
					sed -e 's/\/include\/rdma\/rdma_cm.h//')
			fi

			# When ofed-scripts are installed and either the devel
			# package is missing or multiple devel packages are
			# installed. Give the user a warning
			# The in-kernel ofed stack can be built .. so we can
			# proceed.

			EXTERNAL_KO2IBLND="yes"
			if test -z "$EXT_O2IBPATHS"
then :

				EXTERNAL_KO2IBLND="no"
				{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING:
* You seem to have an OFED installed but have not installed the associated
* devel package.
* If you still want to build Lustre for your External OFED I/B stack,
* you need to install its devel headers RPM.
* Only the kernel built-in I/B stack support will be built.
					     " >&5
printf "%s\n" "$as_me: WARNING:
* You seem to have an OFED installed but have not installed the associated
* devel package.
* If you still want to build Lustre for your External OFED I/B stack,
* you need to install its devel headers RPM.
* Only the kernel built-in I/B stack support will be built.
					     " >&2;}

fi
			if test $(echo $EXT_O2IBPATHS | wc -w) -ge 2
then :

				BUILT_IN_KO2IBLND="no"
				{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING:
* It appears that you have multiple OFED versions installed.
* If you still want to build Lustre for your External OFED I/B stack, you
* need to install a single version with the associated devel package.
* Only the kernel built-in I/B stack support will be built.
				     " >&5
printf "%s\n" "$as_me: WARNING:
* It appears that you have multiple OFED versions installed.
* If you still want to build Lustre for your External OFED I/B stack, you
* need to install a single version with the associated devel package.
* Only the kernel built-in I/B stack support will be built.
				     " >&2;}

fi
			if test x$EXTERNAL_KO2IBLND != "xno" ; then
				if test -e $EXT_O2IBPATHS/${LINUXRELEASE}; then
				    EXT_O2IBPATHS=$EXT_O2IBPATHS/${LINUXRELEASE}
				elif test -e $EXT_O2IBPATHS/default; then
				    EXT_O2IBPATHS=$EXT_O2IBPATHS/default
				fi
			fi

fi
		ENABLEO2IB="yes"
		;;
	no)	ENABLEO2IB="no"
		EXTERNAL_KO2IBLND="no"
		BUILT_IN_KO2IBLND="no"
		;;
	*)	ENABLEO2IB="withpath"
		EXT_O2IBPATHS=$with_o2ib
		EXTERNAL_KO2IBLND="yes"
		INT_O2IBPATHS="$LINUX $LINUX/drivers/infiniband"
		BUILT_IN_KO2IBLND="yes"
		;;
esac

if test $ENABLEO2IB = "no"
then :

	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }


	EXT_O2IB_SYMBOLS=""
	INT_O2IB_SYMBOLS=""

else $as_nop

	# Verify in-kernel O2IB can be built (headers exist) ... or disable it.
	int_o2ib_found=false
	for INT_O2IBPATH in $INT_O2IBPATHS; do
		if test \( -f ${INT_O2IBPATH}/include/rdma/rdma_cm.h -a \
			   -f ${INT_O2IBPATH}/include/rdma/ib_cm.h -a \
			   -f ${INT_O2IBPATH}/include/rdma/ib_verbs.h \)
then :

			int_o2ib_found=true
			break

fi
	done
	if ! $int_o2ib_found; then
		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: kernel does not support in-kernel o2ib, it will not be built" >&5
printf "%s\n" "$as_me: WARNING: kernel does not support in-kernel o2ib, it will not be built" >&2;}
		BUILT_IN_KO2IBLND="no"
	fi

	# Verify external O2IB can be built (headers exist), or abort
	ext_o2ib_found=false
	for EXT_O2IBPATH in $EXT_O2IBPATHS; do
		if test \( -f ${EXT_O2IBPATH}/include/rdma/rdma_cm.h -a \
			   -f ${EXT_O2IBPATH}/include/rdma/ib_cm.h -a \
			   -f ${EXT_O2IBPATH}/include/rdma/ib_verbs.h \)
then :

			ext_o2ib_found=true
			break

fi
	done
	if ! $ext_o2ib_found; then
		case $EXT_ENABLEO2IB in
			"withpath") as_fn_error $? "bad --with-o2ib path" "$LINENO" 5 ;;
			*) 	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING:
Auto detection of external O2IB failed. Build of external o2ib disabled." >&5
printf "%s\n" "$as_me: WARNING:
Auto detection of external O2IB failed. Build of external o2ib disabled." >&2;}
				EXTERNAL_KO2IBLND="no"
				;;
		esac
	fi

	if test "x$EXTERNAL_KO2IBLND" != no ; then
		# Additional checks for external O2IB
		COMPAT_AUTOCONF=""
		compatrdma_found=false
		if test -f ${EXT_O2IBPATH}/include/linux/compat-2.6.h; then
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
			compatrdma_found=true

printf "%s\n" "#define HAVE_OFED_COMPAT_RDMA 1" >>confdefs.h

			EXTRA_OFED_CONFIG="$EXTRA_OFED_CONFIG -include ${EXT_O2IBPATH}/include/linux/compat-2.6.h"
			if test -f "$EXT_O2IBPATH/include/linux/compat_autoconf.h"; then
				COMPAT_AUTOCONF="$EXT_O2IBPATH/include/linux/compat_autoconf.h"
			fi
		else
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
		fi
		if ! $compatrdma_found; then
			if test -f "$EXT_O2IBPATH/config.mk"; then
				. "$EXT_O2IBPATH/config.mk"
			elif test -f "$EXT_O2IBPATH/ofed_patch.mk"; then
				. "$EXT_O2IBPATH/ofed_patch.mk"
			fi
		elif test -z "$COMPAT_AUTOCONF"; then
			# Depreciated checks
			if test "x$RHEL_KERNEL" = xyes; then
				RHEL_MAJOR=$(awk '/ RHEL_MAJOR / { print $3 }' $LINUX_OBJ/include/$VERSION_HDIR/version.h)
				I=$(awk '/ RHEL_MINOR / { print $3 }' $LINUX_OBJ/include/$VERSION_HDIR/version.h)
				while test "$I" -ge 0; do
					EXTRA_OFED_INCLUDE="$EXTRA_OFED_INCLUDE -DCONFIG_COMPAT_RHEL_${RHEL_MAJOR}_$I"
					I=$(($I-1))
				done
			elif test "x$SUSE_KERNEL" = xyes; then
				SP=$(grep PATCHLEVEL /etc/SuSE-release | sed -e 's/.*= *//')
				EXTRA_OFED_INCLUDE="$EXTRA_OFED_INCLUDE -DCONFIG_COMPAT_SLES_11_$SP"
			fi
		fi

		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to use any OFED backport headers" >&5
printf %s "checking whether to use any OFED backport headers... " >&6; }
		if test -n "$BACKPORT_INCLUDES"; then
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
			OFED_BACKPORT_PATH="$EXT_O2IBPATH/${BACKPORT_INCLUDES/*\/kernel_addons/kernel_addons}/"
			EXTRA_OFED_INCLUDE="-I$OFED_BACKPORT_PATH $EXTRA_OFED_INCLUDE"
		else
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
		fi

		EXT_O2IBLND=""
		EXT_O2IBPATH=$(readlink --canonicalize $EXT_O2IBPATH)
		EXTRA_OFED_INCLUDE="$EXTRA_OFED_INCLUDE -I$EXT_O2IBPATH/include"
		EXTRA_OFED_INCLUDE="$EXTRA_OFED_INCLUDE -I$EXT_O2IBPATH/include/uapi"
		EXTRA_CHECK_INCLUDE="$EXTRA_OFED_CONFIG $EXTRA_OFED_INCLUDE"

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable OpenIB gen2 support" >&5
printf %s "checking whether to enable OpenIB gen2 support... " >&6; }
if test ${lb_cv_compile_openib_gen2_support+y}
then :
  printf %s "(cached) " >&6
else $as_nop


cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


			#ifdef HAVE_OFED_COMPAT_RDMA
			#undef PACKAGE_NAME
			#undef PACKAGE_TARNAME
			#undef PACKAGE_VERSION
			#undef PACKAGE_STRING
			#undef PACKAGE_BUGREPORT
			#undef PACKAGE_URL
			#include <linux/compat-2.6.h>
			#endif
			#include <linux/version.h>
			#include <linux/pci.h>
			#include <linux/gfp.h>
			#include <rdma/rdma_cm.h>
			#include <rdma/ib_cm.h>
			#include <rdma/ib_verbs.h>

int
main (void)
{

			struct rdma_cm_id *cm_idi __attribute__ ((unused));
			struct rdma_conn_param conn_param __attribute__ ((unused));
			struct ib_device_attr device_attr __attribute__ ((unused));
			struct ib_qp_attr qp_attr __attribute__ ((unused));
			enum ib_cm_rej_reason rej_reason __attribute__ ((unused));

			rdma_destroy_id(NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_ACEOF
rm -f build/conftest.o build/conftest.mod.c build/conftest.ko
if { ac_try='cp conftest.c build && make -d modules DEQUOTE_CC_VERSION_TEXT=$lb_cv_dequote_CC_VERSION_TEXT LDFLAGS= ${LD:+LD="$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_CHECK_INCLUDE -I$LINUX/arch/$SUBARCH/include -Iinclude -Iarch/$SUBARCH/include/generated -I$LINUX/include -Iinclude2 -I$LINUX/include/uapi -Iinclude/generated -I$LINUX/arch/$SUBARCH/include/uapi -Iarch/$SUBARCH/include/generated/uapi -I$LINUX/include/uapi -Iinclude/generated/uapi ${SPL_OBJ:+-include $SPL_OBJ/spl_config.h} ${ZFS_OBJ:+-include $ZFS_OBJ/zfs_config.h} ${SPL:+-I$SPL/include } ${ZFS:+-I$ZFS -I$ZFS/include -I$ZFS/include/os/linux/kernel -I$ZFS/include/os/linux/spl -I$ZFS/include/os/linux/zfs -I${SPL:-$ZFS/include/spl}} -include $CONFIG_INCLUDE" KBUILD_EXTRA_SYMBOLS="${ZFS_OBJ:+$ZFS_OBJ/Module.symvers} $KBUILD_EXTRA_SYMBOLS" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $MODULE_TARGET=$PWD/build'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }
then :
  lb_cv_compile_openib_gen2_support=yes
else $as_nop
  printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

lb_cv_compile_openib_gen2_support=no
fi
rm -f build/conftest.o build/conftest.mod.c build/conftest.mod.o build/conftest.ko build/conftest.c conftest.c


fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_openib_gen2_support" >&5
printf "%s\n" "$lb_cv_compile_openib_gen2_support" >&6; }
if test "x$lb_cv_compile_openib_gen2_support" = xyes
then :

			EXT_O2IBLND="o2iblnd"

else $as_nop

			case $ENABLEO2IB in
			"yes") as_fn_error $? "cannot compile with OpenIB gen2 headers" "$LINENO" 5 ;;
			"withpath") as_fn_error $? "cannot compile with OpenIB gen2 headers under $EXT_O2IBPATH" "$LINENO" 5 ;;
			*) as_fn_error $? "internal error" "$LINENO" 5 ;;
			esac

fi
		# we know that the found external OFED source+headers are good
		EXT_O2IB_SYMBOLS=""
		CHECK_SYMBOLS=""
		if test -f $EXT_O2IBPATH/Module.symvers ; then
			CHECK_SYMBOLS=$EXT_O2IBPATH/Module.symvers
		fi
		if test -n "$CHECK_SYMBOLS"; then
			if test ! "$CHECK_SYMBOLS" -ef "$LINUX_OBJ/Module.symvers"; then
				{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: adding $CHECK_SYMBOLS to external o2ib symbols" >&5
printf "%s\n" "$as_me: adding $CHECK_SYMBOLS to external o2ib symbols" >&6;}
				EXT_O2IB_SYMBOLS="${CHECK_SYMBOLS}"
			else
				EXTERNAL_KO2IBLND="no"
			fi
		elif test "x$EXTERNAL_KO2IBLND" != "xno" ; then
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING:
	* Module.symvers for external o2iblnd was not found.
	* Expected: $EXT_O2IBPATH/Module.symvers
	* ko2iblnd.ko for external OFED will not be built.
				    " >&5
printf "%s\n" "$as_me: WARNING:
	* Module.symvers for external o2iblnd was not found.
	* Expected: $EXT_O2IBPATH/Module.symvers
	* ko2iblnd.ko for external OFED will not be built.
				    " >&2;}
			EXTERNAL_KO2IBLND="no"
		fi
	fi

	# we expect that the found in-kernel OFED source+headers are good
	INT_O2IB_SYMBOLS=""
	CHECK_SYMBOLS=""
	if test -f $LINUX_OBJ/Module.symvers; then
		# Debian symvers is in the arch tree
		# SUSE symvers is in the OBJ tree [KVER-obj/<arch>/<flavor>/]
		CHECK_SYMBOLS=$LINUX_OBJ/Module.symvers
	elif test -f $INT_O2IBPATH/Module.symvers; then
		CHECK_SYMBOLS=$INT_O2IBPATH/Module.symvers
	fi

	if test -n "$CHECK_SYMBOLS"; then
		if test ! "$CHECK_SYMBOLS" -ef "$LINUX_OBJ/Module.symvers"; then
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: adding $CHECK_SYMBOLS to o2ib in-kernel symbols" >&5
printf "%s\n" "$as_me: adding $CHECK_SYMBOLS to o2ib in-kernel symbols" >&6;}
			INT_O2IB_SYMBOLS="${CHECK_SYMBOLS}"
		fi
	else
		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Module.symvers for in-kernel o2iblnd was not found" >&5
printf "%s\n" "$as_me: WARNING: Module.symvers for in-kernel o2iblnd was not found" >&2;}
	fi

	if test "x$EXTERNAL_KO2IBLND" = "xno" -a "x$BUILT_IN_KO2IBLND" = "xno" ; then
		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: No o2iblnd can be built" >&5
printf "%s\n" "$as_me: WARNING: No o2iblnd can be built" >&2;}
	elif test "x$ENABLE_MULTIPLE_LNDS" = "xno" -a \
		  "x$EXTERNAL_KO2IBLND" != "xno" -a "x$BUILT_IN_KO2IBLND" != "xno"; then
		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING:
NOTE: --enable-multiple-lnds is needed to enable both o2iblnd drivers.
* Disabling in-kernel o2iblnd in favor of external o2iblnd driver.
* There can be only one in this configuration
			    " >&5
printf "%s\n" "$as_me: WARNING:
NOTE: --enable-multiple-lnds is needed to enable both o2iblnd drivers.
* Disabling in-kernel o2iblnd in favor of external o2iblnd driver.
* There can be only one in this configuration
			    " >&2;}
		BUILT_IN_KO2IBLND="no"
	fi


{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Linux kernel has kthread_worker" >&5
printf %s "checking if Linux kernel has kthread_worker... " >&6; }
if test ${lb_cv_compile_linux_kthread_worker+y}
then :
  printf %s "(cached) " >&6
else $as_nop


cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#ifdef HAVE_OFED_COMPAT_RDMA
		#undef PACKAGE_NAME
		#undef PACKAGE_TARNAME
		#undef PACKAGE_VERSION
		#undef PACKAGE_STRING
		#undef PACKAGE_BUGREPORT
		#undef PACKAGE_URL
		#include <linux/compat-2.6.h>
		#endif
		#include <linux/kthread.h>

int
main (void)
{

		struct kthread_work *kth_wrk = NULL;
		flush_kthread_work(kth_wrk);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_ACEOF
rm -f build/conftest.o build/conftest.mod.c build/conftest.ko
if { ac_try='cp conftest.c build && make -d modules DEQUOTE_CC_VERSION_TEXT=$lb_cv_dequote_CC_VERSION_TEXT LDFLAGS= ${LD:+LD="$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_CHECK_INCLUDE -I$LINUX/arch/$SUBARCH/include -Iinclude -Iarch/$SUBARCH/include/generated -I$LINUX/include -Iinclude2 -I$LINUX/include/uapi -Iinclude/generated -I$LINUX/arch/$SUBARCH/include/uapi -Iarch/$SUBARCH/include/generated/uapi -I$LINUX/include/uapi -Iinclude/generated/uapi ${SPL_OBJ:+-include $SPL_OBJ/spl_config.h} ${ZFS_OBJ:+-include $ZFS_OBJ/zfs_config.h} ${SPL:+-I$SPL/include } ${ZFS:+-I$ZFS -I$ZFS/include -I$ZFS/include/os/linux/kernel -I$ZFS/include/os/linux/spl -I$ZFS/include/os/linux/zfs -I${SPL:-$ZFS/include/spl}} -include $CONFIG_INCLUDE" KBUILD_EXTRA_SYMBOLS="${ZFS_OBJ:+$ZFS_OBJ/Module.symvers} $KBUILD_EXTRA_SYMBOLS" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $MODULE_TARGET=$PWD/build'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }
then :
  lb_cv_compile_linux_kthread_worker=yes
else $as_nop
  printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

lb_cv_compile_linux_kthread_worker=no
fi
rm -f build/conftest.o build/conftest.mod.c build/conftest.mod.o build/conftest.ko build/conftest.c conftest.c


fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_linux_kthread_worker" >&5
printf "%s\n" "$lb_cv_compile_linux_kthread_worker" >&6; }
if test "x$lb_cv_compile_linux_kthread_worker" = xyes
then :


printf "%s\n" "#define HAVE_KTHREAD_WORK 1" >>confdefs.h

		if test -z "$COMPAT_AUTOCONF"; then
			EXTRA_OFED_INCLUDE="$EXTRA_OFED_INCLUDE -DCONFIG_COMPAT_IS_KTHREAD"
		fi

fi
	EXTRA_CHECK_INCLUDE=""

fi






# Passed down to deb packaging via autoMakefile.am




if test $ENABLEO2IB != "no"
then :

	EXTRA_CHECK_INCLUDE="$EXTRA_OFED_CONFIG $EXTRA_OFED_INCLUDE"
	if test ! $EXT_O2IBPATH -ef $LINUX_OBJ; then
		EXTERNAL_KO2IBLND="yes"
	fi

	# In RHEL 6.2, rdma_create_id() takes the queue-pair type as a fourth argument



	# 4.4 added network namespace parameter for rdma_create_id()



	# 4.2 introduced struct ib_cq_init_attr which is used
	# by ib_create_cq(). Note some OFED stacks only keep
	# their headers in sync with latest kernels but not
	# the functionality which means for infiniband testing
	# we need to always test functionality testings.



	# 4.3 removed ib_alloc_fast_reg_mr()



	# 4.9 must stop using ib_get_dma_mr and the global MR
	# We then have to use FMR/Fastreg for all RDMA.



	# In v4.4 Linux kernel,
	# commit e622f2f4ad2142d2a613a57fb85f8cf737935ef5
	# split up struct ib_send_wr so that all non-trivial verbs
	# use their own structure which embedds struct ib_send_wr.



	# new fast registration API introduced in 4.4

	# new fast registration API introduced in 4.4


	# ib_map_mr_sg changes from 4 to 5 args (adding sg_offset_p)
	# in kernel 4.7 (and RHEL 7.3)



	# ib_query_device() removed in 4.5



	# A flags argument was added to ib_alloc_pd() in Linux 4.9,
	# commit ed082d36a7b2c27d1cda55fdfb28af18040c4a89






	# In MOFED 4.6, the second and third parameters for
	# ib_post_send() and ib_post_recv() are declared with
	# 'const'.



	# MOFED 5.5 fails with:
	#   ERROR: "ib_dma_virt_map_sg" [.../ko2iblnd.ko] undefined!
	# See if we have a broken ib_dma_map_sg()



	#
	# LN_IB_DEVICE_OPS_EXISTS
	#
	# kernel 5.0 commit 521ed0d92ab0db3edd17a5f4716b7f698f4fce61
	# RDMA/core: Introduce ib_device_ops
	# ... introduces the ib_device_ops structure that defines all the
	# InfiniBand device operations in one place ...
	#

	 # LN_IB_DEVICE_OPS_EXISTS

	#
	# LN_O2IB_IB_SG_DMA_ADDRESS_EXISTS
	#
	# kernel 5.1 commit a163afc88556e099271a7b423295bc5176fcecce
	# IB/core: Remove ib_sg_dma_address() and ib_sg_dma_len()
	# ... when dma_ops existed (3.6) ib_sg_dma_address() was not trivial ...
	#

	 # LN_O2IB_IB_SG_DMA_ADDRESS_EXISTS

	#
	# LN_O2IB_RDMA_REJECT
	#
	# A reason argument was added to rdma_reject() in Linux 5.8,
	# commit 8094ba0ace7f6cd1e31ea8b151fba3594cadfa9a

	 # LN_O2IB_RDMA_REJECT

	#
	# LN_O2IB_IB_FMR
	#
	# The FMR pool API was removed in Linux 5.8,
	# commit 4e373d5417ecbb4f438a8500f0379a2fc29c2643

	 # LN_O2IB_IB_FMR

	#
	# LN_O2IB_RDMA_CONNECT_LOCKED
	#
	# rdma_connect_locked() was added in Linux 5.10,
	# commit 071ba4cc559de47160761b9500b72e8fa09d923d
	# and in MOFED-5.2-2. rdma_connect_locked() must
	# be called instead of rdma_connect() in
	# RDMA_CM_EVENT_ROUTE_RESOLVED handler.

	 # LN_O2IB_RDMA_CONNECT_LOCKED

	EXTRA_CHECK_INCLUDE=""




fi # ENABLEO2IB != "no"


{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable GNI lnd" >&5
printf %s "checking whether to enable GNI lnd... " >&6; }
# Check whether --enable-gni was given.
if test ${enable_gni+y}
then :
  enableval=$enable_gni;
else $as_nop
  enable_gni="no"
fi

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_gni" >&5
printf "%s\n" "$enable_gni" >&6; }

if test "x$enable_gni" = xyes
then :

	# GNICPPFLAGS and KBUILD_EXTRA_SYMBOLS were set in spec file
	# to include the additional module dependancies of gni kernel driver
	EXTRA_KCFLAGS_save="$EXTRA_KCFLAGS"
	EXTRA_KCFLAGS="$EXTRA_KCFLAGS $GNICPPFLAGS"

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if GNI kernel headers are present" >&5
printf %s "checking if GNI kernel headers are present... " >&6; }
if test ${lb_cv_compile_GNI_header+y}
then :
  printf %s "(cached) " >&6
else $as_nop


cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/types.h>
		#include <gni_pub.h>

int
main (void)
{

		gni_cdm_handle_t kgni_domain;
		gni_return_t	 rc;
		int		 rrc;
		rc = gni_cdm_create(0, 1, 1, 0, &kgni_domain);
		rrc = (rc == GNI_RC_SUCCESS) ? 0 : 1;
		return rrc;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_ACEOF
rm -f build/conftest.o build/conftest.mod.c build/conftest.ko
if { ac_try='cp conftest.c build && make -d modules DEQUOTE_CC_VERSION_TEXT=$lb_cv_dequote_CC_VERSION_TEXT LDFLAGS= ${LD:+LD="$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_CHECK_INCLUDE -I$LINUX/arch/$SUBARCH/include -Iinclude -Iarch/$SUBARCH/include/generated -I$LINUX/include -Iinclude2 -I$LINUX/include/uapi -Iinclude/generated -I$LINUX/arch/$SUBARCH/include/uapi -Iarch/$SUBARCH/include/generated/uapi -I$LINUX/include/uapi -Iinclude/generated/uapi ${SPL_OBJ:+-include $SPL_OBJ/spl_config.h} ${ZFS_OBJ:+-include $ZFS_OBJ/zfs_config.h} ${SPL:+-I$SPL/include } ${ZFS:+-I$ZFS -I$ZFS/include -I$ZFS/include/os/linux/kernel -I$ZFS/include/os/linux/spl -I$ZFS/include/os/linux/zfs -I${SPL:-$ZFS/include/spl}} -include $CONFIG_INCLUDE" KBUILD_EXTRA_SYMBOLS="${ZFS_OBJ:+$ZFS_OBJ/Module.symvers} $KBUILD_EXTRA_SYMBOLS" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $MODULE_TARGET=$PWD/build'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }
then :
  lb_cv_compile_GNI_header=yes
else $as_nop
  printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

lb_cv_compile_GNI_header=no
fi
rm -f build/conftest.o build/conftest.mod.c build/conftest.mod.o build/conftest.ko build/conftest.c conftest.c


fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_GNI_header" >&5
printf "%s\n" "$lb_cv_compile_GNI_header" >&6; }
if test "x$lb_cv_compile_GNI_header" = xyes
then :

		GNILND="gnilnd"

else $as_nop

		as_fn_error $? "cannot compile gnilnd with given GNICPPFLAGS: $GNICPPFLAGS" "$LINENO" 5

fi
	# at this point, we have gnilnd basic support,
	# now check for extra features

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking to use RCA in gnilnd" >&5
printf %s "checking to use RCA in gnilnd... " >&6; }
if test ${lb_cv_compile_RCA_gnilnd+y}
then :
  printf %s "(cached) " >&6
else $as_nop


cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/types.h>
		#include <gni_pub.h>
		#include <krca_lib.h>

int
main (void)
{

		gni_cdm_handle_t kgni_domain;
		gni_return_t	 rc;
		krca_ticket_t	 ticket = KRCA_NULL_TICKET;
		int		 rrc;
		__u32		 nid = 0, nic_addr;
		rc = gni_cdm_create(0, 1, 1, 0, &kgni_domain);
		rrc = (rc == GNI_RC_SUCCESS) ? 0 : 1;
		rrc += krca_nid_to_nicaddrs(nid, 1, &nic_addr);
		rrc += krca_register(&ticket, RCA_MAKE_SERVICE_INDEX(RCA_IO_CLASS, 9), 99, 0);
		return rrc;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_ACEOF
rm -f build/conftest.o build/conftest.mod.c build/conftest.ko
if { ac_try='cp conftest.c build && make -d modules DEQUOTE_CC_VERSION_TEXT=$lb_cv_dequote_CC_VERSION_TEXT LDFLAGS= ${LD:+LD="$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_CHECK_INCLUDE -I$LINUX/arch/$SUBARCH/include -Iinclude -Iarch/$SUBARCH/include/generated -I$LINUX/include -Iinclude2 -I$LINUX/include/uapi -Iinclude/generated -I$LINUX/arch/$SUBARCH/include/uapi -Iarch/$SUBARCH/include/generated/uapi -I$LINUX/include/uapi -Iinclude/generated/uapi ${SPL_OBJ:+-include $SPL_OBJ/spl_config.h} ${ZFS_OBJ:+-include $ZFS_OBJ/zfs_config.h} ${SPL:+-I$SPL/include } ${ZFS:+-I$ZFS -I$ZFS/include -I$ZFS/include/os/linux/kernel -I$ZFS/include/os/linux/spl -I$ZFS/include/os/linux/zfs -I${SPL:-$ZFS/include/spl}} -include $CONFIG_INCLUDE" KBUILD_EXTRA_SYMBOLS="${ZFS_OBJ:+$ZFS_OBJ/Module.symvers} $KBUILD_EXTRA_SYMBOLS" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $MODULE_TARGET=$PWD/build'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }
then :
  lb_cv_compile_RCA_gnilnd=yes
else $as_nop
  printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

lb_cv_compile_RCA_gnilnd=no
fi
rm -f build/conftest.o build/conftest.mod.c build/conftest.mod.o build/conftest.ko build/conftest.c conftest.c


fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_RCA_gnilnd" >&5
printf "%s\n" "$lb_cv_compile_RCA_gnilnd" >&6; }
if test "x$lb_cv_compile_RCA_gnilnd" = xyes
then :

		GNICPPFLAGS="$GNICPPFLAGS -DGNILND_USE_RCA=1"

fi
	EXTRA_KCFLAGS="$EXTRA_KCFLAGS_save"

	ENABLE_GNI=yes


else $as_nop

	ENABLE_GNI=no


fi





# Check whether --with-kfi was given.
if test ${with_kfi+y}
then :
  withval=$with_kfi;
		as_ac_File=`printf "%s\n" "ac_cv_file_$with_kfi/Module.symvers" | $as_tr_sh`
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $with_kfi/Module.symvers" >&5
printf %s "checking for $with_kfi/Module.symvers... " >&6; }
if eval test \${$as_ac_File+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  test "$cross_compiling" = yes &&
  as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5
if test -r "$with_kfi/Module.symvers"; then
  eval "$as_ac_File=yes"
else
  eval "$as_ac_File=no"
fi
fi
eval ac_res=\$$as_ac_File
	       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
if eval test \"x\$"$as_ac_File"\" = x"yes"
then :

			# KFICPPFLAGS was set in spec file
			KFICPPFLAGS="-I$with_kfi/include"
			EXTRA_KCFLAGS_save="$EXTRA_KCFLAGS"
			EXTRA_KCFLAGS="$EXTRA_KCFLAGS $KFICPPFLAGS"
			KBUILD_EXTRA_SYMBOLS="$KBUILD_EXTRA_SYMBOLS $with_kfi/Module.symvers"

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if kfabric headers are present" >&5
printf %s "checking if kfabric headers are present... " >&6; }
if test ${lb_cv_compile_KFI_header+y}
then :
  printf %s "(cached) " >&6
else $as_nop


cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


				#include <kfi_endpoint.h>

int
main (void)
{

				struct kfi_info *hints;
				hints = kfi_allocinfo();

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_ACEOF
rm -f build/conftest.o build/conftest.mod.c build/conftest.ko
if { ac_try='cp conftest.c build && make -d modules DEQUOTE_CC_VERSION_TEXT=$lb_cv_dequote_CC_VERSION_TEXT LDFLAGS= ${LD:+LD="$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_CHECK_INCLUDE -I$LINUX/arch/$SUBARCH/include -Iinclude -Iarch/$SUBARCH/include/generated -I$LINUX/include -Iinclude2 -I$LINUX/include/uapi -Iinclude/generated -I$LINUX/arch/$SUBARCH/include/uapi -Iarch/$SUBARCH/include/generated/uapi -I$LINUX/include/uapi -Iinclude/generated/uapi ${SPL_OBJ:+-include $SPL_OBJ/spl_config.h} ${ZFS_OBJ:+-include $ZFS_OBJ/zfs_config.h} ${SPL:+-I$SPL/include } ${ZFS:+-I$ZFS -I$ZFS/include -I$ZFS/include/os/linux/kernel -I$ZFS/include/os/linux/spl -I$ZFS/include/os/linux/zfs -I${SPL:-$ZFS/include/spl}} -include $CONFIG_INCLUDE" KBUILD_EXTRA_SYMBOLS="${ZFS_OBJ:+$ZFS_OBJ/Module.symvers} $KBUILD_EXTRA_SYMBOLS" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $MODULE_TARGET=$PWD/build'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }
then :
  lb_cv_compile_KFI_header=yes
else $as_nop
  printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

lb_cv_compile_KFI_header=no
fi
rm -f build/conftest.o build/conftest.mod.c build/conftest.mod.o build/conftest.ko build/conftest.c conftest.c


fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_KFI_header" >&5
printf "%s\n" "$lb_cv_compile_KFI_header" >&6; }
if test "x$lb_cv_compile_KFI_header" = xyes
then :

				KFILND="kfilnd"
				{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: adding $with_kfi/Module.symvers to Symbol Path" >&5
printf "%s\n" "$as_me: adding $with_kfi/Module.symvers to Symbol Path" >&6;}
				EXTRA_SYMBOLS="$EXTRA_SYMBOLS $with_kfi/Module.symvers"

else $as_nop

				as_fn_error $? "cannot compile kfilnd with given KFICPPFLAGS: $KFICPPFLAGS" "$LINENO" 5

fi

else $as_nop

			as_fn_error $? "\"$with_kfi/Module.symvers does not exist\"" "$LINENO" 5

fi

		# at this point, we have kfilnd basic support,
		# now check for extra features

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if kfi_cxi domain ops are available" >&5
printf %s "checking if kfi_cxi domain ops are available... " >&6; }
if test ${lb_cv_compile_KFI_CXI_dom_ops+y}
then :
  printf %s "(cached) " >&6
else $as_nop


cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


			#include <kfi_endpoint.h>
			#include <kfi_cxi_ext.h>

int
main (void)
{

			struct kfid *fid;
			struct kfi_cxi_domain_ops *dom_ops;
			kfi_open_ops(fid, KFI_CXI_DOM_OPS_1, 0,
				(void **)&dom_ops, NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_ACEOF
rm -f build/conftest.o build/conftest.mod.c build/conftest.ko
if { ac_try='cp conftest.c build && make -d modules DEQUOTE_CC_VERSION_TEXT=$lb_cv_dequote_CC_VERSION_TEXT LDFLAGS= ${LD:+LD="$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_CHECK_INCLUDE -I$LINUX/arch/$SUBARCH/include -Iinclude -Iarch/$SUBARCH/include/generated -I$LINUX/include -Iinclude2 -I$LINUX/include/uapi -Iinclude/generated -I$LINUX/arch/$SUBARCH/include/uapi -Iarch/$SUBARCH/include/generated/uapi -I$LINUX/include/uapi -Iinclude/generated/uapi ${SPL_OBJ:+-include $SPL_OBJ/spl_config.h} ${ZFS_OBJ:+-include $ZFS_OBJ/zfs_config.h} ${SPL:+-I$SPL/include } ${ZFS:+-I$ZFS -I$ZFS/include -I$ZFS/include/os/linux/kernel -I$ZFS/include/os/linux/spl -I$ZFS/include/os/linux/zfs -I${SPL:-$ZFS/include/spl}} -include $CONFIG_INCLUDE" KBUILD_EXTRA_SYMBOLS="${ZFS_OBJ:+$ZFS_OBJ/Module.symvers} $KBUILD_EXTRA_SYMBOLS" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $MODULE_TARGET=$PWD/build'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }
then :
  lb_cv_compile_KFI_CXI_dom_ops=yes
else $as_nop
  printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

lb_cv_compile_KFI_CXI_dom_ops=no
fi
rm -f build/conftest.o build/conftest.mod.c build/conftest.mod.o build/conftest.ko build/conftest.c conftest.c


fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_KFI_CXI_dom_ops" >&5
printf "%s\n" "$lb_cv_compile_KFI_CXI_dom_ops" >&6; }
if test "x$lb_cv_compile_KFI_CXI_dom_ops" = xyes
then :


printf "%s\n" "#define HAVE_KFI_CXI_DOM_OPS 1" >>confdefs.h


fi

fi


printf "%s\n" "#define HAVE_KFILND 1" >>confdefs.h







	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: Lustre kernel checks
==============================================================================" >&5
printf "%s\n" "$as_me: Lustre kernel checks
==============================================================================" >&6;}


{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable Lustre pinger support" >&5
printf %s "checking whether to enable Lustre pinger support... " >&6; }
# Check whether --enable-pinger was given.
if test ${enable_pinger+y}
then :
  enableval=$enable_pinger;
else $as_nop
  enable_pinger="yes"
fi

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_pinger" >&5
printf "%s\n" "$enable_pinger" >&6; }
if test "x$enable_pinger" != xno
then :


printf "%s\n" "#define CONFIG_LUSTRE_FS_PINGER 1" >>confdefs.h

	ENABLE_PINGER=yes


else $as_nop

	ENABLE_PINGER=no


fi


{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable data checksum support" >&5
printf %s "checking whether to enable data checksum support... " >&6; }
# Check whether --enable-checksum was given.
if test ${enable_checksum+y}
then :
  enableval=$enable_checksum;
else $as_nop
  enable_checksum="yes"
fi

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_checksum" >&5
printf "%s\n" "$enable_checksum" >&6; }
if test "x$enable_checksum" != xno
then :


printf "%s\n" "#define CONFIG_ENABLE_CHECKSUM 1" >>confdefs.h

	ENABLE_CHECKSUM=yes


else $as_nop

	ENABLE_CHECKSUM=no


fi


{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable flock by default" >&5
printf %s "checking whether to enable flock by default... " >&6; }
# Check whether --enable-flock was given.
if test ${enable_flock+y}
then :
  enableval=$enable_flock;
else $as_nop
  enable_flock="yes"
fi

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_flock" >&5
printf "%s\n" "$enable_flock" >&6; }
if test "x$enable_flock" != xno
then :


printf "%s\n" "#define CONFIG_ENABLE_FLOCK 1" >>confdefs.h

	ENABLE_FLOCK=yes


else $as_nop

	ENABLE_FLOCK=no


fi


{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable lru self-adjusting" >&5
printf %s "checking whether to enable lru self-adjusting... " >&6; }
# Check whether --enable-lru_resize was given.
if test ${enable_lru_resize+y}
then :
  enableval=$enable_lru_resize;
else $as_nop
  enable_lru_resize="yes"
fi

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_lru_resize" >&5
printf "%s\n" "$enable_lru_resize" >&6; }
if test "x$enable_lru_resize" != xno
then :


printf "%s\n" "#define HAVE_LRU_RESIZE_SUPPORT 1" >>confdefs.h

	ENABLE_LRU_RESIZE=yes


else $as_nop

	ENABLE_LRU_RESIZE=no


fi


{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable gss support" >&5
printf %s "checking whether to enable gss support... " >&6; }
# Check whether --enable-gss was given.
if test ${enable_gss+y}
then :
  enableval=$enable_gss;
else $as_nop
  enable_gss="auto"
fi

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_gss" >&5
printf "%s\n" "$enable_gss" >&6; }


if test "x$ac_cv_env_TEST_JOBS_set" != "xset"; then
	TEST_JOBS=${TEST_JOBS:-$(nproc)}
fi



	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}


if test "x$enable_gss" != xno
then :


{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable gss keyring backend" >&5
printf %s "checking whether to enable gss keyring backend... " >&6; }
# Check whether --enable-gss_keyring was given.
if test ${enable_gss_keyring+y}
then :
  enableval=$enable_gss_keyring;
else $as_nop
  if test "x$enable_gss" != xno
then :

			enable_gss_keyring="yes"
else $as_nop

			enable_gss_keyring="auto"
fi
fi

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_gss_keyring" >&5
printf "%s\n" "$enable_gss_keyring" >&6; }
if test "x$enable_gss_keyring" != xno
then :



{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Linux kernel was built with CONFIG_KEYS in or as module" >&5
printf %s "checking if Linux kernel was built with CONFIG_KEYS in or as module... " >&6; }
if test ${lb_cv_compile_config_im_KEYS+y}
then :
  printf %s "(cached) " >&6
else $as_nop


cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


	#include <$AUTOCONF_HDIR/autoconf.h>

int
main (void)
{

	#if !(defined(CONFIG_KEYS) || defined(CONFIG_KEYS_MODULE))
	#error CONFIG_KEYS and CONFIG_KEYS_MODULE not #defined
	#endif

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_ACEOF
rm -f build/conftest.o build/conftest.mod.c build/conftest.ko
if { ac_try='cp conftest.c build && make -d modules DEQUOTE_CC_VERSION_TEXT=$lb_cv_dequote_CC_VERSION_TEXT LDFLAGS= ${LD:+LD="$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_CHECK_INCLUDE -I$LINUX/arch/$SUBARCH/include -Iinclude -Iarch/$SUBARCH/include/generated -I$LINUX/include -Iinclude2 -I$LINUX/include/uapi -Iinclude/generated -I$LINUX/arch/$SUBARCH/include/uapi -Iarch/$SUBARCH/include/generated/uapi -I$LINUX/include/uapi -Iinclude/generated/uapi ${SPL_OBJ:+-include $SPL_OBJ/spl_config.h} ${ZFS_OBJ:+-include $ZFS_OBJ/zfs_config.h} ${SPL:+-I$SPL/include } ${ZFS:+-I$ZFS -I$ZFS/include -I$ZFS/include/os/linux/kernel -I$ZFS/include/os/linux/spl -I$ZFS/include/os/linux/zfs -I${SPL:-$ZFS/include/spl}} -include $CONFIG_INCLUDE" KBUILD_EXTRA_SYMBOLS="${ZFS_OBJ:+$ZFS_OBJ/Module.symvers} $KBUILD_EXTRA_SYMBOLS" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $MODULE_TARGET=$PWD/build'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }
then :
  lb_cv_compile_config_im_KEYS=yes
else $as_nop
  printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

lb_cv_compile_config_im_KEYS=no
fi
rm -f build/conftest.o build/conftest.mod.c build/conftest.mod.o build/conftest.ko build/conftest.c conftest.c


fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_config_im_KEYS" >&5
printf "%s\n" "$lb_cv_compile_config_im_KEYS" >&6; }
if test "x$lb_cv_compile_config_im_KEYS" = xyes
then :

else $as_nop

		gss_keyring_conf_test="fail"
		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: GSS keyring backend requires that CONFIG_KEYS be enabled in your kernel." >&5
printf "%s\n" "$as_me: WARNING: GSS keyring backend requires that CONFIG_KEYS be enabled in your kernel." >&2;}
fi


	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for keyctl_search in -lkeyutils" >&5
printf %s "checking for keyctl_search in -lkeyutils... " >&6; }
if test ${ac_cv_lib_keyutils_keyctl_search+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  ac_check_lib_save_LIBS=$LIBS
LIBS="-lkeyutils  $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.  */
char keyctl_search ();
int
main (void)
{
return keyctl_search ();
  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
  ac_cv_lib_keyutils_keyctl_search=yes
else $as_nop
  ac_cv_lib_keyutils_keyctl_search=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
    conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_keyutils_keyctl_search" >&5
printf "%s\n" "$ac_cv_lib_keyutils_keyctl_search" >&6; }
if test "x$ac_cv_lib_keyutils_keyctl_search" = xyes
then :
  printf "%s\n" "#define HAVE_LIBKEYUTILS 1" >>confdefs.h

  LIBS="-lkeyutils $LIBS"

else $as_nop

		gss_keyring_conf_test="fail"
		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: GSS keyring backend requires libkeyutils" >&5
printf "%s\n" "$as_me: WARNING: GSS keyring backend requires libkeyutils" >&2;}
fi


	if test "x$gss_keyring_conf_test" != xfail
then :


printf "%s\n" "#define HAVE_GSS_KEYRING 1" >>confdefs.h

		enable_gss_keyring="yes"

else $as_nop

		if test "x$enable_gss_keyring" = xyes
then :

			as_fn_error $? "Cannot enable gss_keyring. See above for details." "$LINENO" 5

fi
		enable_ssk="no"

fi

else $as_nop

	enable_ssk="no"

fi


	sunrpc_required=$enable_gss



{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Linux kernel was built with CONFIG_SUNRPC in or as module" >&5
printf %s "checking if Linux kernel was built with CONFIG_SUNRPC in or as module... " >&6; }
if test ${lb_cv_compile_config_im_SUNRPC+y}
then :
  printf %s "(cached) " >&6
else $as_nop


cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


	#include <$AUTOCONF_HDIR/autoconf.h>

int
main (void)
{

	#if !(defined(CONFIG_SUNRPC) || defined(CONFIG_SUNRPC_MODULE))
	#error CONFIG_SUNRPC and CONFIG_SUNRPC_MODULE not #defined
	#endif

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_ACEOF
rm -f build/conftest.o build/conftest.mod.c build/conftest.ko
if { ac_try='cp conftest.c build && make -d modules DEQUOTE_CC_VERSION_TEXT=$lb_cv_dequote_CC_VERSION_TEXT LDFLAGS= ${LD:+LD="$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_CHECK_INCLUDE -I$LINUX/arch/$SUBARCH/include -Iinclude -Iarch/$SUBARCH/include/generated -I$LINUX/include -Iinclude2 -I$LINUX/include/uapi -Iinclude/generated -I$LINUX/arch/$SUBARCH/include/uapi -Iarch/$SUBARCH/include/generated/uapi -I$LINUX/include/uapi -Iinclude/generated/uapi ${SPL_OBJ:+-include $SPL_OBJ/spl_config.h} ${ZFS_OBJ:+-include $ZFS_OBJ/zfs_config.h} ${SPL:+-I$SPL/include } ${ZFS:+-I$ZFS -I$ZFS/include -I$ZFS/include/os/linux/kernel -I$ZFS/include/os/linux/spl -I$ZFS/include/os/linux/zfs -I${SPL:-$ZFS/include/spl}} -include $CONFIG_INCLUDE" KBUILD_EXTRA_SYMBOLS="${ZFS_OBJ:+$ZFS_OBJ/Module.symvers} $KBUILD_EXTRA_SYMBOLS" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $MODULE_TARGET=$PWD/build'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }
then :
  lb_cv_compile_config_im_SUNRPC=yes
else $as_nop
  printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

lb_cv_compile_config_im_SUNRPC=no
fi
rm -f build/conftest.o build/conftest.mod.c build/conftest.mod.o build/conftest.ko build/conftest.c conftest.c


fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_config_im_SUNRPC" >&5
printf "%s\n" "$lb_cv_compile_config_im_SUNRPC" >&6; }
if test "x$lb_cv_compile_config_im_SUNRPC" = xyes
then :

else $as_nop

	if test "x$sunrpc_required" = xyes
then :

		as_fn_error $? "

kernel SUNRPC support is required by using GSS.
" "$LINENO" 5

fi
fi


	sunrpc_required="no"

	require_krb5=$enable_gss

  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Kerberos v5" >&5
printf %s "checking for Kerberos v5... " >&6; }

# Check whether --with-krb5 was given.
if test ${with_krb5+y}
then :
  withval=$with_krb5;  case "$withval" in
    yes|no)
       krb5_with=""
       ;;
    *)
       krb5_with="$withval"
       ;;
    esac

fi


  for dir in $krb5_with /usr /usr/kerberos /usr/local /usr/local/krb5 \
  	     /usr/krb5 /usr/heimdal /usr/local/heimdal /usr/athena ; do
            K5CONFIG=""
    if test -f $dir/bin/krb5-config; then
      K5CONFIG=$dir/bin/krb5-config
    elif test -f "/usr/kerberos/bin/krb5-config"; then
      K5CONFIG="/usr/kerberos/bin/krb5-config"
    elif test -f "/usr/lib/mit/bin/krb5-config"; then
      K5CONFIG="/usr/lib/mit/bin/krb5-config"
    fi
    if test "$K5CONFIG" != ""; then
      KRBCFLAGS=`$K5CONFIG --cflags`
      KRBLIBS=`$K5CONFIG --libs gssapi`
      K5VERS=`$K5CONFIG --version | head -n 1 | awk '{split($(4),v,"."); if (v["3"] == "") v["3"] = "0"; print v["1"]v["2"]v["3"] }'`

printf "%s\n" "#define KRB5_VERSION $K5VERS" >>confdefs.h

      sub_dir=`pkg-config --variable=libdir krb5 | sed "s#^$dir/##"`
      if test -f $dir/include/gssapi/gssapi_krb5.h -a \
                \( -f $dir/$sub_dir/libgssapi_krb5.a -o \
                   -f $dir/$sub_dir/libgssapi_krb5.so \) ; then
         KRBDIR="$dir"
                     if test $K5VERS -le 131; then

printf "%s\n" "#define USE_GSS_KRB5_CCACHE_NAME 1" >>confdefs.h

         fi
         gssapi_lib=gssapi_krb5
         break
                  elif test \( -f $dir/include/heim_err.h -o\
      		 -f $dir/include/heimdal/heim_err.h \) -a \
                -f $dir/lib/libroken.a; then

printf "%s\n" "#define HAVE_HEIMDAL 1" >>confdefs.h

         KRBDIR="$dir"
         gssapi_lib=gssapi
        break
      fi
    fi
  done
    if test "x$require_krb5" = "xyes" -a "x$KRBDIR" = "x"; then
    if test "x$krb5_with" = "x"; then
      as_fn_error $? "

Kerberos v5 with GSS support not found: consider --disable-gss or --with-krb5=
" "$LINENO" 5
    else
      as_fn_error $? "

Kerberos v5 with GSS support not found at $krb5_with
" "$LINENO" 5
    fi
  fi

  if test "x$KRBDIR" != "x"; then

    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $KRBDIR" >&5
printf "%s\n" "$KRBDIR" >&6; }

        echo "The current KRBDIR is $KRBDIR"
    if test "$KRBDIR/lib" = "/lib" -o "$KRBDIR/lib" = "/usr/lib" \
         -o "$KRBDIR/lib" = "//lib" -o "$KRBDIR/lib" = "/usr//lib" ; then
      KRBLDFLAGS="";
    elif /sbin/ldconfig -p | grep > /dev/null "=> $KRBDIR/lib/"; then
      KRBLDFLAGS="";
    else
      KRBLDFLAGS="-Wl,-rpath=$KRBDIR/lib"
    fi

        as_ac_Lib=`printf "%s\n" "ac_cv_lib_$gssapi_lib""_gss_krb5_set_allowable_enctypes" | $as_tr_sh`
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gss_krb5_set_allowable_enctypes in -l$gssapi_lib" >&5
printf %s "checking for gss_krb5_set_allowable_enctypes in -l$gssapi_lib... " >&6; }
if eval test \${$as_ac_Lib+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  ac_check_lib_save_LIBS=$LIBS
LIBS="-l$gssapi_lib $KRBLIBS $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.  */
char gss_krb5_set_allowable_enctypes ();
int
main (void)
{
return gss_krb5_set_allowable_enctypes ();
  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
  eval "$as_ac_Lib=yes"
else $as_nop
  eval "$as_ac_Lib=no"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
    conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
eval ac_res=\$$as_ac_Lib
	       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
if eval test \"x\$"$as_ac_Lib"\" = x"yes"
then :

printf "%s\n" "#define HAVE_SET_ALLOWABLE_ENCTYPES 1" >>confdefs.h

fi

    as_ac_Lib=`printf "%s\n" "ac_cv_lib_$gssapi_lib""_gss_krb5_ccache_name" | $as_tr_sh`
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gss_krb5_ccache_name in -l$gssapi_lib" >&5
printf %s "checking for gss_krb5_ccache_name in -l$gssapi_lib... " >&6; }
if eval test \${$as_ac_Lib+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  ac_check_lib_save_LIBS=$LIBS
LIBS="-l$gssapi_lib $KRBLIBS $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.  */
char gss_krb5_ccache_name ();
int
main (void)
{
return gss_krb5_ccache_name ();
  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
  eval "$as_ac_Lib=yes"
else $as_nop
  eval "$as_ac_Lib=no"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
    conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
eval ac_res=\$$as_ac_Lib
	       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
if eval test \"x\$"$as_ac_Lib"\" = x"yes"
then :

printf "%s\n" "#define HAVE_GSS_KRB5_CCACHE_NAME 1" >>confdefs.h

fi


        as_ac_Lib=`printf "%s\n" "ac_cv_lib_$gssapi_lib""_krb5_get_error_message" | $as_tr_sh`
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for krb5_get_error_message in -l$gssapi_lib" >&5
printf %s "checking for krb5_get_error_message in -l$gssapi_lib... " >&6; }
if eval test \${$as_ac_Lib+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  ac_check_lib_save_LIBS=$LIBS
LIBS="-l$gssapi_lib $KRBLIBS $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.  */
char krb5_get_error_message ();
int
main (void)
{
return krb5_get_error_message ();
  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
  eval "$as_ac_Lib=yes"
else $as_nop
  eval "$as_ac_Lib=no"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
    conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
eval ac_res=\$$as_ac_Lib
	       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
if eval test \"x\$"$as_ac_Lib"\" = x"yes"
then :

printf "%s\n" "#define HAVE_KRB5_GET_ERROR_MESSAGE 1" >>confdefs.h

fi


        as_ac_Lib=`printf "%s\n" "ac_cv_lib_$gssapi_lib""_krb5_get_init_creds_opt_set_addressless" | $as_tr_sh`
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for krb5_get_init_creds_opt_set_addressless in -l$gssapi_lib" >&5
printf %s "checking for krb5_get_init_creds_opt_set_addressless in -l$gssapi_lib... " >&6; }
if eval test \${$as_ac_Lib+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  ac_check_lib_save_LIBS=$LIBS
LIBS="-l$gssapi_lib $KRBLIBS $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.  */
char krb5_get_init_creds_opt_set_addressless ();
int
main (void)
{
return krb5_get_init_creds_opt_set_addressless ();
  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
  eval "$as_ac_Lib=yes"
else $as_nop
  eval "$as_ac_Lib=no"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
    conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
eval ac_res=\$$as_ac_Lib
	       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
if eval test \"x\$"$as_ac_Lib"\" = x"yes"
then :

printf "%s\n" "#define HAVE_KRB5_GET_INIT_CREDS_OPT_SET_ADDRESSLESS 1" >>confdefs.h

fi


        as_ac_Lib=`printf "%s\n" "ac_cv_lib_$gssapi_lib""_krb5int_derive_key" | $as_tr_sh`
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for krb5int_derive_key in -l$gssapi_lib" >&5
printf %s "checking for krb5int_derive_key in -l$gssapi_lib... " >&6; }
if eval test \${$as_ac_Lib+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  ac_check_lib_save_LIBS=$LIBS
LIBS="-l$gssapi_lib $KRBLIBS $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.  */
char krb5int_derive_key ();
int
main (void)
{
return krb5int_derive_key ();
  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
  eval "$as_ac_Lib=yes"
else $as_nop
  eval "$as_ac_Lib=no"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
    conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
eval ac_res=\$$as_ac_Lib
	       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
if eval test \"x\$"$as_ac_Lib"\" = x"yes"
then :
  HAVE_KRB5INT_DERIVE_KEY=1;
printf "%s\n" "#define HAVE_KRB5INT_DERIVE_KEY 1" >>confdefs.h

fi


            if test $K5VERS -ge 1150; then

printf "%s\n" "#define HAVE_AES_SHA2_SUPPORT 1" >>confdefs.h

    fi

        as_ac_Lib=`printf "%s\n" "ac_cv_lib_$gssapi_lib""_krb5_derive_key" | $as_tr_sh`
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for krb5_derive_key in -l$gssapi_lib" >&5
printf %s "checking for krb5_derive_key in -l$gssapi_lib... " >&6; }
if eval test \${$as_ac_Lib+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  ac_check_lib_save_LIBS=$LIBS
LIBS="-l$gssapi_lib $KRBLIBS $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.  */
char krb5_derive_key ();
int
main (void)
{
return krb5_derive_key ();
  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
  eval "$as_ac_Lib=yes"
else $as_nop
  eval "$as_ac_Lib=no"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
    conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
eval ac_res=\$$as_ac_Lib
	       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
if eval test \"x\$"$as_ac_Lib"\" = x"yes"
then :
  HAVE_KRB5_DERIVE_KEY=1;
printf "%s\n" "#define HAVE_KRB5_DERIVE_KEY 1" >>confdefs.h

fi


    if test "x$HAVE_KRB5INT_DERIVE_KEY" = "x1" -o "x$HAVE_KRB5_DERIVE_KEY" = "x1"
then :

printf "%s\n" "#define HAVE_KRB5 1" >>confdefs.h

else $as_nop
  KRBDIR=""; { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING:

Disable gss/krb5 due to missing both
krb5int_derive_key and krb5_derive_key functions!
" >&5
printf "%s\n" "$as_me: WARNING:

Disable gss/krb5 due to missing both
krb5int_derive_key and krb5_derive_key functions!
" >&2;}

fi

			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for DES3 enctype support by krb5" >&5
printf %s "checking for DES3 enctype support by krb5... " >&6; }
	if test $K5VERS -lt 1180; then

printf "%s\n" "#define HAVE_DES3_SUPPORT 1" >>confdefs.h

		{ 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 "x$krb5_with" != "x" -a "$krb5_with" != "$KRBDIR"; then
      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING:

Using $KRBDIR instead of requested value of $krb5_with for Kerberos!
" >&5
printf "%s\n" "$as_me: WARNING:

Using $KRBDIR instead of requested value of $krb5_with for Kerberos!
" >&2;}
    fi







  else
    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found!" >&5
printf "%s\n" "not found!" >&6; }
  fi # "x$KRBDIR" != "x"


	require_krb5="no"

	if test -n "$KRBDIR"
then :

		gss_conf_test="success"

else $as_nop

		gss_conf_test="failure"

fi

	if test "x$gss_conf_test" = xsuccess && test "x$enable_gss" != xno
then :


printf "%s\n" "#define HAVE_GSS 1" >>confdefs.h

		enable_gss="yes"

else $as_nop

		enable_gss_keyring="no"
		enable_gss="no"

fi

	if test "x$enable_ssk" != xno
then :

		enable_ssk=$enable_gss

fi

else $as_nop

	enable_gss_keyring="no"

fi




  for ac_func in name_to_handle_at
do :
  ac_fn_c_check_func "$LINENO" "name_to_handle_at" "ac_cv_func_name_to_handle_at"
if test "x$ac_cv_func_name_to_handle_at" = xyes
then :
  printf "%s\n" "#define HAVE_NAME_TO_HANDLE_AT 1" >>confdefs.h

printf "%s\n" "#define HAVE_FHANDLE_GLIBC_SUPPORT 1" >>confdefs.h

else $as_nop
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: file handle and related syscalls are not supported" >&5
printf "%s\n" "$as_me: WARNING: file handle and related syscalls are not supported" >&2;}
fi

done



  for ac_func in copy_file_range
do :
  ac_fn_c_check_func "$LINENO" "copy_file_range" "ac_cv_func_copy_file_range"
if test "x$ac_cv_func_copy_file_range" = xyes
then :
  printf "%s\n" "#define HAVE_COPY_FILE_RANGE 1" >>confdefs.h

printf "%s\n" "#define HAVE_COPY_FILE_RANGE 1" >>confdefs.h

else $as_nop
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: copy_file_range() is not supported" >&5
printf "%s\n" "$as_me: WARNING: copy_file_range() is not supported" >&2;}
fi

done


if test "x$enable_ssk" != xno
then :


has_hmac_functions="no"
saved_flags="$CFLAGS"
CFLAGS="-Werror"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL has HMAC_Init_ex" >&5
printf %s "checking whether OpenSSL has HMAC_Init_ex... " >&6; }
if test "x$enable_ssk" != xno
then :

cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

	#include <openssl/hmac.h>
	#include <openssl/evp.h>

	int main(void) {
		int rc;
		rc = HMAC_Init_ex(NULL, "test", 4, EVP_md_null(), NULL);
		return rc;
	}

_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :

	has_hmac_functions="yes"

fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext

fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $has_hmac_functions" >&5
printf "%s\n" "$has_hmac_functions" >&6; }
CFLAGS="$saved_flags"


has_fips_support="no"
saved_flags="$CFLAGS"
CFLAGS="-Werror"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL has FIPS_mode" >&5
printf %s "checking whether OpenSSL has FIPS_mode... " >&6; }
if test "x$enable_ssk" != xno
then :

cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

	#include <openssl/dh.h>
	#include <openssl/dsa.h>
	#include <openssl/evp.h>
	#include <openssl/hmac.h>
	#include <openssl/fips.h>

	int main(void) {
		int rc;
		rc = FIPS_mode();
		return rc;
	}

_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :


printf "%s\n" "#define HAVE_OPENSSL_FIPS 1" >>confdefs.h

	has_fips_support="yes"

fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext

fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $has_fips_support" >&5
printf "%s\n" "$has_fips_support" >&6; }
CFLAGS="$saved_flags"


has_evp_pkey="no"
saved_flags="$CFLAGS"
CFLAGS="-Werror"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL has EVP_PKEY_get_params" >&5
printf %s "checking whether OpenSSL has EVP_PKEY_get_params... " >&6; }
if test "x$enable_ssk" != xno
then :

cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

	#include <openssl/evp.h>

	int main(void) {
		OSSL_PARAM *params;

		int rc = EVP_PKEY_get_params(NULL, params);
		return rc;
	}

_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :


printf "%s\n" "#define HAVE_OPENSSL_EVP_PKEY 1" >>confdefs.h

	has_evp_pkey="yes"

fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext

fi
CFLAGS="$saved_flags"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $has_evp_pkey" >&5
printf "%s\n" "$has_evp_pkey" >&6; }


fi
if test "x$has_hmac_functions" = xyes -o "x$has_evp_pkey" = xyes
then :


printf "%s\n" "#define HAVE_OPENSSL_SSK 1" >>confdefs.h


else $as_nop

	enable_ssk="no"

fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL has functions needed for SSK" >&5
printf %s "checking whether OpenSSL has functions needed for SSK... " >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_ssk" >&5
printf "%s\n" "$enable_ssk" >&6; }


saved_flags="$CFLAGS"
CFLAGS="-Werror"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether openssl-devel is present" >&5
printf %s "checking whether openssl-devel is present... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

	#include <openssl/evp.h>

	int main(void) {
		EVP_MD_CTX *mdctx = EVP_MD_CTX_create();
		(void) mdctx;
	}

_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :


printf "%s\n" "#define HAVE_OPENSSL_GETSEPOL 1" >>confdefs.h

	enable_getsepol="yes"


else $as_nop

	enable_getsepol="no"
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING:

No openssl-devel headers found, unable to build l_getsepol and SELinux status checking
" >&5
printf "%s\n" "$as_me: WARNING:

No openssl-devel headers found, unable to build l_getsepol and SELinux status checking
" >&2;}

fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_getsepol" >&5
printf "%s\n" "$enable_getsepol" >&6; }
CFLAGS="$saved_flags"


	# 4.1.0 - Check export


{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Linux kernel exports 'new_sync_read'" >&5
printf %s "checking if Linux kernel exports 'new_sync_read'... " >&6; }
if test ${lb_cv_export_new_sync_read+y}
then :
  printf %s "(cached) " >&6
else $as_nop

lb_cv_export_new_sync_read=no
if grep -q -E '[[:space:]]new_sync_read[[:space:]]' $LINUX_OBJ/$SYMVERFILE 2>/dev/null
then :
  lb_cv_export_new_sync_read=yes
else $as_nop
  for file in fs/read_write.c; do
		if grep -q -E "EXPORT_SYMBOL.*\(new_sync_read\)" "$LINUX/$file" 2>/dev/null
then :

			lb_cv_export_new_sync_read=yes
			break

fi
	done
fi

fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_export_new_sync_read" >&5
printf "%s\n" "$lb_cv_export_new_sync_read" >&6; }
if test "x$lb_cv_export_new_sync_read" = xyes
then :

printf "%s\n" "#define HAVE_SYNC_READ_WRITE 1" >>confdefs.h

fi


	# 4.8 - Check export


{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Linux kernel exports 'default_file_splice_read'" >&5
printf %s "checking if Linux kernel exports 'default_file_splice_read'... " >&6; }
if test ${lb_cv_export_default_file_splice_read+y}
then :
  printf %s "(cached) " >&6
else $as_nop

lb_cv_export_default_file_splice_read=no
if grep -q -E '[[:space:]]default_file_splice_read[[:space:]]' $LINUX_OBJ/$SYMVERFILE 2>/dev/null
then :
  lb_cv_export_default_file_splice_read=yes
else $as_nop
  for file in fs/splice.c; do
		if grep -q -E "EXPORT_SYMBOL.*\(default_file_splice_read\)" "$LINUX/$file" 2>/dev/null
then :

			lb_cv_export_default_file_splice_read=yes
			break

fi
	done
fi

fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_export_default_file_splice_read" >&5
printf "%s\n" "$lb_cv_export_default_file_splice_read" >&6; }
if test "x$lb_cv_export_default_file_splice_read" = xyes
then :

printf "%s\n" "#define HAVE_DEFAULT_FILE_SPLICE_READ_EXPORT 1" >>confdefs.h

fi


	# 5.2 - Check export


{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Linux kernel exports 'account_page_dirtied'" >&5
printf %s "checking if Linux kernel exports 'account_page_dirtied'... " >&6; }
if test ${lb_cv_export_account_page_dirtied+y}
then :
  printf %s "(cached) " >&6
else $as_nop

lb_cv_export_account_page_dirtied=no
if grep -q -E '[[:space:]]account_page_dirtied[[:space:]]' $LINUX_OBJ/$SYMVERFILE 2>/dev/null
then :
  lb_cv_export_account_page_dirtied=yes
else $as_nop
  for file in mm/page-writeback.c; do
		if grep -q -E "EXPORT_SYMBOL.*\(account_page_dirtied\)" "$LINUX/$file" 2>/dev/null
then :

			lb_cv_export_account_page_dirtied=yes
			break

fi
	done
fi

fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_export_account_page_dirtied" >&5
printf "%s\n" "$lb_cv_export_account_page_dirtied" >&6; }
if test "x$lb_cv_export_account_page_dirtied" = xyes
then :

printf "%s\n" "#define HAVE_ACCOUNT_PAGE_DIRTIED_EXPORT 1" >>confdefs.h

fi


	# 6.0 - Check export


{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Linux kernel exports 'add_to_page_cache_locked'" >&5
printf %s "checking if Linux kernel exports 'add_to_page_cache_locked'... " >&6; }
if test ${lb_cv_export_add_to_page_cache_locked+y}
then :
  printf %s "(cached) " >&6
else $as_nop

lb_cv_export_add_to_page_cache_locked=no
if grep -q -E '[[:space:]]add_to_page_cache_locked[[:space:]]' $LINUX_OBJ/$SYMVERFILE 2>/dev/null
then :
  lb_cv_export_add_to_page_cache_locked=yes
else $as_nop
  for file in mm/filemap.c; do
		if grep -q -E "EXPORT_SYMBOL.*\(add_to_page_cache_locked\)" "$LINUX/$file" 2>/dev/null
then :

			lb_cv_export_add_to_page_cache_locked=yes
			break

fi
	done
fi

fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_export_add_to_page_cache_locked" >&5
printf "%s\n" "$lb_cv_export_add_to_page_cache_locked" >&6; }
if test "x$lb_cv_export_add_to_page_cache_locked" = xyes
then :

printf "%s\n" "#define HAVE_ADD_TO_PAGE_CACHE_LOCKED 1" >>confdefs.h

fi



			if test "x$enable_zfs" = xyes
then :


{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if zfs defines dsl_pool_config_enter/exit" >&5
printf %s "checking if zfs defines dsl_pool_config_enter/exit... " >&6; }
if test ${lb_cv_compile_dsl_pool_config_enter+y}
then :
  printf %s "(cached) " >&6
else $as_nop


cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <sys/dsl_pool.h>

int
main (void)
{

		dsl_pool_config_enter(NULL, FTAG);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_ACEOF
rm -f build/conftest.o build/conftest.mod.c build/conftest.ko
if { ac_try='cp conftest.c build && make -d modules DEQUOTE_CC_VERSION_TEXT=$lb_cv_dequote_CC_VERSION_TEXT LDFLAGS= ${LD:+LD="$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_CHECK_INCLUDE -I$LINUX/arch/$SUBARCH/include -Iinclude -Iarch/$SUBARCH/include/generated -I$LINUX/include -Iinclude2 -I$LINUX/include/uapi -Iinclude/generated -I$LINUX/arch/$SUBARCH/include/uapi -Iarch/$SUBARCH/include/generated/uapi -I$LINUX/include/uapi -Iinclude/generated/uapi ${SPL_OBJ:+-include $SPL_OBJ/spl_config.h} ${ZFS_OBJ:+-include $ZFS_OBJ/zfs_config.h} ${SPL:+-I$SPL/include } ${ZFS:+-I$ZFS -I$ZFS/include -I$ZFS/include/os/linux/kernel -I$ZFS/include/os/linux/spl -I$ZFS/include/os/linux/zfs -I${SPL:-$ZFS/include/spl}} -include $CONFIG_INCLUDE" KBUILD_EXTRA_SYMBOLS="${ZFS_OBJ:+$ZFS_OBJ/Module.symvers} $KBUILD_EXTRA_SYMBOLS" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $MODULE_TARGET=$PWD/build'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }
then :
  lb_cv_compile_dsl_pool_config_enter=yes
else $as_nop
  printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

lb_cv_compile_dsl_pool_config_enter=no
fi
rm -f build/conftest.o build/conftest.mod.c build/conftest.mod.o build/conftest.ko build/conftest.c conftest.c


fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_dsl_pool_config_enter" >&5
printf "%s\n" "$lb_cv_compile_dsl_pool_config_enter" >&6; }
if test "x$lb_cv_compile_dsl_pool_config_enter" = xyes
then :


printf "%s\n" "#define HAVE_DSL_POOL_CONFIG 1" >>confdefs.h


else $as_nop

		as_fn_error $? "dsl_pool_config_enter/exit do not exist" "$LINENO" 5

fi

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if zfs defines zio_buf_alloc/free" >&5
printf %s "checking if zfs defines zio_buf_alloc/free... " >&6; }
if test ${lb_cv_compile_zio_buf_alloc+y}
then :
  printf %s "(cached) " >&6
else $as_nop


cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <sys/zio.h>

int
main (void)
{

		void *ptr = zio_buf_alloc(1024);

		(void)ptr;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_ACEOF
rm -f build/conftest.o build/conftest.mod.c build/conftest.ko
if { ac_try='cp conftest.c build && make -d modules DEQUOTE_CC_VERSION_TEXT=$lb_cv_dequote_CC_VERSION_TEXT LDFLAGS= ${LD:+LD="$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_CHECK_INCLUDE -I$LINUX/arch/$SUBARCH/include -Iinclude -Iarch/$SUBARCH/include/generated -I$LINUX/include -Iinclude2 -I$LINUX/include/uapi -Iinclude/generated -I$LINUX/arch/$SUBARCH/include/uapi -Iarch/$SUBARCH/include/generated/uapi -I$LINUX/include/uapi -Iinclude/generated/uapi ${SPL_OBJ:+-include $SPL_OBJ/spl_config.h} ${ZFS_OBJ:+-include $ZFS_OBJ/zfs_config.h} ${SPL:+-I$SPL/include } ${ZFS:+-I$ZFS -I$ZFS/include -I$ZFS/include/os/linux/kernel -I$ZFS/include/os/linux/spl -I$ZFS/include/os/linux/zfs -I${SPL:-$ZFS/include/spl}} -include $CONFIG_INCLUDE" KBUILD_EXTRA_SYMBOLS="${ZFS_OBJ:+$ZFS_OBJ/Module.symvers} $KBUILD_EXTRA_SYMBOLS" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $MODULE_TARGET=$PWD/build'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }
then :
  lb_cv_compile_zio_buf_alloc=yes
else $as_nop
  printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

lb_cv_compile_zio_buf_alloc=no
fi
rm -f build/conftest.o build/conftest.mod.c build/conftest.mod.o build/conftest.ko build/conftest.c conftest.c


fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_zio_buf_alloc" >&5
printf "%s\n" "$lb_cv_compile_zio_buf_alloc" >&6; }
if test "x$lb_cv_compile_zio_buf_alloc" = xyes
then :


printf "%s\n" "#define HAVE_ZIO_BUF_ALLOC 1" >>confdefs.h


else $as_nop

		as_fn_error $? "zio_buf_alloc/free do not exist" "$LINENO" 5

fi

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if zfs defines spa_maxblocksize" >&5
printf %s "checking if zfs defines spa_maxblocksize... " >&6; }
if test ${lb_cv_compile_spa_maxblocksize+y}
then :
  printf %s "(cached) " >&6
else $as_nop


cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <sys/spa.h>

int
main (void)
{

		spa_t *spa = NULL;
		int size = spa_maxblocksize(spa);

		(void)size;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_ACEOF
rm -f build/conftest.o build/conftest.mod.c build/conftest.ko
if { ac_try='cp conftest.c build && make -d modules DEQUOTE_CC_VERSION_TEXT=$lb_cv_dequote_CC_VERSION_TEXT LDFLAGS= ${LD:+LD="$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_CHECK_INCLUDE -I$LINUX/arch/$SUBARCH/include -Iinclude -Iarch/$SUBARCH/include/generated -I$LINUX/include -Iinclude2 -I$LINUX/include/uapi -Iinclude/generated -I$LINUX/arch/$SUBARCH/include/uapi -Iarch/$SUBARCH/include/generated/uapi -I$LINUX/include/uapi -Iinclude/generated/uapi ${SPL_OBJ:+-include $SPL_OBJ/spl_config.h} ${ZFS_OBJ:+-include $ZFS_OBJ/zfs_config.h} ${SPL:+-I$SPL/include } ${ZFS:+-I$ZFS -I$ZFS/include -I$ZFS/include/os/linux/kernel -I$ZFS/include/os/linux/spl -I$ZFS/include/os/linux/zfs -I${SPL:-$ZFS/include/spl}} -include $CONFIG_INCLUDE" KBUILD_EXTRA_SYMBOLS="${ZFS_OBJ:+$ZFS_OBJ/Module.symvers} $KBUILD_EXTRA_SYMBOLS" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $MODULE_TARGET=$PWD/build'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }
then :
  lb_cv_compile_spa_maxblocksize=yes
else $as_nop
  printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

lb_cv_compile_spa_maxblocksize=no
fi
rm -f build/conftest.o build/conftest.mod.c build/conftest.mod.o build/conftest.ko build/conftest.c conftest.c


fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_spa_maxblocksize" >&5
printf "%s\n" "$lb_cv_compile_spa_maxblocksize" >&6; }
if test "x$lb_cv_compile_spa_maxblocksize" = xyes
then :


printf "%s\n" "#define HAVE_SPA_MAXBLOCKSIZE 1" >>confdefs.h


else $as_nop

		as_fn_error $? "spa_maxblocksize does not exist" "$LINENO" 5

fi

	#
	# ZFS 0.7.x adds support for large dnodes.  This
	# allows Lustre to optionally specify the size of a
	# dnode which ZFS will then use to store metadata such
	# as xattrs. The default dnode size specified by the
	# 'dnodesize' dataset property will be used unless a
	# specific value is provided.
	#

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if zfs defines dmu_object_alloc_dnsize" >&5
printf %s "checking if zfs defines dmu_object_alloc_dnsize... " >&6; }
if test ${lb_cv_compile_dmu_object_alloc_dnsize+y}
then :
  printf %s "(cached) " >&6
else $as_nop


cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <sys/dmu.h>
		#include <sys/dnode.h>

int
main (void)
{

		objset_t *os = NULL;
		dmu_object_type_t objtype = DMU_OT_NONE;
		int blocksize = 0;
		dmu_object_type_t bonustype = DMU_OT_SA;
		int dnodesize = DNODE_MIN_SIZE;
		dmu_tx_t *tx = NULL;
		uint64_t id;

		id = dmu_object_alloc_dnsize(os, objtype, blocksize,
					     bonustype,
					     DN_BONUS_SIZE(dnodesize),
					     dnodesize, tx);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_ACEOF
rm -f build/conftest.o build/conftest.mod.c build/conftest.ko
if { ac_try='cp conftest.c build && make -d modules DEQUOTE_CC_VERSION_TEXT=$lb_cv_dequote_CC_VERSION_TEXT LDFLAGS= ${LD:+LD="$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_CHECK_INCLUDE -I$LINUX/arch/$SUBARCH/include -Iinclude -Iarch/$SUBARCH/include/generated -I$LINUX/include -Iinclude2 -I$LINUX/include/uapi -Iinclude/generated -I$LINUX/arch/$SUBARCH/include/uapi -Iarch/$SUBARCH/include/generated/uapi -I$LINUX/include/uapi -Iinclude/generated/uapi ${SPL_OBJ:+-include $SPL_OBJ/spl_config.h} ${ZFS_OBJ:+-include $ZFS_OBJ/zfs_config.h} ${SPL:+-I$SPL/include } ${ZFS:+-I$ZFS -I$ZFS/include -I$ZFS/include/os/linux/kernel -I$ZFS/include/os/linux/spl -I$ZFS/include/os/linux/zfs -I${SPL:-$ZFS/include/spl}} -include $CONFIG_INCLUDE" KBUILD_EXTRA_SYMBOLS="${ZFS_OBJ:+$ZFS_OBJ/Module.symvers} $KBUILD_EXTRA_SYMBOLS" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $MODULE_TARGET=$PWD/build'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }
then :
  lb_cv_compile_dmu_object_alloc_dnsize=yes
else $as_nop
  printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

lb_cv_compile_dmu_object_alloc_dnsize=no
fi
rm -f build/conftest.o build/conftest.mod.c build/conftest.mod.o build/conftest.ko build/conftest.c conftest.c


fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_dmu_object_alloc_dnsize" >&5
printf "%s\n" "$lb_cv_compile_dmu_object_alloc_dnsize" >&6; }
if test "x$lb_cv_compile_dmu_object_alloc_dnsize" = xyes
then :


printf "%s\n" "#define HAVE_DMU_OBJECT_ALLOC_DNSIZE 1" >>confdefs.h


else $as_nop

		as_fn_error $? "dmu_object_alloc_dnsize does not exist" "$LINENO" 5

fi

	#
	# ZFS 0.7.x extended dmu_prefetch() to take an additional
	# 'level' and 'priority' argument.  Use a level of 0 and a
	# priority of ZIO_PRIORITY_SYNC_READ to replicate the
	# behavior of the four argument version.
	#

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ZFS has 'dmu_prefetch' with 6 args" >&5
printf %s "checking if ZFS has 'dmu_prefetch' with 6 args... " >&6; }
if test ${lb_cv_compile_dmu_prefetch+y}
then :
  printf %s "(cached) " >&6
else $as_nop


cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <sys/dmu.h>

int
main (void)
{

		objset_t *os = NULL;
		uint64_t object = 0;
		int64_t level = 0;
		uint64_t offset = 0;
		uint64_t len = 0;
		enum zio_priority pri = ZIO_PRIORITY_SYNC_READ;

		dmu_prefetch(os, object, level, offset, len, pri);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_ACEOF
rm -f build/conftest.o build/conftest.mod.c build/conftest.ko
if { ac_try='cp conftest.c build && make -d modules DEQUOTE_CC_VERSION_TEXT=$lb_cv_dequote_CC_VERSION_TEXT LDFLAGS= ${LD:+LD="$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_CHECK_INCLUDE -I$LINUX/arch/$SUBARCH/include -Iinclude -Iarch/$SUBARCH/include/generated -I$LINUX/include -Iinclude2 -I$LINUX/include/uapi -Iinclude/generated -I$LINUX/arch/$SUBARCH/include/uapi -Iarch/$SUBARCH/include/generated/uapi -I$LINUX/include/uapi -Iinclude/generated/uapi ${SPL_OBJ:+-include $SPL_OBJ/spl_config.h} ${ZFS_OBJ:+-include $ZFS_OBJ/zfs_config.h} ${SPL:+-I$SPL/include } ${ZFS:+-I$ZFS -I$ZFS/include -I$ZFS/include/os/linux/kernel -I$ZFS/include/os/linux/spl -I$ZFS/include/os/linux/zfs -I${SPL:-$ZFS/include/spl}} -include $CONFIG_INCLUDE" KBUILD_EXTRA_SYMBOLS="${ZFS_OBJ:+$ZFS_OBJ/Module.symvers} $KBUILD_EXTRA_SYMBOLS" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $MODULE_TARGET=$PWD/build'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }
then :
  lb_cv_compile_dmu_prefetch=yes
else $as_nop
  printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

lb_cv_compile_dmu_prefetch=no
fi
rm -f build/conftest.o build/conftest.mod.c build/conftest.mod.o build/conftest.ko build/conftest.c conftest.c


fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_dmu_prefetch" >&5
printf "%s\n" "$lb_cv_compile_dmu_prefetch" >&6; }
if test "x$lb_cv_compile_dmu_prefetch" = xyes
then :


printf "%s\n" "#define HAVE_DMU_PREFETCH_6ARG 1" >>confdefs.h


else $as_nop

		as_fn_error $? "6 argument dmu_pretch does not exist" "$LINENO" 5

fi
	#
	# ZFS 0.7.0 feature: SPA_FEATURE_USEROBJ_ACCOUNTING
	#

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ZFS has native dnode accounting supported" >&5
printf %s "checking if ZFS has native dnode accounting supported... " >&6; }
if test ${lb_cv_compile_dmu_objset_userobjused_enabled+y}
then :
  printf %s "(cached) " >&6
else $as_nop


cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <sys/dmu_objset.h>

int
main (void)
{

		dmu_objset_userobjused_enabled(NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_ACEOF
rm -f build/conftest.o build/conftest.mod.c build/conftest.ko
if { ac_try='cp conftest.c build && make -d modules DEQUOTE_CC_VERSION_TEXT=$lb_cv_dequote_CC_VERSION_TEXT LDFLAGS= ${LD:+LD="$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_CHECK_INCLUDE -I$LINUX/arch/$SUBARCH/include -Iinclude -Iarch/$SUBARCH/include/generated -I$LINUX/include -Iinclude2 -I$LINUX/include/uapi -Iinclude/generated -I$LINUX/arch/$SUBARCH/include/uapi -Iarch/$SUBARCH/include/generated/uapi -I$LINUX/include/uapi -Iinclude/generated/uapi ${SPL_OBJ:+-include $SPL_OBJ/spl_config.h} ${ZFS_OBJ:+-include $ZFS_OBJ/zfs_config.h} ${SPL:+-I$SPL/include } ${ZFS:+-I$ZFS -I$ZFS/include -I$ZFS/include/os/linux/kernel -I$ZFS/include/os/linux/spl -I$ZFS/include/os/linux/zfs -I${SPL:-$ZFS/include/spl}} -include $CONFIG_INCLUDE" KBUILD_EXTRA_SYMBOLS="${ZFS_OBJ:+$ZFS_OBJ/Module.symvers} $KBUILD_EXTRA_SYMBOLS" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $MODULE_TARGET=$PWD/build'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }
then :
  lb_cv_compile_dmu_objset_userobjused_enabled=yes
else $as_nop
  printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

lb_cv_compile_dmu_objset_userobjused_enabled=no
fi
rm -f build/conftest.o build/conftest.mod.c build/conftest.mod.o build/conftest.ko build/conftest.c conftest.c


fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_dmu_objset_userobjused_enabled" >&5
printf "%s\n" "$lb_cv_compile_dmu_objset_userobjused_enabled" >&6; }
if test "x$lb_cv_compile_dmu_objset_userobjused_enabled" = xyes
then :


printf "%s\n" "#define HAVE_DMU_USEROBJ_ACCOUNTING 1" >>confdefs.h


else $as_nop

		as_fn_error $? "native dnode accounting does not exist" "$LINENO" 5

fi
	#
	# ZFS 0.7.0 feature: MULTIHOST
	#

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ZFS has multihost protection" >&5
printf %s "checking if ZFS has multihost protection... " >&6; }
if test ${lb_cv_compile_spa_multihost+y}
then :
  printf %s "(cached) " >&6
else $as_nop


cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <sys/fs/zfs.h>

int
main (void)
{

		zpool_prop_t prop = ZPOOL_PROP_MULTIHOST;

		(void)prop;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_ACEOF
rm -f build/conftest.o build/conftest.mod.c build/conftest.ko
if { ac_try='cp conftest.c build && make -d modules DEQUOTE_CC_VERSION_TEXT=$lb_cv_dequote_CC_VERSION_TEXT LDFLAGS= ${LD:+LD="$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_CHECK_INCLUDE -I$LINUX/arch/$SUBARCH/include -Iinclude -Iarch/$SUBARCH/include/generated -I$LINUX/include -Iinclude2 -I$LINUX/include/uapi -Iinclude/generated -I$LINUX/arch/$SUBARCH/include/uapi -Iarch/$SUBARCH/include/generated/uapi -I$LINUX/include/uapi -Iinclude/generated/uapi ${SPL_OBJ:+-include $SPL_OBJ/spl_config.h} ${ZFS_OBJ:+-include $ZFS_OBJ/zfs_config.h} ${SPL:+-I$SPL/include } ${ZFS:+-I$ZFS -I$ZFS/include -I$ZFS/include/os/linux/kernel -I$ZFS/include/os/linux/spl -I$ZFS/include/os/linux/zfs -I${SPL:-$ZFS/include/spl}} -include $CONFIG_INCLUDE" KBUILD_EXTRA_SYMBOLS="${ZFS_OBJ:+$ZFS_OBJ/Module.symvers} $KBUILD_EXTRA_SYMBOLS" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $MODULE_TARGET=$PWD/build'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }
then :
  lb_cv_compile_spa_multihost=yes
else $as_nop
  printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

lb_cv_compile_spa_multihost=no
fi
rm -f build/conftest.o build/conftest.mod.c build/conftest.mod.o build/conftest.ko build/conftest.c conftest.c


fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_spa_multihost" >&5
printf "%s\n" "$lb_cv_compile_spa_multihost" >&6; }
if test "x$lb_cv_compile_spa_multihost" = xyes
then :


printf "%s\n" "#define HAVE_ZFS_MULTIHOST 1" >>confdefs.h


else $as_nop

		as_fn_error $? "multihost protection does not exist" "$LINENO" 5

fi
	#
	# ZFS 0.7.x adds new method zap_lookup_by_dnode
	#

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ZFS has 'zap_lookup_by_dnode'" >&5
printf %s "checking if ZFS has 'zap_lookup_by_dnode'... " >&6; }
if test ${lb_cv_compile_zap_lookup_by_dnode+y}
then :
  printf %s "(cached) " >&6
else $as_nop


cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <sys/zap.h>
		#include <sys/dnode.h>

int
main (void)
{

		dnode_t *dn = NULL;
		zap_lookup_by_dnode(dn, NULL, 1, 1, NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_ACEOF
rm -f build/conftest.o build/conftest.mod.c build/conftest.ko
if { ac_try='cp conftest.c build && make -d modules DEQUOTE_CC_VERSION_TEXT=$lb_cv_dequote_CC_VERSION_TEXT LDFLAGS= ${LD:+LD="$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_CHECK_INCLUDE -I$LINUX/arch/$SUBARCH/include -Iinclude -Iarch/$SUBARCH/include/generated -I$LINUX/include -Iinclude2 -I$LINUX/include/uapi -Iinclude/generated -I$LINUX/arch/$SUBARCH/include/uapi -Iarch/$SUBARCH/include/generated/uapi -I$LINUX/include/uapi -Iinclude/generated/uapi ${SPL_OBJ:+-include $SPL_OBJ/spl_config.h} ${ZFS_OBJ:+-include $ZFS_OBJ/zfs_config.h} ${SPL:+-I$SPL/include } ${ZFS:+-I$ZFS -I$ZFS/include -I$ZFS/include/os/linux/kernel -I$ZFS/include/os/linux/spl -I$ZFS/include/os/linux/zfs -I${SPL:-$ZFS/include/spl}} -include $CONFIG_INCLUDE" KBUILD_EXTRA_SYMBOLS="${ZFS_OBJ:+$ZFS_OBJ/Module.symvers} $KBUILD_EXTRA_SYMBOLS" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $MODULE_TARGET=$PWD/build'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }
then :
  lb_cv_compile_zap_lookup_by_dnode=yes
else $as_nop
  printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

lb_cv_compile_zap_lookup_by_dnode=no
fi
rm -f build/conftest.o build/conftest.mod.c build/conftest.mod.o build/conftest.ko build/conftest.c conftest.c


fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_zap_lookup_by_dnode" >&5
printf "%s\n" "$lb_cv_compile_zap_lookup_by_dnode" >&6; }
if test "x$lb_cv_compile_zap_lookup_by_dnode" = xyes
then :


printf "%s\n" "#define HAVE_ZAP_LOOKUP_BY_DNODE 1" >>confdefs.h


else $as_nop

		as_fn_error $? "zap_lookup_by_dnode does not exist" "$LINENO" 5

fi
	#
	# ZFS 0.7.x adds new method zap_add_by_dnode
	#

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ZFS has 'zap_add_by_dnode'" >&5
printf %s "checking if ZFS has 'zap_add_by_dnode'... " >&6; }
if test ${lb_cv_compile_zap_add_by_dnode+y}
then :
  printf %s "(cached) " >&6
else $as_nop


cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <sys/zap.h>
		#include <sys/dnode.h>

int
main (void)
{

		dnode_t *dn = NULL;
		zap_add_by_dnode(dn, NULL, 1, 1, NULL, NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_ACEOF
rm -f build/conftest.o build/conftest.mod.c build/conftest.ko
if { ac_try='cp conftest.c build && make -d modules DEQUOTE_CC_VERSION_TEXT=$lb_cv_dequote_CC_VERSION_TEXT LDFLAGS= ${LD:+LD="$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_CHECK_INCLUDE -I$LINUX/arch/$SUBARCH/include -Iinclude -Iarch/$SUBARCH/include/generated -I$LINUX/include -Iinclude2 -I$LINUX/include/uapi -Iinclude/generated -I$LINUX/arch/$SUBARCH/include/uapi -Iarch/$SUBARCH/include/generated/uapi -I$LINUX/include/uapi -Iinclude/generated/uapi ${SPL_OBJ:+-include $SPL_OBJ/spl_config.h} ${ZFS_OBJ:+-include $ZFS_OBJ/zfs_config.h} ${SPL:+-I$SPL/include } ${ZFS:+-I$ZFS -I$ZFS/include -I$ZFS/include/os/linux/kernel -I$ZFS/include/os/linux/spl -I$ZFS/include/os/linux/zfs -I${SPL:-$ZFS/include/spl}} -include $CONFIG_INCLUDE" KBUILD_EXTRA_SYMBOLS="${ZFS_OBJ:+$ZFS_OBJ/Module.symvers} $KBUILD_EXTRA_SYMBOLS" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $MODULE_TARGET=$PWD/build'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }
then :
  lb_cv_compile_zap_add_by_dnode=yes
else $as_nop
  printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

lb_cv_compile_zap_add_by_dnode=no
fi
rm -f build/conftest.o build/conftest.mod.c build/conftest.mod.o build/conftest.ko build/conftest.c conftest.c


fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_zap_add_by_dnode" >&5
printf "%s\n" "$lb_cv_compile_zap_add_by_dnode" >&6; }
if test "x$lb_cv_compile_zap_add_by_dnode" = xyes
then :


printf "%s\n" "#define HAVE_ZAP_ADD_BY_DNODE 1" >>confdefs.h


else $as_nop

		as_fn_error $? "zap_add_by_dnode does not exist" "$LINENO" 5

fi
	#
	# ZFS 0.7.x adds new method zap_remove_by_dnode
	#

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ZFS has 'zap_remove_by_dnode'" >&5
printf %s "checking if ZFS has 'zap_remove_by_dnode'... " >&6; }
if test ${lb_cv_compile_zap_remove_by_dnode+y}
then :
  printf %s "(cached) " >&6
else $as_nop


cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <sys/zap.h>
		#include <sys/dnode.h>

int
main (void)
{

		dnode_t *dn = NULL;
		zap_remove_by_dnode(dn, NULL, NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_ACEOF
rm -f build/conftest.o build/conftest.mod.c build/conftest.ko
if { ac_try='cp conftest.c build && make -d modules DEQUOTE_CC_VERSION_TEXT=$lb_cv_dequote_CC_VERSION_TEXT LDFLAGS= ${LD:+LD="$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_CHECK_INCLUDE -I$LINUX/arch/$SUBARCH/include -Iinclude -Iarch/$SUBARCH/include/generated -I$LINUX/include -Iinclude2 -I$LINUX/include/uapi -Iinclude/generated -I$LINUX/arch/$SUBARCH/include/uapi -Iarch/$SUBARCH/include/generated/uapi -I$LINUX/include/uapi -Iinclude/generated/uapi ${SPL_OBJ:+-include $SPL_OBJ/spl_config.h} ${ZFS_OBJ:+-include $ZFS_OBJ/zfs_config.h} ${SPL:+-I$SPL/include } ${ZFS:+-I$ZFS -I$ZFS/include -I$ZFS/include/os/linux/kernel -I$ZFS/include/os/linux/spl -I$ZFS/include/os/linux/zfs -I${SPL:-$ZFS/include/spl}} -include $CONFIG_INCLUDE" KBUILD_EXTRA_SYMBOLS="${ZFS_OBJ:+$ZFS_OBJ/Module.symvers} $KBUILD_EXTRA_SYMBOLS" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $MODULE_TARGET=$PWD/build'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }
then :
  lb_cv_compile_zap_remove_by_dnode=yes
else $as_nop
  printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

lb_cv_compile_zap_remove_by_dnode=no
fi
rm -f build/conftest.o build/conftest.mod.c build/conftest.mod.o build/conftest.ko build/conftest.c conftest.c


fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_zap_remove_by_dnode" >&5
printf "%s\n" "$lb_cv_compile_zap_remove_by_dnode" >&6; }
if test "x$lb_cv_compile_zap_remove_by_dnode" = xyes
then :


printf "%s\n" "#define HAVE_ZAP_REMOVE_ADD_BY_DNODE 1" >>confdefs.h


else $as_nop

		as_fn_error $? "zap_remove_by_dnode does not exist" "$LINENO" 5

fi
	#
	# ZFS 0.7.x adds new method dmu_tx_hold_zap_by_dnode
	#

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ZFS has 'dmu_tx_hold_zap_by_dnode'" >&5
printf %s "checking if ZFS has 'dmu_tx_hold_zap_by_dnode'... " >&6; }
if test ${lb_cv_compile_dmu_tx_hold_zap_by_dnode+y}
then :
  printf %s "(cached) " >&6
else $as_nop


cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <sys/zap.h>
		#include <sys/dnode.h>

int
main (void)
{

		dnode_t *dn = NULL;
		dmu_tx_hold_zap_by_dnode(NULL, dn, TRUE, NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_ACEOF
rm -f build/conftest.o build/conftest.mod.c build/conftest.ko
if { ac_try='cp conftest.c build && make -d modules DEQUOTE_CC_VERSION_TEXT=$lb_cv_dequote_CC_VERSION_TEXT LDFLAGS= ${LD:+LD="$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_CHECK_INCLUDE -I$LINUX/arch/$SUBARCH/include -Iinclude -Iarch/$SUBARCH/include/generated -I$LINUX/include -Iinclude2 -I$LINUX/include/uapi -Iinclude/generated -I$LINUX/arch/$SUBARCH/include/uapi -Iarch/$SUBARCH/include/generated/uapi -I$LINUX/include/uapi -Iinclude/generated/uapi ${SPL_OBJ:+-include $SPL_OBJ/spl_config.h} ${ZFS_OBJ:+-include $ZFS_OBJ/zfs_config.h} ${SPL:+-I$SPL/include } ${ZFS:+-I$ZFS -I$ZFS/include -I$ZFS/include/os/linux/kernel -I$ZFS/include/os/linux/spl -I$ZFS/include/os/linux/zfs -I${SPL:-$ZFS/include/spl}} -include $CONFIG_INCLUDE" KBUILD_EXTRA_SYMBOLS="${ZFS_OBJ:+$ZFS_OBJ/Module.symvers} $KBUILD_EXTRA_SYMBOLS" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $MODULE_TARGET=$PWD/build'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }
then :
  lb_cv_compile_dmu_tx_hold_zap_by_dnode=yes
else $as_nop
  printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

lb_cv_compile_dmu_tx_hold_zap_by_dnode=no
fi
rm -f build/conftest.o build/conftest.mod.c build/conftest.mod.o build/conftest.ko build/conftest.c conftest.c


fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_dmu_tx_hold_zap_by_dnode" >&5
printf "%s\n" "$lb_cv_compile_dmu_tx_hold_zap_by_dnode" >&6; }
if test "x$lb_cv_compile_dmu_tx_hold_zap_by_dnode" = xyes
then :


printf "%s\n" "#define HAVE_DMU_TX_HOLD_ZAP_BY_DNODE 1" >>confdefs.h


else $as_nop

		as_fn_error $? "dmu_tx_hold_zap_by_dnode does not exist" "$LINENO" 5

fi
	#
	# ZFS 0.7.x adds new method dmu_tx_hold_write_by_dnode
	#

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ZFS has 'dmu_tx_hold_write_by_dnode'" >&5
printf %s "checking if ZFS has 'dmu_tx_hold_write_by_dnode'... " >&6; }
if test ${lb_cv_compile_dmu_tx_hold_write_by_dnode+y}
then :
  printf %s "(cached) " >&6
else $as_nop


cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <sys/zap.h>
		#include <sys/dnode.h>

int
main (void)
{

		dnode_t *dn = NULL;
		dmu_tx_hold_write_by_dnode(NULL, dn, 0, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_ACEOF
rm -f build/conftest.o build/conftest.mod.c build/conftest.ko
if { ac_try='cp conftest.c build && make -d modules DEQUOTE_CC_VERSION_TEXT=$lb_cv_dequote_CC_VERSION_TEXT LDFLAGS= ${LD:+LD="$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_CHECK_INCLUDE -I$LINUX/arch/$SUBARCH/include -Iinclude -Iarch/$SUBARCH/include/generated -I$LINUX/include -Iinclude2 -I$LINUX/include/uapi -Iinclude/generated -I$LINUX/arch/$SUBARCH/include/uapi -Iarch/$SUBARCH/include/generated/uapi -I$LINUX/include/uapi -Iinclude/generated/uapi ${SPL_OBJ:+-include $SPL_OBJ/spl_config.h} ${ZFS_OBJ:+-include $ZFS_OBJ/zfs_config.h} ${SPL:+-I$SPL/include } ${ZFS:+-I$ZFS -I$ZFS/include -I$ZFS/include/os/linux/kernel -I$ZFS/include/os/linux/spl -I$ZFS/include/os/linux/zfs -I${SPL:-$ZFS/include/spl}} -include $CONFIG_INCLUDE" KBUILD_EXTRA_SYMBOLS="${ZFS_OBJ:+$ZFS_OBJ/Module.symvers} $KBUILD_EXTRA_SYMBOLS" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $MODULE_TARGET=$PWD/build'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }
then :
  lb_cv_compile_dmu_tx_hold_write_by_dnode=yes
else $as_nop
  printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

lb_cv_compile_dmu_tx_hold_write_by_dnode=no
fi
rm -f build/conftest.o build/conftest.mod.c build/conftest.mod.o build/conftest.ko build/conftest.c conftest.c


fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_dmu_tx_hold_write_by_dnode" >&5
printf "%s\n" "$lb_cv_compile_dmu_tx_hold_write_by_dnode" >&6; }
if test "x$lb_cv_compile_dmu_tx_hold_write_by_dnode" = xyes
then :


printf "%s\n" "#define HAVE_DMU_TX_HOLD_WRITE_BY_DNODE 1" >>confdefs.h


else $as_nop

		as_fn_error $? "dmu_tx_hold_write_by_dnode does not exist" "$LINENO" 5

fi
	#
	# ZFS 0.7.x adds new method dmu_write_by_dnode
	#

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ZFS has 'dmu_write_by_dnode'" >&5
printf %s "checking if ZFS has 'dmu_write_by_dnode'... " >&6; }
if test ${lb_cv_compile_dmu_write_by_dnode+y}
then :
  printf %s "(cached) " >&6
else $as_nop


cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <sys/zap.h>
		#include <sys/dnode.h>

int
main (void)
{

		dnode_t *dn = NULL;
		dmu_write_by_dnode(dn, 0, 0, NULL, NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_ACEOF
rm -f build/conftest.o build/conftest.mod.c build/conftest.ko
if { ac_try='cp conftest.c build && make -d modules DEQUOTE_CC_VERSION_TEXT=$lb_cv_dequote_CC_VERSION_TEXT LDFLAGS= ${LD:+LD="$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_CHECK_INCLUDE -I$LINUX/arch/$SUBARCH/include -Iinclude -Iarch/$SUBARCH/include/generated -I$LINUX/include -Iinclude2 -I$LINUX/include/uapi -Iinclude/generated -I$LINUX/arch/$SUBARCH/include/uapi -Iarch/$SUBARCH/include/generated/uapi -I$LINUX/include/uapi -Iinclude/generated/uapi ${SPL_OBJ:+-include $SPL_OBJ/spl_config.h} ${ZFS_OBJ:+-include $ZFS_OBJ/zfs_config.h} ${SPL:+-I$SPL/include } ${ZFS:+-I$ZFS -I$ZFS/include -I$ZFS/include/os/linux/kernel -I$ZFS/include/os/linux/spl -I$ZFS/include/os/linux/zfs -I${SPL:-$ZFS/include/spl}} -include $CONFIG_INCLUDE" KBUILD_EXTRA_SYMBOLS="${ZFS_OBJ:+$ZFS_OBJ/Module.symvers} $KBUILD_EXTRA_SYMBOLS" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $MODULE_TARGET=$PWD/build'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }
then :
  lb_cv_compile_dmu_write_by_dnode=yes
else $as_nop
  printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

lb_cv_compile_dmu_write_by_dnode=no
fi
rm -f build/conftest.o build/conftest.mod.c build/conftest.mod.o build/conftest.ko build/conftest.c conftest.c


fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_dmu_write_by_dnode" >&5
printf "%s\n" "$lb_cv_compile_dmu_write_by_dnode" >&6; }
if test "x$lb_cv_compile_dmu_write_by_dnode" = xyes
then :


printf "%s\n" "#define HAVE_DMU_WRITE_BY_DNODE 1" >>confdefs.h


else $as_nop

		as_fn_error $? "dmu_write_by_dnode does not exist" "$LINENO" 5

fi
	#
	# ZFS 0.7.x adds new method dmu_read_by_dnode
	#

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ZFS has 'dmu_read_by_dnode'" >&5
printf %s "checking if ZFS has 'dmu_read_by_dnode'... " >&6; }
if test ${lb_cv_compile_dmu_read_by_dnode+y}
then :
  printf %s "(cached) " >&6
else $as_nop


cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <sys/zap.h>
		#include <sys/dnode.h>

int
main (void)
{

		dnode_t *dn = NULL;
		dmu_read_by_dnode(dn, 0, 0, NULL, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_ACEOF
rm -f build/conftest.o build/conftest.mod.c build/conftest.ko
if { ac_try='cp conftest.c build && make -d modules DEQUOTE_CC_VERSION_TEXT=$lb_cv_dequote_CC_VERSION_TEXT LDFLAGS= ${LD:+LD="$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_CHECK_INCLUDE -I$LINUX/arch/$SUBARCH/include -Iinclude -Iarch/$SUBARCH/include/generated -I$LINUX/include -Iinclude2 -I$LINUX/include/uapi -Iinclude/generated -I$LINUX/arch/$SUBARCH/include/uapi -Iarch/$SUBARCH/include/generated/uapi -I$LINUX/include/uapi -Iinclude/generated/uapi ${SPL_OBJ:+-include $SPL_OBJ/spl_config.h} ${ZFS_OBJ:+-include $ZFS_OBJ/zfs_config.h} ${SPL:+-I$SPL/include } ${ZFS:+-I$ZFS -I$ZFS/include -I$ZFS/include/os/linux/kernel -I$ZFS/include/os/linux/spl -I$ZFS/include/os/linux/zfs -I${SPL:-$ZFS/include/spl}} -include $CONFIG_INCLUDE" KBUILD_EXTRA_SYMBOLS="${ZFS_OBJ:+$ZFS_OBJ/Module.symvers} $KBUILD_EXTRA_SYMBOLS" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $MODULE_TARGET=$PWD/build'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }
then :
  lb_cv_compile_dmu_read_by_dnode=yes
else $as_nop
  printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

lb_cv_compile_dmu_read_by_dnode=no
fi
rm -f build/conftest.o build/conftest.mod.c build/conftest.mod.o build/conftest.ko build/conftest.c conftest.c


fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_dmu_read_by_dnode" >&5
printf "%s\n" "$lb_cv_compile_dmu_read_by_dnode" >&6; }
if test "x$lb_cv_compile_dmu_read_by_dnode" = xyes
then :


printf "%s\n" "#define HAVE_DMU_READ_BY_DNODE 1" >>confdefs.h


else $as_nop

		as_fn_error $? "dmu_read_by_dnode does not exist" "$LINENO" 5

fi
	#
	# ZFS 0.7.2 adds new method dmu_tx_mark_netfree
	#

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ZFS has 'dmu_tx_mark_netfree'" >&5
printf %s "checking if ZFS has 'dmu_tx_mark_netfree'... " >&6; }
if test ${lb_cv_compile_dmu_tx_mark_netfree+y}
then :
  printf %s "(cached) " >&6
else $as_nop


cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <sys/dmu.h>

int
main (void)
{

		dmu_tx_t *tx = NULL;
		dmu_tx_mark_netfree(tx);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_ACEOF
rm -f build/conftest.o build/conftest.mod.c build/conftest.ko
if { ac_try='cp conftest.c build && make -d modules DEQUOTE_CC_VERSION_TEXT=$lb_cv_dequote_CC_VERSION_TEXT LDFLAGS= ${LD:+LD="$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_CHECK_INCLUDE -I$LINUX/arch/$SUBARCH/include -Iinclude -Iarch/$SUBARCH/include/generated -I$LINUX/include -Iinclude2 -I$LINUX/include/uapi -Iinclude/generated -I$LINUX/arch/$SUBARCH/include/uapi -Iarch/$SUBARCH/include/generated/uapi -I$LINUX/include/uapi -Iinclude/generated/uapi ${SPL_OBJ:+-include $SPL_OBJ/spl_config.h} ${ZFS_OBJ:+-include $ZFS_OBJ/zfs_config.h} ${SPL:+-I$SPL/include } ${ZFS:+-I$ZFS -I$ZFS/include -I$ZFS/include/os/linux/kernel -I$ZFS/include/os/linux/spl -I$ZFS/include/os/linux/zfs -I${SPL:-$ZFS/include/spl}} -include $CONFIG_INCLUDE" KBUILD_EXTRA_SYMBOLS="${ZFS_OBJ:+$ZFS_OBJ/Module.symvers} $KBUILD_EXTRA_SYMBOLS" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $MODULE_TARGET=$PWD/build'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }
then :
  lb_cv_compile_dmu_tx_mark_netfree=yes
else $as_nop
  printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

lb_cv_compile_dmu_tx_mark_netfree=no
fi
rm -f build/conftest.o build/conftest.mod.c build/conftest.mod.o build/conftest.ko build/conftest.c conftest.c


fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_dmu_tx_mark_netfree" >&5
printf "%s\n" "$lb_cv_compile_dmu_tx_mark_netfree" >&6; }
if test "x$lb_cv_compile_dmu_tx_mark_netfree" = xyes
then :


printf "%s\n" "#define HAVE_DMU_TX_MARK_NETFREE 1" >>confdefs.h


fi
	#
	# ZFS 0.7.10 changes timestruc_t to inode_timespec_t
	#

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if SPL has 'inode_timespec_t'" >&5
printf %s "checking if SPL has 'inode_timespec_t'... " >&6; }
if test ${lb_cv_compile_zfs_have_inode_timespec+y}
then :
  printf %s "(cached) " >&6
else $as_nop


cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <sys/fs/zfs.h>

int
main (void)
{

		inode_timespec_t now;
		gethrestime(&now);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_ACEOF
rm -f build/conftest.o build/conftest.mod.c build/conftest.ko
if { ac_try='cp conftest.c build && make -d modules DEQUOTE_CC_VERSION_TEXT=$lb_cv_dequote_CC_VERSION_TEXT LDFLAGS= ${LD:+LD="$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_CHECK_INCLUDE -I$LINUX/arch/$SUBARCH/include -Iinclude -Iarch/$SUBARCH/include/generated -I$LINUX/include -Iinclude2 -I$LINUX/include/uapi -Iinclude/generated -I$LINUX/arch/$SUBARCH/include/uapi -Iarch/$SUBARCH/include/generated/uapi -I$LINUX/include/uapi -Iinclude/generated/uapi ${SPL_OBJ:+-include $SPL_OBJ/spl_config.h} ${ZFS_OBJ:+-include $ZFS_OBJ/zfs_config.h} ${SPL:+-I$SPL/include } ${ZFS:+-I$ZFS -I$ZFS/include -I$ZFS/include/os/linux/kernel -I$ZFS/include/os/linux/spl -I$ZFS/include/os/linux/zfs -I${SPL:-$ZFS/include/spl}} -include $CONFIG_INCLUDE" KBUILD_EXTRA_SYMBOLS="${ZFS_OBJ:+$ZFS_OBJ/Module.symvers} $KBUILD_EXTRA_SYMBOLS" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $MODULE_TARGET=$PWD/build'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }
then :
  lb_cv_compile_zfs_have_inode_timespec=yes
else $as_nop
  printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

lb_cv_compile_zfs_have_inode_timespec=no
fi
rm -f build/conftest.o build/conftest.mod.c build/conftest.mod.o build/conftest.ko build/conftest.c conftest.c


fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_zfs_have_inode_timespec" >&5
printf "%s\n" "$lb_cv_compile_zfs_have_inode_timespec" >&6; }
if test "x$lb_cv_compile_zfs_have_inode_timespec" = xyes
then :


printf "%s\n" "#define HAVE_ZFS_INODE_TIMESPEC 1" >>confdefs.h


fi
	# ZFS 0.7.12/0.8.x uses zfs_refcount_add() instead of
	# refcount_add().  ZFS 2.0 renamed sys/refcount.h to
	# sys/zfs_refcount.h, rather the add another check to
	# determine the correct header name include it
	# indirectly through sys/dnode.h.
	#

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ZFS has 'zfs_refcount_add'" >&5
printf %s "checking if ZFS has 'zfs_refcount_add'... " >&6; }
if test ${lb_cv_compile_zfs_refcount_add+y}
then :
  printf %s "(cached) " >&6
else $as_nop


cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <sys/dnode.h>

int
main (void)
{

		zfs_refcount_add((zfs_refcount_t *) NULL, NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_ACEOF
rm -f build/conftest.o build/conftest.mod.c build/conftest.ko
if { ac_try='cp conftest.c build && make -d modules DEQUOTE_CC_VERSION_TEXT=$lb_cv_dequote_CC_VERSION_TEXT LDFLAGS= ${LD:+LD="$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_CHECK_INCLUDE -I$LINUX/arch/$SUBARCH/include -Iinclude -Iarch/$SUBARCH/include/generated -I$LINUX/include -Iinclude2 -I$LINUX/include/uapi -Iinclude/generated -I$LINUX/arch/$SUBARCH/include/uapi -Iarch/$SUBARCH/include/generated/uapi -I$LINUX/include/uapi -Iinclude/generated/uapi ${SPL_OBJ:+-include $SPL_OBJ/spl_config.h} ${ZFS_OBJ:+-include $ZFS_OBJ/zfs_config.h} ${SPL:+-I$SPL/include } ${ZFS:+-I$ZFS -I$ZFS/include -I$ZFS/include/os/linux/kernel -I$ZFS/include/os/linux/spl -I$ZFS/include/os/linux/zfs -I${SPL:-$ZFS/include/spl}} -include $CONFIG_INCLUDE" KBUILD_EXTRA_SYMBOLS="${ZFS_OBJ:+$ZFS_OBJ/Module.symvers} $KBUILD_EXTRA_SYMBOLS" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $MODULE_TARGET=$PWD/build'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }
then :
  lb_cv_compile_zfs_refcount_add=yes
else $as_nop
  printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

lb_cv_compile_zfs_refcount_add=no
fi
rm -f build/conftest.o build/conftest.mod.c build/conftest.mod.o build/conftest.ko build/conftest.c conftest.c


fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_zfs_refcount_add" >&5
printf "%s\n" "$lb_cv_compile_zfs_refcount_add" >&6; }
if test "x$lb_cv_compile_zfs_refcount_add" = xyes
then :


printf "%s\n" "#define HAVE_ZFS_REFCOUNT_ADD 1" >>confdefs.h


fi
	#
	# ZFS 0.8.x changes dmu_objset_own for encryption
	#

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ZFS has 'dmu_objset_own' with 6 args" >&5
printf %s "checking if ZFS has 'dmu_objset_own' with 6 args... " >&6; }
if test ${lb_cv_compile_dmu_objset_own+y}
then :
  printf %s "(cached) " >&6
else $as_nop


cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <sys/dmu_objset.h>

int
main (void)
{

		objset_t *os = NULL;
		dmu_objset_type_t type = DMU_OST_ANY;
		dmu_objset_own(NULL, type, B_FALSE, B_TRUE, FTAG, &os);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_ACEOF
rm -f build/conftest.o build/conftest.mod.c build/conftest.ko
if { ac_try='cp conftest.c build && make -d modules DEQUOTE_CC_VERSION_TEXT=$lb_cv_dequote_CC_VERSION_TEXT LDFLAGS= ${LD:+LD="$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_CHECK_INCLUDE -I$LINUX/arch/$SUBARCH/include -Iinclude -Iarch/$SUBARCH/include/generated -I$LINUX/include -Iinclude2 -I$LINUX/include/uapi -Iinclude/generated -I$LINUX/arch/$SUBARCH/include/uapi -Iarch/$SUBARCH/include/generated/uapi -I$LINUX/include/uapi -Iinclude/generated/uapi ${SPL_OBJ:+-include $SPL_OBJ/spl_config.h} ${ZFS_OBJ:+-include $ZFS_OBJ/zfs_config.h} ${SPL:+-I$SPL/include } ${ZFS:+-I$ZFS -I$ZFS/include -I$ZFS/include/os/linux/kernel -I$ZFS/include/os/linux/spl -I$ZFS/include/os/linux/zfs -I${SPL:-$ZFS/include/spl}} -include $CONFIG_INCLUDE" KBUILD_EXTRA_SYMBOLS="${ZFS_OBJ:+$ZFS_OBJ/Module.symvers} $KBUILD_EXTRA_SYMBOLS" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $MODULE_TARGET=$PWD/build'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }
then :
  lb_cv_compile_dmu_objset_own=yes
else $as_nop
  printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

lb_cv_compile_dmu_objset_own=no
fi
rm -f build/conftest.o build/conftest.mod.c build/conftest.mod.o build/conftest.ko build/conftest.c conftest.c


fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_dmu_objset_own" >&5
printf "%s\n" "$lb_cv_compile_dmu_objset_own" >&6; }
if test "x$lb_cv_compile_dmu_objset_own" = xyes
then :


printf "%s\n" "#define HAVE_DMU_OBJSET_OWN_6ARG 1" >>confdefs.h


fi
	#
	# ZFS 0.8.x changes dmu_objset_disown for encryption
	#

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ZFS has 'dmu_objset_disown' with 3 args" >&5
printf %s "checking if ZFS has 'dmu_objset_disown' with 3 args... " >&6; }
if test ${lb_cv_compile_dmu_objset_disown+y}
then :
  printf %s "(cached) " >&6
else $as_nop


cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <sys/dmu_objset.h>

int
main (void)
{

		objset_t *os = NULL;
		dmu_objset_disown(os, B_TRUE, FTAG);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_ACEOF
rm -f build/conftest.o build/conftest.mod.c build/conftest.ko
if { ac_try='cp conftest.c build && make -d modules DEQUOTE_CC_VERSION_TEXT=$lb_cv_dequote_CC_VERSION_TEXT LDFLAGS= ${LD:+LD="$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_CHECK_INCLUDE -I$LINUX/arch/$SUBARCH/include -Iinclude -Iarch/$SUBARCH/include/generated -I$LINUX/include -Iinclude2 -I$LINUX/include/uapi -Iinclude/generated -I$LINUX/arch/$SUBARCH/include/uapi -Iarch/$SUBARCH/include/generated/uapi -I$LINUX/include/uapi -Iinclude/generated/uapi ${SPL_OBJ:+-include $SPL_OBJ/spl_config.h} ${ZFS_OBJ:+-include $ZFS_OBJ/zfs_config.h} ${SPL:+-I$SPL/include } ${ZFS:+-I$ZFS -I$ZFS/include -I$ZFS/include/os/linux/kernel -I$ZFS/include/os/linux/spl -I$ZFS/include/os/linux/zfs -I${SPL:-$ZFS/include/spl}} -include $CONFIG_INCLUDE" KBUILD_EXTRA_SYMBOLS="${ZFS_OBJ:+$ZFS_OBJ/Module.symvers} $KBUILD_EXTRA_SYMBOLS" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $MODULE_TARGET=$PWD/build'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }
then :
  lb_cv_compile_dmu_objset_disown=yes
else $as_nop
  printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

lb_cv_compile_dmu_objset_disown=no
fi
rm -f build/conftest.o build/conftest.mod.c build/conftest.mod.o build/conftest.ko build/conftest.c conftest.c


fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_dmu_objset_disown" >&5
printf "%s\n" "$lb_cv_compile_dmu_objset_disown" >&6; }
if test "x$lb_cv_compile_dmu_objset_disown" = xyes
then :


printf "%s\n" "#define HAVE_DMU_OBJSET_DISOWN_3ARG 1" >>confdefs.h


fi
	#
	# ZFS exports dmu_offet_next
	#
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ZFS exports 'dmu_offset_next'" >&5
printf %s "checking if ZFS exports 'dmu_offset_next'... " >&6; }
if test ${lb_cv_dmu_offset_next+y}
then :
  printf %s "(cached) " >&6
else $as_nop

	lb_cv_dmu_offset_next="no"
	if grep -q -E "EXPORT_SYMBOL.*\(dmu_offset_next\)" "$zfssrc/module/zfs/dmu.c" 2>/dev/null
then :
  lb_cv_dmu_offset_next="yes"
fi

fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_dmu_offset_next" >&5
printf "%s\n" "$lb_cv_dmu_offset_next" >&6; }
	if test "x$lb_cv_dmu_offset_next" = "xyes"
then :


printf "%s\n" "#define HAVE_DMU_OFFSET_NEXT 1" >>confdefs.h


fi
	#
	# ZFS 2.0 replaced .db_last_dirty / .dr_next with a list_t
	# and list_node_t named .db_dirty_records / .dr_dbuf_node.
	#

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ZFS has 'db_dirty_records' list_t" >&5
printf %s "checking if ZFS has 'db_dirty_records' list_t... " >&6; }
if test ${lb_cv_compile_db_dirty_records+y}
then :
  printf %s "(cached) " >&6
else $as_nop


cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <sys/dbuf.h>

int
main (void)
{

		dmu_buf_impl_t db;
		dbuf_dirty_record_t *dr;
		dr = list_head(&db.db_dirty_records);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_ACEOF
rm -f build/conftest.o build/conftest.mod.c build/conftest.ko
if { ac_try='cp conftest.c build && make -d modules DEQUOTE_CC_VERSION_TEXT=$lb_cv_dequote_CC_VERSION_TEXT LDFLAGS= ${LD:+LD="$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_CHECK_INCLUDE -I$LINUX/arch/$SUBARCH/include -Iinclude -Iarch/$SUBARCH/include/generated -I$LINUX/include -Iinclude2 -I$LINUX/include/uapi -Iinclude/generated -I$LINUX/arch/$SUBARCH/include/uapi -Iarch/$SUBARCH/include/generated/uapi -I$LINUX/include/uapi -Iinclude/generated/uapi ${SPL_OBJ:+-include $SPL_OBJ/spl_config.h} ${ZFS_OBJ:+-include $ZFS_OBJ/zfs_config.h} ${SPL:+-I$SPL/include } ${ZFS:+-I$ZFS -I$ZFS/include -I$ZFS/include/os/linux/kernel -I$ZFS/include/os/linux/spl -I$ZFS/include/os/linux/zfs -I${SPL:-$ZFS/include/spl}} -include $CONFIG_INCLUDE" KBUILD_EXTRA_SYMBOLS="${ZFS_OBJ:+$ZFS_OBJ/Module.symvers} $KBUILD_EXTRA_SYMBOLS" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $MODULE_TARGET=$PWD/build'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }
then :
  lb_cv_compile_db_dirty_records=yes
else $as_nop
  printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

lb_cv_compile_db_dirty_records=no
fi
rm -f build/conftest.o build/conftest.mod.c build/conftest.mod.o build/conftest.ko build/conftest.c conftest.c


fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_db_dirty_records" >&5
printf "%s\n" "$lb_cv_compile_db_dirty_records" >&6; }
if test "x$lb_cv_compile_db_dirty_records" = xyes
then :


printf "%s\n" "#define HAVE_DB_DIRTY_RECORDS_LIST 1" >>confdefs.h


fi
	#
	# ZFS 2.0 renamed sys/refcount.h to zfs_refcount.h
	# This build issue shows up with ZFS 2.0.7 and Lustre 2.12 LTS
	#

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ZFS renamed sys/refcount to zfs_refcount.h" >&5
printf %s "checking if ZFS renamed sys/refcount to zfs_refcount.h... " >&6; }
if test ${lb_cv_compile_zfs_zfs_refcount+y}
then :
  printf %s "(cached) " >&6
else $as_nop


cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <sys/zfs_refcount.h>

int
main (void)
{

		zfs_refcount_add((zfs_refcount_t *) NULL, NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_ACEOF
rm -f build/conftest.o build/conftest.mod.c build/conftest.ko
if { ac_try='cp conftest.c build && make -d modules DEQUOTE_CC_VERSION_TEXT=$lb_cv_dequote_CC_VERSION_TEXT LDFLAGS= ${LD:+LD="$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_CHECK_INCLUDE -I$LINUX/arch/$SUBARCH/include -Iinclude -Iarch/$SUBARCH/include/generated -I$LINUX/include -Iinclude2 -I$LINUX/include/uapi -Iinclude/generated -I$LINUX/arch/$SUBARCH/include/uapi -Iarch/$SUBARCH/include/generated/uapi -I$LINUX/include/uapi -Iinclude/generated/uapi ${SPL_OBJ:+-include $SPL_OBJ/spl_config.h} ${ZFS_OBJ:+-include $ZFS_OBJ/zfs_config.h} ${SPL:+-I$SPL/include } ${ZFS:+-I$ZFS -I$ZFS/include -I$ZFS/include/os/linux/kernel -I$ZFS/include/os/linux/spl -I$ZFS/include/os/linux/zfs -I${SPL:-$ZFS/include/spl}} -include $CONFIG_INCLUDE" KBUILD_EXTRA_SYMBOLS="${ZFS_OBJ:+$ZFS_OBJ/Module.symvers} $KBUILD_EXTRA_SYMBOLS" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $MODULE_TARGET=$PWD/build'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }
then :
  lb_cv_compile_zfs_zfs_refcount=yes
else $as_nop
  printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

lb_cv_compile_zfs_zfs_refcount=no
fi
rm -f build/conftest.o build/conftest.mod.c build/conftest.mod.o build/conftest.ko build/conftest.c conftest.c


fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_zfs_zfs_refcount" >&5
printf "%s\n" "$lb_cv_compile_zfs_zfs_refcount" >&6; }
if test "x$lb_cv_compile_zfs_zfs_refcount" = xyes
then :


printf "%s\n" "#define HAVE_ZFS_REFCOUNT_HEADER 1" >>confdefs.h


fi

fi

			# Run 'early' checks. The results of these are used in
			# other configure tests:


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/lockdep_is_held_pc || mkdir -p ${TEST_DIR}/lockdep_is_held_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/lockdep_is_held_pc/lockdep_is_held_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/lockdep.h>

int
main (void)
{

	#ifdef CONFIG_LOCKDEP
		const struct spinlock *lock = NULL;

		lockdep_is_held(lock);
	#endif

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/lockdep_is_held_pc/lockdep_is_held_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/lockdep_is_held_pc || mkdir -p ${TEST_DIR}/lockdep_is_held_pc

	file=${TEST_DIR}/lockdep_is_held_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/lockdep_is_held_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/lockdep_is_held_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := lockdep_is_held_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_lockdep_is_held+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += lockdep_is_held_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_lockdep_is_held=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	UNIQUE_ID=$(echo linux/wait_bit.h | tr /. __)
	as_lb_test=`printf "%s\n" "lb_cv_test_${UNIQUE_ID}" | $as_tr_sh`

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/${UNIQUE_ID}_pc || mkdir -p ${TEST_DIR}/${UNIQUE_ID}_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/${UNIQUE_ID}_pc/${UNIQUE_ID}_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif

#include <linux/wait_bit.h>
int
main (void)
{

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/${UNIQUE_ID}_pc/${UNIQUE_ID}_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/${UNIQUE_ID}_pc || mkdir -p ${TEST_DIR}/${UNIQUE_ID}_pc

	file=${TEST_DIR}/${UNIQUE_ID}_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/${UNIQUE_ID}_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/${UNIQUE_ID}_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := ${UNIQUE_ID}_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached
	as_lb2_cache_name=`printf "%s\n" "lb_cv_test_${UNIQUE_ID}" | $as_tr_sh`

	if eval test \${$as_lb2_cache_name+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += ${UNIQUE_ID}_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			eval "$as_lb2_cache_name=unused"
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	UNIQUE_ID=$(echo linux/blk-integrity.h | tr /. __)
	as_lb_test=`printf "%s\n" "lb_cv_test_${UNIQUE_ID}" | $as_tr_sh`

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/${UNIQUE_ID}_pc || mkdir -p ${TEST_DIR}/${UNIQUE_ID}_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/${UNIQUE_ID}_pc/${UNIQUE_ID}_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif

#include <linux/blk-integrity.h>
int
main (void)
{

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/${UNIQUE_ID}_pc/${UNIQUE_ID}_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/${UNIQUE_ID}_pc || mkdir -p ${TEST_DIR}/${UNIQUE_ID}_pc

	file=${TEST_DIR}/${UNIQUE_ID}_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/${UNIQUE_ID}_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/${UNIQUE_ID}_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := ${UNIQUE_ID}_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached
	as_lb2_cache_name=`printf "%s\n" "lb_cv_test_${UNIQUE_ID}" | $as_tr_sh`

	if eval test \${$as_lb2_cache_name+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += ${UNIQUE_ID}_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			eval "$as_lb2_cache_name=unused"
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/mmap_write_lock_pc || mkdir -p ${TEST_DIR}/mmap_write_lock_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/mmap_write_lock_pc/mmap_write_lock_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/mm.h>

int
main (void)
{

		mmap_write_lock(NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/mmap_write_lock_pc/mmap_write_lock_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/mmap_write_lock_pc || mkdir -p ${TEST_DIR}/mmap_write_lock_pc

	file=${TEST_DIR}/mmap_write_lock_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/mmap_write_lock_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/mmap_write_lock_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := mmap_write_lock_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_mmap_write_lock+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += mmap_write_lock_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_mmap_write_lock=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	# Phase 1 - Compilation only, final linking is skipped.
	if test $((LB2_MODULES_COUNT + 0)) -gt 0
then :

		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: building ${LB2_MODULES_COUNT} linux kernel compile tests for 'early'" >&5
printf "%s\n" "$as_me: building ${LB2_MODULES_COUNT} linux kernel compile tests for 'early'" >&6;}

	D="$(realpath ${TEST_DIR})"
	L="$D/build.log.early"
	J=${TEST_JOBS:-$(nproc)}

	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: KBUILD_MODPOST_NOFINAL=\"yes\" make modules CC=\"$CC\" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV" >&5
printf "%s\n" "$as_me: KBUILD_MODPOST_NOFINAL=\"yes\" make modules CC=\"$CC\" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV" >&6;}

	{ ac_try='KBUILD_MODPOST_NOFINAL="yes"
		make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >${L} 2>&1'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }
	if test -f ${L}
then :
  if test -f ${TEST_DIR}/Makefile
then :
  mv ${TEST_DIR}/Makefile ${TEST_DIR}/Makefile.compile.early
fi
else $as_nop
  as_fn_error $? "*** Unable to compile test source ... for available lustre kapi interfaces" "$LINENO" 5

fi

		for dir in $(awk '/^obj-m/ { print $3 }' \
		    ${TEST_DIR}/Makefile.compile.early); do
			name=${dir%/}
			touch ${TEST_DIR}/$name/$name.tested
		done
		LB2_MODULES_COUNT=0

else $as_nop

		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: all linux kernel compile test results for 'early' are in-cache" >&5
printf "%s\n" "$as_me: all linux kernel compile test results for 'early' are in-cache" >&6;}

fi




	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/lockdep_is_held_pc
	O=${T}/lockdep_is_held_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_lockdep_is_held+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"lockdep_is_held\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_lockdep_is_held+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for lockdep_is_held was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'lockdep_is_held()' uses const argument" >&5
printf %s "checking if 'lockdep_is_held()' uses const argument... " >&6; }
if test ${lb_cv_test_lockdep_is_held+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_lockdep_is_held=yes
else $as_nop
  lb_cv_test_lockdep_is_held=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_lockdep_is_held" >&5
printf "%s\n" "$lb_cv_test_lockdep_is_held" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_lockdep_is_held" = xyes
then :

else $as_nop

printf "%s\n" "#define NEED_LOCKDEP_IS_HELD_DISCARD_CONST 1" >>confdefs.h


fi





	UNIQUE_ID=$(echo linux/wait_bit.h | tr /. __)

	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	as_lb_test=`printf "%s\n" "lb_cv_test_${UNIQUE_ID}" | $as_tr_sh`

	D="$(realpath ${TEST_DIR})"
	T=${D}/${UNIQUE_ID}_pc
	O=${T}/${UNIQUE_ID}_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if eval test \${$as_lb_test+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"${UNIQUE_ID}\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if eval test \${$as_lb_test+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for ${UNIQUE_ID} was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for linux header linux/wait_bit.h" >&5
printf %s "checking for linux header linux/wait_bit.h... " >&6; }
if eval test \${$as_lb_test+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  eval "$as_lb_test=yes"
else $as_nop
  eval "$as_lb_test=no"
fi
fi
eval ac_res=\$$as_lb_test
	       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if eval test \"x\$"$as_lb_test"\" = x"yes"
then :

printf "%s\n" "#define HAVE_WAIT_BIT_HEADER_H 1" >>confdefs.h


fi






	UNIQUE_ID=$(echo linux/blk-integrity.h | tr /. __)

	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	as_lb_test=`printf "%s\n" "lb_cv_test_${UNIQUE_ID}" | $as_tr_sh`

	D="$(realpath ${TEST_DIR})"
	T=${D}/${UNIQUE_ID}_pc
	O=${T}/${UNIQUE_ID}_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if eval test \${$as_lb_test+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"${UNIQUE_ID}\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if eval test \${$as_lb_test+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for ${UNIQUE_ID} was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for linux header linux/blk-integrity.h" >&5
printf %s "checking for linux header linux/blk-integrity.h... " >&6; }
if eval test \${$as_lb_test+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  eval "$as_lb_test=yes"
else $as_nop
  eval "$as_lb_test=no"
fi
fi
eval ac_res=\$$as_lb_test
	       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if eval test \"x\$"$as_lb_test"\" = x"yes"
then :

printf "%s\n" "#define HAVE_LINUX_BLK_INTEGRITY_HEADER 1" >>confdefs.h


fi






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/mmap_write_lock_pc
	O=${T}/mmap_write_lock_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_mmap_write_lock+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"mmap_write_lock\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_mmap_write_lock+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for mmap_write_lock was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if mmap_lock API is available" >&5
printf %s "checking if mmap_lock API is available... " >&6; }
if test ${lb_cv_test_mmap_write_lock+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_mmap_write_lock=yes
else $as_nop
  lb_cv_test_mmap_write_lock=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_mmap_write_lock" >&5
printf "%s\n" "$lb_cv_test_mmap_write_lock" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_mmap_write_lock" = xyes
then :

printf "%s\n" "#define HAVE_MMAP_LOCK 1" >>confdefs.h


fi




			# Run any parallel compile tests



	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/config_MODULES_pc || mkdir -p ${TEST_DIR}/config_MODULES_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/config_MODULES_pc/config_MODULES_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <$AUTOCONF_HDIR/autoconf.h>

int
main (void)
{

		#ifndef CONFIG_MODULES
		#error CONFIG_MODULES not #defined
		#endif

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/config_MODULES_pc/config_MODULES_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/config_MODULES_pc || mkdir -p ${TEST_DIR}/config_MODULES_pc

	file=${TEST_DIR}/config_MODULES_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/config_MODULES_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/config_MODULES_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := config_MODULES_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_config_MODULES+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += config_MODULES_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_config_MODULES=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/config_MODVERSIONS_pc || mkdir -p ${TEST_DIR}/config_MODVERSIONS_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/config_MODVERSIONS_pc/config_MODVERSIONS_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <$AUTOCONF_HDIR/autoconf.h>

int
main (void)
{

		#ifndef CONFIG_MODVERSIONS
		#error CONFIG_MODVERSIONS not #defined
		#endif

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/config_MODVERSIONS_pc/config_MODVERSIONS_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/config_MODVERSIONS_pc || mkdir -p ${TEST_DIR}/config_MODVERSIONS_pc

	file=${TEST_DIR}/config_MODVERSIONS_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/config_MODVERSIONS_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/config_MODVERSIONS_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := config_MODVERSIONS_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_config_MODVERSIONS+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += config_MODVERSIONS_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_config_MODVERSIONS=unused
		fi

fi







	# 3.11


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/ktime_get_ts64_pc || mkdir -p ${TEST_DIR}/ktime_get_ts64_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/ktime_get_ts64_pc/ktime_get_ts64_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/hrtimer.h>
		#include <linux/ktime.h>

int
main (void)
{

		struct timespec64 *ts = NULL;

		ktime_get_ts64(ts);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/ktime_get_ts64_pc/ktime_get_ts64_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/ktime_get_ts64_pc || mkdir -p ${TEST_DIR}/ktime_get_ts64_pc

	file=${TEST_DIR}/ktime_get_ts64_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/ktime_get_ts64_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/ktime_get_ts64_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := ktime_get_ts64_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_ktime_get_ts64+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += ktime_get_ts64_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_ktime_get_ts64=unused
		fi

fi





	# 3.12


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/prepare_to_wait_event_pc || mkdir -p ${TEST_DIR}/prepare_to_wait_event_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/prepare_to_wait_event_pc/prepare_to_wait_event_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/wait.h>

int
main (void)
{

		prepare_to_wait_event(NULL, NULL, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/prepare_to_wait_event_pc/prepare_to_wait_event_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/prepare_to_wait_event_pc || mkdir -p ${TEST_DIR}/prepare_to_wait_event_pc

	file=${TEST_DIR}/prepare_to_wait_event_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/prepare_to_wait_event_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/prepare_to_wait_event_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := prepare_to_wait_event_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_prepare_to_wait_event+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += prepare_to_wait_event_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_prepare_to_wait_event=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/kernel_param_ops_pc || mkdir -p ${TEST_DIR}/kernel_param_ops_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/kernel_param_ops_pc/kernel_param_ops_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/module.h>

int
main (void)
{

		struct kernel_param_ops ops;

		ops.set = NULL;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/kernel_param_ops_pc/kernel_param_ops_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/kernel_param_ops_pc || mkdir -p ${TEST_DIR}/kernel_param_ops_pc

	file=${TEST_DIR}/kernel_param_ops_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/kernel_param_ops_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/kernel_param_ops_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := kernel_param_ops_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_kernel_param_ops+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += kernel_param_ops_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_kernel_param_ops=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/ktime_add_pc || mkdir -p ${TEST_DIR}/ktime_add_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/ktime_add_pc/ktime_add_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/hrtimer.h>
		#include <linux/ktime.h>

int
main (void)
{

		ktime_t start = ktime_set(0, 0);
		ktime_t end = start;
		ktime_t total;

		total = ktime_add(start, end);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/ktime_add_pc/ktime_add_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/ktime_add_pc || mkdir -p ${TEST_DIR}/ktime_add_pc

	file=${TEST_DIR}/ktime_add_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/ktime_add_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/ktime_add_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := ktime_add_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_ktime_add+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += ktime_add_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_ktime_add=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/ktime_after_pc || mkdir -p ${TEST_DIR}/ktime_after_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/ktime_after_pc/ktime_after_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/hrtimer.h>
		#include <linux/ktime.h>

int
main (void)
{

		ktime_t start = ktime_set(0, 0);
		ktime_t end = start;

		ktime_after(start, end);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/ktime_after_pc/ktime_after_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/ktime_after_pc || mkdir -p ${TEST_DIR}/ktime_after_pc

	file=${TEST_DIR}/ktime_after_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/ktime_after_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/ktime_after_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := ktime_after_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_ktime_after+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += ktime_after_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_ktime_after=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/ktime_before_pc || mkdir -p ${TEST_DIR}/ktime_before_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/ktime_before_pc/ktime_before_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/hrtimer.h>
		#include <linux/ktime.h>

int
main (void)
{

		ktime_t start = ktime_set(0, 0);
		ktime_t end = start;

		ktime_before(start, end);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/ktime_before_pc/ktime_before_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/ktime_before_pc || mkdir -p ${TEST_DIR}/ktime_before_pc

	file=${TEST_DIR}/ktime_before_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/ktime_before_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/ktime_before_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := ktime_before_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_ktime_before+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += ktime_before_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_ktime_before=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/ktime_compare_pc || mkdir -p ${TEST_DIR}/ktime_compare_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/ktime_compare_pc/ktime_compare_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/hrtimer.h>
		#include <linux/ktime.h>

int
main (void)
{

		ktime_t start = ktime_set(0, 0);
		ktime_t end = start;

		ktime_compare(start, end);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/ktime_compare_pc/ktime_compare_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/ktime_compare_pc || mkdir -p ${TEST_DIR}/ktime_compare_pc

	file=${TEST_DIR}/ktime_compare_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/ktime_compare_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/ktime_compare_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := ktime_compare_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_ktime_compare+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += ktime_compare_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_ktime_compare=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/shrinker_count_objects_pc || mkdir -p ${TEST_DIR}/shrinker_count_objects_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/shrinker_count_objects_pc/shrinker_count_objects_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/mmzone.h>
		#include <linux/shrinker.h>

int
main (void)
{

		struct shrinker shrinker;

		shrinker.count_objects = NULL;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/shrinker_count_objects_pc/shrinker_count_objects_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/shrinker_count_objects_pc || mkdir -p ${TEST_DIR}/shrinker_count_objects_pc

	file=${TEST_DIR}/shrinker_count_objects_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/shrinker_count_objects_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/shrinker_count_objects_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := shrinker_count_objects_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_shrinker_count_objects+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += shrinker_count_objects_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_shrinker_count_objects=unused
		fi

fi





	# 3.13


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/match_wildcard_pc || mkdir -p ${TEST_DIR}/match_wildcard_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/match_wildcard_pc/match_wildcard_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/parser.h>

int
main (void)
{

		bool match;

		match = match_wildcard(NULL, NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/match_wildcard_pc/match_wildcard_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/match_wildcard_pc || mkdir -p ${TEST_DIR}/match_wildcard_pc

	file=${TEST_DIR}/match_wildcard_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/match_wildcard_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/match_wildcard_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := match_wildcard_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_match_wildcard+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += match_wildcard_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_match_wildcard=unused
		fi

fi





	# 3.14



	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/mapping_exiting_exists_pc || mkdir -p ${TEST_DIR}/mapping_exiting_exists_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/mapping_exiting_exists_pc/mapping_exiting_exists_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/pagemap.h>

int
main (void)
{

		enum mapping_flags flag = AS_EXITING;
		(void)flag;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/mapping_exiting_exists_pc/mapping_exiting_exists_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/mapping_exiting_exists_pc || mkdir -p ${TEST_DIR}/mapping_exiting_exists_pc

	file=${TEST_DIR}/mapping_exiting_exists_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/mapping_exiting_exists_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/mapping_exiting_exists_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := mapping_exiting_exists_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_mapping_exiting_exists+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += mapping_exiting_exists_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_mapping_exiting_exists=unused
		fi

fi





	# 3.15


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/iov_iter_has_type_member_pc || mkdir -p ${TEST_DIR}/iov_iter_has_type_member_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/iov_iter_has_type_member_pc/iov_iter_has_type_member_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/uio.h>

int
main (void)
{

		struct iov_iter iter = { .type = ITER_KVEC };
		(void)iter;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/iov_iter_has_type_member_pc/iov_iter_has_type_member_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/iov_iter_has_type_member_pc || mkdir -p ${TEST_DIR}/iov_iter_has_type_member_pc

	file=${TEST_DIR}/iov_iter_has_type_member_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/iov_iter_has_type_member_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/iov_iter_has_type_member_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := iov_iter_has_type_member_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_iov_iter_has_type_member+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += iov_iter_has_type_member_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_iov_iter_has_type_member=unused
		fi

fi





	# 3.16


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/glob_match_pc || mkdir -p ${TEST_DIR}/glob_match_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/glob_match_pc/glob_match_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/glob.h>

int
main (void)
{

		return glob_match(NULL, NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/glob_match_pc/glob_match_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/glob_match_pc || mkdir -p ${TEST_DIR}/glob_match_pc

	file=${TEST_DIR}/glob_match_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/glob_match_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/glob_match_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := glob_match_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_glob_match+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += glob_match_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_glob_match=unused
		fi

fi





	# 3.17


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/hlist_add_after_pc || mkdir -p ${TEST_DIR}/hlist_add_after_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/hlist_add_after_pc/hlist_add_after_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/list.h>

int
main (void)
{

		hlist_add_after(NULL, NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/hlist_add_after_pc/hlist_add_after_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/hlist_add_after_pc || mkdir -p ${TEST_DIR}/hlist_add_after_pc

	file=${TEST_DIR}/hlist_add_after_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/hlist_add_after_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/hlist_add_after_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := hlist_add_after_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_hlist_add_after+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += hlist_add_after_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_hlist_add_after=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/timespec64_pc || mkdir -p ${TEST_DIR}/timespec64_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/timespec64_pc/timespec64_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/time.h>

int
main (void)
{

		struct timespec64 ts;

		ts.tv_sec = 0;
		ts.tv_nsec = 0;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/timespec64_pc/timespec64_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/timespec64_pc || mkdir -p ${TEST_DIR}/timespec64_pc

	file=${TEST_DIR}/timespec64_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/timespec64_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/timespec64_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := timespec64_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_timespec64+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += timespec64_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_timespec64=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/ktime_get_ns_pc || mkdir -p ${TEST_DIR}/ktime_get_ns_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/ktime_get_ns_pc/ktime_get_ns_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/hrtimer.h>
		#include <linux/ktime.h>

int
main (void)
{

		u64 nanoseconds;

		nanoseconds = ktime_get_ns();

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/ktime_get_ns_pc/ktime_get_ns_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/ktime_get_ns_pc || mkdir -p ${TEST_DIR}/ktime_get_ns_pc

	file=${TEST_DIR}/ktime_get_ns_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/ktime_get_ns_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/ktime_get_ns_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := ktime_get_ns_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_ktime_get_ns+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += ktime_get_ns_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_ktime_get_ns=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/ktime_get_real_ts64_pc || mkdir -p ${TEST_DIR}/ktime_get_real_ts64_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/ktime_get_real_ts64_pc/ktime_get_real_ts64_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/ktime.h>

int
main (void)
{

		struct timespec64 *ts = NULL;

		ktime_get_real_ts64(ts);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/ktime_get_real_ts64_pc/ktime_get_real_ts64_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/ktime_get_real_ts64_pc || mkdir -p ${TEST_DIR}/ktime_get_real_ts64_pc

	file=${TEST_DIR}/ktime_get_real_ts64_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/ktime_get_real_ts64_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/ktime_get_real_ts64_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := ktime_get_real_ts64_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_ktime_get_real_ts64+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += ktime_get_real_ts64_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_ktime_get_real_ts64=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/ktime_get_real_seconds_pc || mkdir -p ${TEST_DIR}/ktime_get_real_seconds_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/ktime_get_real_seconds_pc/ktime_get_real_seconds_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/hrtimer.h>
		#include <linux/ktime.h>

int
main (void)
{

		time64_t now;

		now = ktime_get_real_seconds();

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/ktime_get_real_seconds_pc/ktime_get_real_seconds_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/ktime_get_real_seconds_pc || mkdir -p ${TEST_DIR}/ktime_get_real_seconds_pc

	file=${TEST_DIR}/ktime_get_real_seconds_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/ktime_get_real_seconds_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/ktime_get_real_seconds_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := ktime_get_real_seconds_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_ktime_get_real_seconds+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += ktime_get_real_seconds_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_ktime_get_real_seconds=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/ktime_get_real_ns_pc || mkdir -p ${TEST_DIR}/ktime_get_real_ns_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/ktime_get_real_ns_pc/ktime_get_real_ns_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/hrtimer.h>
		#include <linux/ktime.h>

int
main (void)
{

		u64 nanoseconds;

		nanoseconds = ktime_get_real_ns();

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/ktime_get_real_ns_pc/ktime_get_real_ns_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/ktime_get_real_ns_pc || mkdir -p ${TEST_DIR}/ktime_get_real_ns_pc

	file=${TEST_DIR}/ktime_get_real_ns_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/ktime_get_real_ns_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/ktime_get_real_ns_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := ktime_get_real_ns_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_ktime_get_real_ns+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += ktime_get_real_ns_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_ktime_get_real_ns=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/ktime_to_timespec64_pc || mkdir -p ${TEST_DIR}/ktime_to_timespec64_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/ktime_to_timespec64_pc/ktime_to_timespec64_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/hrtimer.h>
		#include <linux/ktime.h>

int
main (void)
{

		ktime_t now = ktime_set(0, 0);
		struct timespec64 ts;

		ts = ktime_to_timespec64(now);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/ktime_to_timespec64_pc/ktime_to_timespec64_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/ktime_to_timespec64_pc || mkdir -p ${TEST_DIR}/ktime_to_timespec64_pc

	file=${TEST_DIR}/ktime_to_timespec64_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/ktime_to_timespec64_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/ktime_to_timespec64_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := ktime_to_timespec64_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_ktime_to_timespec64+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += ktime_to_timespec64_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_ktime_to_timespec64=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/timespec64_sub_pc || mkdir -p ${TEST_DIR}/timespec64_sub_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/timespec64_sub_pc/timespec64_sub_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/time.h>

int
main (void)
{

		struct timespec64 later = { }, earlier = { }, diff;

		diff = timespec64_sub(later, earlier);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/timespec64_sub_pc/timespec64_sub_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/timespec64_sub_pc || mkdir -p ${TEST_DIR}/timespec64_sub_pc

	file=${TEST_DIR}/timespec64_sub_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/timespec64_sub_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/timespec64_sub_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := timespec64_sub_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_timespec64_sub+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += timespec64_sub_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_timespec64_sub=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/timespec64_to_ktime_pc || mkdir -p ${TEST_DIR}/timespec64_to_ktime_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/timespec64_to_ktime_pc/timespec64_to_ktime_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


	#include <linux/ktime.h>

int
main (void)
{

		struct timespec64 ts;
		ktime_t now;

		now = timespec64_to_ktime(ts);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/timespec64_to_ktime_pc/timespec64_to_ktime_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/timespec64_to_ktime_pc || mkdir -p ${TEST_DIR}/timespec64_to_ktime_pc

	file=${TEST_DIR}/timespec64_to_ktime_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/timespec64_to_ktime_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/timespec64_to_ktime_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := timespec64_to_ktime_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_timespec64_to_ktime+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += timespec64_to_ktime_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_timespec64_to_ktime=unused
		fi

fi





	# 3.19


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/ktime_get_seconds_pc || mkdir -p ${TEST_DIR}/ktime_get_seconds_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/ktime_get_seconds_pc/ktime_get_seconds_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/ktime.h>

int
main (void)
{

		time64_t now;

		now = ktime_get_seconds();

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/ktime_get_seconds_pc/ktime_get_seconds_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/ktime_get_seconds_pc || mkdir -p ${TEST_DIR}/ktime_get_seconds_pc

	file=${TEST_DIR}/ktime_get_seconds_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/ktime_get_seconds_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/ktime_get_seconds_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := ktime_get_seconds_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_ktime_get_seconds+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += ktime_get_seconds_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_ktime_get_seconds=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/wait_woken_pc || mkdir -p ${TEST_DIR}/wait_woken_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/wait_woken_pc/wait_woken_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/wait.h>

int
main (void)
{

		wait_woken(NULL, 0, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/wait_woken_pc/wait_woken_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/wait_woken_pc || mkdir -p ${TEST_DIR}/wait_woken_pc

	file=${TEST_DIR}/wait_woken_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/wait_woken_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/wait_woken_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := wait_woken_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_wait_woken+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += wait_woken_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_wait_woken=unused
		fi

fi





	# 4.0


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/ktime_ms_delta_pc || mkdir -p ${TEST_DIR}/ktime_ms_delta_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/ktime_ms_delta_pc/ktime_ms_delta_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/ktime.h>

int
main (void)
{

		ktime_t start = ktime_set(0, 0);
		ktime_t end = start;

		ktime_ms_delta(start, end);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/ktime_ms_delta_pc/ktime_ms_delta_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/ktime_ms_delta_pc || mkdir -p ${TEST_DIR}/ktime_ms_delta_pc

	file=${TEST_DIR}/ktime_ms_delta_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/ktime_ms_delta_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/ktime_ms_delta_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := ktime_ms_delta_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_ktime_ms_delta+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += ktime_ms_delta_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_ktime_ms_delta=unused
		fi

fi





	# 4.1


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/kernel_param_lock_pc || mkdir -p ${TEST_DIR}/kernel_param_lock_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/kernel_param_lock_pc/kernel_param_lock_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/moduleparam.h>

int
main (void)
{

		kernel_param_lock(NULL);
		kernel_param_unlock(NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/kernel_param_lock_pc/kernel_param_lock_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/kernel_param_lock_pc || mkdir -p ${TEST_DIR}/kernel_param_lock_pc

	file=${TEST_DIR}/kernel_param_lock_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/kernel_param_lock_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/kernel_param_lock_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := kernel_param_lock_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_kernel_param_lock+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += kernel_param_lock_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_kernel_param_lock=unused
		fi

fi





	# 4.2


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/strscpy_exists_pc || mkdir -p ${TEST_DIR}/strscpy_exists_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/strscpy_exists_pc/strscpy_exists_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/string.h>

int
main (void)
{

		char buf[129];

		strscpy(buf, "something", sizeof(buf));

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/strscpy_exists_pc/strscpy_exists_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/strscpy_exists_pc || mkdir -p ${TEST_DIR}/strscpy_exists_pc

	file=${TEST_DIR}/strscpy_exists_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/strscpy_exists_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/strscpy_exists_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := strscpy_exists_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_strscpy_exists+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += strscpy_exists_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_strscpy_exists=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/topology_sibling_cpumask_pc || mkdir -p ${TEST_DIR}/topology_sibling_cpumask_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/topology_sibling_cpumask_pc/topology_sibling_cpumask_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/topology.h>

int
main (void)
{

		const struct cpumask *mask;

		mask = topology_sibling_cpumask(0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/topology_sibling_cpumask_pc/topology_sibling_cpumask_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/topology_sibling_cpumask_pc || mkdir -p ${TEST_DIR}/topology_sibling_cpumask_pc

	file=${TEST_DIR}/topology_sibling_cpumask_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/topology_sibling_cpumask_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/topology_sibling_cpumask_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := topology_sibling_cpumask_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_topology_sibling_cpumask+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += topology_sibling_cpumask_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_topology_sibling_cpumask=unused
		fi

fi





	# 4.4


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/kstrtobool_from_user_pc || mkdir -p ${TEST_DIR}/kstrtobool_from_user_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/kstrtobool_from_user_pc/kstrtobool_from_user_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/kernel.h>

int
main (void)
{

		bool result;
		return kstrtobool_from_user(NULL, 0, &result);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/kstrtobool_from_user_pc/kstrtobool_from_user_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/kstrtobool_from_user_pc || mkdir -p ${TEST_DIR}/kstrtobool_from_user_pc

	file=${TEST_DIR}/kstrtobool_from_user_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/kstrtobool_from_user_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/kstrtobool_from_user_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := kstrtobool_from_user_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_kstrtobool_from_user+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += kstrtobool_from_user_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_kstrtobool_from_user=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/cb_start_pc || mkdir -p ${TEST_DIR}/cb_start_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/cb_start_pc/cb_start_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <net/genetlink.h>

int
main (void)
{

		struct genl_ops ops;

		ops.start = NULL;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/cb_start_pc/cb_start_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/cb_start_pc || mkdir -p ${TEST_DIR}/cb_start_pc

	file=${TEST_DIR}/cb_start_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/cb_start_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/cb_start_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := cb_start_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_cb_start+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += cb_start_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_cb_start=unused
		fi

fi





	# 4.5


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/crypto_hash_helpers_pc || mkdir -p ${TEST_DIR}/crypto_hash_helpers_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/crypto_hash_helpers_pc/crypto_hash_helpers_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <crypto/hash.h>

int
main (void)
{

		crypto_ahash_alg_name(NULL);
		crypto_ahash_driver_name(NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/crypto_hash_helpers_pc/crypto_hash_helpers_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/crypto_hash_helpers_pc || mkdir -p ${TEST_DIR}/crypto_hash_helpers_pc

	file=${TEST_DIR}/crypto_hash_helpers_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/crypto_hash_helpers_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/crypto_hash_helpers_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := crypto_hash_helpers_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_crypto_hash_helpers+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += crypto_hash_helpers_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_crypto_hash_helpers=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/rhashtable_replace_fast_pc || mkdir -p ${TEST_DIR}/rhashtable_replace_fast_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/rhashtable_replace_fast_pc/rhashtable_replace_fast_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/rhashtable.h>

int
main (void)
{

		const struct rhashtable_params params = { 0 };

		rhashtable_replace_fast(NULL, NULL, NULL, params);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/rhashtable_replace_fast_pc/rhashtable_replace_fast_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/rhashtable_replace_fast_pc || mkdir -p ${TEST_DIR}/rhashtable_replace_fast_pc

	file=${TEST_DIR}/rhashtable_replace_fast_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/rhashtable_replace_fast_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/rhashtable_replace_fast_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := rhashtable_replace_fast_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_rhashtable_replace_fast+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += rhashtable_replace_fast_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_rhashtable_replace_fast=unused
		fi

fi





	# 4.6


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/broken_hash_64_pc || mkdir -p ${TEST_DIR}/broken_hash_64_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/broken_hash_64_pc/broken_hash_64_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


	#include <linux/hash.h>

int
main (void)
{

		int tmp = GOLDEN_RATIO_PRIME_64;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/broken_hash_64_pc/broken_hash_64_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/broken_hash_64_pc || mkdir -p ${TEST_DIR}/broken_hash_64_pc

	file=${TEST_DIR}/broken_hash_64_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/broken_hash_64_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/broken_hash_64_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := broken_hash_64_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_broken_hash_64+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += broken_hash_64_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_broken_hash_64=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/stacktrace_ops_address_return_int_pc || mkdir -p ${TEST_DIR}/stacktrace_ops_address_return_int_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/stacktrace_ops_address_return_int_pc/stacktrace_ops_address_return_int_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <asm/stacktrace.h>

int
main (void)
{

		int rc;

		rc = ((struct stacktrace_ops *)0)->address(NULL, 0, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/stacktrace_ops_address_return_int_pc/stacktrace_ops_address_return_int_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/stacktrace_ops_address_return_int_pc || mkdir -p ${TEST_DIR}/stacktrace_ops_address_return_int_pc

	file=${TEST_DIR}/stacktrace_ops_address_return_int_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/stacktrace_ops_address_return_int_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/stacktrace_ops_address_return_int_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := stacktrace_ops_address_return_int_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_stacktrace_ops_address_return_int+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += stacktrace_ops_address_return_int_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_stacktrace_ops_address_return_int=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/get_user_pages_6arg_pc || mkdir -p ${TEST_DIR}/get_user_pages_6arg_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/get_user_pages_6arg_pc/get_user_pages_6arg_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/mm.h>

int
main (void)
{

		int rc;

		rc = get_user_pages(0, 0, 0, 0, NULL, NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/get_user_pages_6arg_pc/get_user_pages_6arg_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/get_user_pages_6arg_pc || mkdir -p ${TEST_DIR}/get_user_pages_6arg_pc

	file=${TEST_DIR}/get_user_pages_6arg_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/get_user_pages_6arg_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/get_user_pages_6arg_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := get_user_pages_6arg_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_get_user_pages_6arg+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += get_user_pages_6arg_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_get_user_pages_6arg=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	UNIQUE_ID=$(echo linux/stringhash.h | tr /. __)
	as_lb_test=`printf "%s\n" "lb_cv_test_${UNIQUE_ID}" | $as_tr_sh`

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/${UNIQUE_ID}_pc || mkdir -p ${TEST_DIR}/${UNIQUE_ID}_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/${UNIQUE_ID}_pc/${UNIQUE_ID}_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif

#include <linux/stringhash.h>
int
main (void)
{

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/${UNIQUE_ID}_pc/${UNIQUE_ID}_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/${UNIQUE_ID}_pc || mkdir -p ${TEST_DIR}/${UNIQUE_ID}_pc

	file=${TEST_DIR}/${UNIQUE_ID}_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/${UNIQUE_ID}_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/${UNIQUE_ID}_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := ${UNIQUE_ID}_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached
	as_lb2_cache_name=`printf "%s\n" "lb_cv_test_${UNIQUE_ID}" | $as_tr_sh`

	if eval test \${$as_lb2_cache_name+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += ${UNIQUE_ID}_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			eval "$as_lb2_cache_name=unused"
		fi

fi





	# 4.7


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/rhashtable_insert_fast_pc || mkdir -p ${TEST_DIR}/rhashtable_insert_fast_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/rhashtable_insert_fast_pc/rhashtable_insert_fast_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/rhashtable.h>

int
main (void)
{

		const struct rhashtable_params params = { 0 };
		int rc;

		rc = __rhashtable_insert_fast(NULL, NULL, NULL, params);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/rhashtable_insert_fast_pc/rhashtable_insert_fast_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/rhashtable_insert_fast_pc || mkdir -p ${TEST_DIR}/rhashtable_insert_fast_pc

	file=${TEST_DIR}/rhashtable_insert_fast_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/rhashtable_insert_fast_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/rhashtable_insert_fast_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := rhashtable_insert_fast_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_rhashtable_insert_fast+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += rhashtable_insert_fast_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_rhashtable_insert_fast=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/rhashtable_walk_init_pc || mkdir -p ${TEST_DIR}/rhashtable_walk_init_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/rhashtable_walk_init_pc/rhashtable_walk_init_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/gfp.h>
		#include <linux/rhashtable.h>

int
main (void)
{

		rhashtable_walk_init(NULL, NULL, GFP_KERNEL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/rhashtable_walk_init_pc/rhashtable_walk_init_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/rhashtable_walk_init_pc || mkdir -p ${TEST_DIR}/rhashtable_walk_init_pc

	file=${TEST_DIR}/rhashtable_walk_init_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/rhashtable_walk_init_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/rhashtable_walk_init_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := rhashtable_walk_init_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_rhashtable_walk_init+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += rhashtable_walk_init_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_rhashtable_walk_init=unused
		fi

fi





	# 4.8


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/rhashtable_lookup_pc || mkdir -p ${TEST_DIR}/rhashtable_lookup_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/rhashtable_lookup_pc/rhashtable_lookup_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/rhashtable.h>

int
main (void)
{

		const struct rhashtable_params params = { 0 };
		void *ret;

		ret = rhashtable_lookup(NULL, NULL, params);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/rhashtable_lookup_pc/rhashtable_lookup_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/rhashtable_lookup_pc || mkdir -p ${TEST_DIR}/rhashtable_lookup_pc

	file=${TEST_DIR}/rhashtable_lookup_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/rhashtable_lookup_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/rhashtable_lookup_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := rhashtable_lookup_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_rhashtable_lookup+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += rhashtable_lookup_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_rhashtable_lookup=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/rhtable_pc || mkdir -p ${TEST_DIR}/rhtable_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/rhtable_pc/rhtable_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/rhashtable.h>

int
main (void)
{

		struct rhltable *hlt = NULL;

		rhltable_destroy(hlt);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/rhtable_pc/rhtable_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/rhtable_pc || mkdir -p ${TEST_DIR}/rhtable_pc

	file=${TEST_DIR}/rhtable_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/rhtable_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/rhtable_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := rhtable_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_rhtable+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += rhtable_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_rhtable=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/stacktrace_ops_pc || mkdir -p ${TEST_DIR}/stacktrace_ops_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/stacktrace_ops_pc/stacktrace_ops_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		struct task_struct;
		struct pt_regs;
		#include <asm/stacktrace.h>

int
main (void)
{

		struct stacktrace_ops ops;
		ops.stack = NULL;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/stacktrace_ops_pc/stacktrace_ops_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/stacktrace_ops_pc || mkdir -p ${TEST_DIR}/stacktrace_ops_pc

	file=${TEST_DIR}/stacktrace_ops_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/stacktrace_ops_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/stacktrace_ops_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := stacktrace_ops_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_stacktrace_ops+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += stacktrace_ops_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_stacktrace_ops=unused
		fi

fi





	# 4.9


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/get_user_pages_gup_flags_pc || mkdir -p ${TEST_DIR}/get_user_pages_gup_flags_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/get_user_pages_gup_flags_pc/get_user_pages_gup_flags_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/mm.h>

int
main (void)
{

		int rc;
		rc = get_user_pages(0, 0, FOLL_WRITE, NULL, NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/get_user_pages_gup_flags_pc/get_user_pages_gup_flags_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/get_user_pages_gup_flags_pc || mkdir -p ${TEST_DIR}/get_user_pages_gup_flags_pc

	file=${TEST_DIR}/get_user_pages_gup_flags_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/get_user_pages_gup_flags_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/get_user_pages_gup_flags_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := get_user_pages_gup_flags_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_get_user_pages_gup_flags+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += get_user_pages_gup_flags_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_get_user_pages_gup_flags=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/rhashtable_walk_enter_pc || mkdir -p ${TEST_DIR}/rhashtable_walk_enter_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/rhashtable_walk_enter_pc/rhashtable_walk_enter_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/rhashtable.h>

int
main (void)
{

		rhashtable_walk_enter(NULL, NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/rhashtable_walk_enter_pc/rhashtable_walk_enter_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/rhashtable_walk_enter_pc || mkdir -p ${TEST_DIR}/rhashtable_walk_enter_pc

	file=${TEST_DIR}/rhashtable_walk_enter_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/rhashtable_walk_enter_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/rhashtable_walk_enter_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := rhashtable_walk_enter_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_rhashtable_walk_enter+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += rhashtable_walk_enter_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_rhashtable_walk_enter=unused
		fi

fi





	# 4.10


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/cpu_hotplug_state_machine_pc || mkdir -p ${TEST_DIR}/cpu_hotplug_state_machine_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/cpu_hotplug_state_machine_pc/cpu_hotplug_state_machine_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/cpuhotplug.h>

int
main (void)
{

		cpuhp_remove_state(CPUHP_BP_PREPARE_DYN);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/cpu_hotplug_state_machine_pc/cpu_hotplug_state_machine_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/cpu_hotplug_state_machine_pc || mkdir -p ${TEST_DIR}/cpu_hotplug_state_machine_pc

	file=${TEST_DIR}/cpu_hotplug_state_machine_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/cpu_hotplug_state_machine_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/cpu_hotplug_state_machine_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := cpu_hotplug_state_machine_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_cpu_hotplug_state_machine+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += cpu_hotplug_state_machine_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_cpu_hotplug_state_machine=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/nla_put_u64_64bit_pc || mkdir -p ${TEST_DIR}/nla_put_u64_64bit_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/nla_put_u64_64bit_pc/nla_put_u64_64bit_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <net/genetlink.h>

int
main (void)
{

		nla_put_u64_64bit(NULL, 0, 0, 0)

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/nla_put_u64_64bit_pc/nla_put_u64_64bit_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/nla_put_u64_64bit_pc || mkdir -p ${TEST_DIR}/nla_put_u64_64bit_pc

	file=${TEST_DIR}/nla_put_u64_64bit_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/nla_put_u64_64bit_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/nla_put_u64_64bit_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := nla_put_u64_64bit_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_nla_put_u64_64bit+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += nla_put_u64_64bit_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_nla_put_u64_64bit=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/node_nr_writeback_exists_pc || mkdir -p ${TEST_DIR}/node_nr_writeback_exists_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/node_nr_writeback_exists_pc/node_nr_writeback_exists_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/mmzone.h>

int
main (void)
{

		enum node_stat_item item = NR_WRITEBACK;
		(void)item;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/node_nr_writeback_exists_pc/node_nr_writeback_exists_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/node_nr_writeback_exists_pc || mkdir -p ${TEST_DIR}/node_nr_writeback_exists_pc

	file=${TEST_DIR}/node_nr_writeback_exists_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/node_nr_writeback_exists_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/node_nr_writeback_exists_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := node_nr_writeback_exists_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_node_nr_writeback_exists+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += node_nr_writeback_exists_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_node_nr_writeback_exists=unused
		fi

fi





	# 4.11


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/netlink_ext_ack_pc || mkdir -p ${TEST_DIR}/netlink_ext_ack_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/netlink_ext_ack_pc/netlink_ext_ack_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <net/genetlink.h>

int
main (void)
{

		struct genl_info info;

		info.extack = NULL;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/netlink_ext_ack_pc/netlink_ext_ack_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/netlink_ext_ack_pc || mkdir -p ${TEST_DIR}/netlink_ext_ack_pc

	file=${TEST_DIR}/netlink_ext_ack_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/netlink_ext_ack_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/netlink_ext_ack_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := netlink_ext_ack_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_netlink_ext_ack+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += netlink_ext_ack_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_netlink_ext_ack=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/rhashtable_lookup_get_insert_fast_pc || mkdir -p ${TEST_DIR}/rhashtable_lookup_get_insert_fast_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/rhashtable_lookup_get_insert_fast_pc/rhashtable_lookup_get_insert_fast_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/rhashtable.h>

int
main (void)
{

		const struct rhashtable_params params = { 0 };
		void *ret;

		ret = rhashtable_lookup_get_insert_fast(NULL, NULL, params);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/rhashtable_lookup_get_insert_fast_pc/rhashtable_lookup_get_insert_fast_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/rhashtable_lookup_get_insert_fast_pc || mkdir -p ${TEST_DIR}/rhashtable_lookup_get_insert_fast_pc

	file=${TEST_DIR}/rhashtable_lookup_get_insert_fast_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/rhashtable_lookup_get_insert_fast_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/rhashtable_lookup_get_insert_fast_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := rhashtable_lookup_get_insert_fast_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_rhashtable_lookup_get_insert_fast+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += rhashtable_lookup_get_insert_fast_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_rhashtable_lookup_get_insert_fast=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	UNIQUE_ID=$(echo linux/sched/signal.h | tr /. __)
	as_lb_test=`printf "%s\n" "lb_cv_test_${UNIQUE_ID}" | $as_tr_sh`

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/${UNIQUE_ID}_pc || mkdir -p ${TEST_DIR}/${UNIQUE_ID}_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/${UNIQUE_ID}_pc/${UNIQUE_ID}_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif

#include <linux/sched/signal.h>
int
main (void)
{

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/${UNIQUE_ID}_pc/${UNIQUE_ID}_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/${UNIQUE_ID}_pc || mkdir -p ${TEST_DIR}/${UNIQUE_ID}_pc

	file=${TEST_DIR}/${UNIQUE_ID}_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/${UNIQUE_ID}_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/${UNIQUE_ID}_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := ${UNIQUE_ID}_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached
	as_lb2_cache_name=`printf "%s\n" "lb_cv_test_${UNIQUE_ID}" | $as_tr_sh`

	if eval test \${$as_lb2_cache_name+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += ${UNIQUE_ID}_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			eval "$as_lb2_cache_name=unused"
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/kref_read_pc || mkdir -p ${TEST_DIR}/kref_read_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/kref_read_pc/kref_read_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/kref.h>

int
main (void)
{

		kref_read(NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/kref_read_pc/kref_read_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/kref_read_pc || mkdir -p ${TEST_DIR}/kref_read_pc

	file=${TEST_DIR}/kref_read_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/kref_read_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/kref_read_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := kref_read_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_kref_read+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += kref_read_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_kref_read=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/rht_bucket_var_pc || mkdir -p ${TEST_DIR}/rht_bucket_var_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/rht_bucket_var_pc/rht_bucket_var_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/rhashtable.h>

int
main (void)
{

		rht_bucket_var(NULL, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/rht_bucket_var_pc/rht_bucket_var_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/rht_bucket_var_pc || mkdir -p ${TEST_DIR}/rht_bucket_var_pc

	file=${TEST_DIR}/rht_bucket_var_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/rht_bucket_var_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/rht_bucket_var_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := rht_bucket_var_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_rht_bucket_var+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += rht_bucket_var_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_rht_bucket_var=unused
		fi

fi





	# 4.12


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/cpu_read_lock_pc || mkdir -p ${TEST_DIR}/cpu_read_lock_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/cpu_read_lock_pc/cpu_read_lock_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/cpu.h>

int
main (void)
{

		cpus_read_lock();
		cpus_read_unlock();

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/cpu_read_lock_pc/cpu_read_lock_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/cpu_read_lock_pc || mkdir -p ${TEST_DIR}/cpu_read_lock_pc

	file=${TEST_DIR}/cpu_read_lock_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/cpu_read_lock_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/cpu_read_lock_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := cpu_read_lock_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_cpu_read_lock+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += cpu_read_lock_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_cpu_read_lock=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	UNIQUE_ID=$(echo linux/processor.h | tr /. __)
	as_lb_test=`printf "%s\n" "lb_cv_test_${UNIQUE_ID}" | $as_tr_sh`

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/${UNIQUE_ID}_pc || mkdir -p ${TEST_DIR}/${UNIQUE_ID}_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/${UNIQUE_ID}_pc/${UNIQUE_ID}_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif

#include <linux/processor.h>
int
main (void)
{

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/${UNIQUE_ID}_pc/${UNIQUE_ID}_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/${UNIQUE_ID}_pc || mkdir -p ${TEST_DIR}/${UNIQUE_ID}_pc

	file=${TEST_DIR}/${UNIQUE_ID}_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/${UNIQUE_ID}_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/${UNIQUE_ID}_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := ${UNIQUE_ID}_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached
	as_lb2_cache_name=`printf "%s\n" "lb_cv_test_${UNIQUE_ID}" | $as_tr_sh`

	if eval test \${$as_lb2_cache_name+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += ${UNIQUE_ID}_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			eval "$as_lb2_cache_name=unused"
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/wait_queue_task_list_pc || mkdir -p ${TEST_DIR}/wait_queue_task_list_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/wait_queue_task_list_pc/wait_queue_task_list_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/wait.h>

int
main (void)
{

		wait_queue_head_t e;

		INIT_LIST_HEAD(&e.head);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/wait_queue_task_list_pc/wait_queue_task_list_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/wait_queue_task_list_pc || mkdir -p ${TEST_DIR}/wait_queue_task_list_pc

	file=${TEST_DIR}/wait_queue_task_list_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/wait_queue_task_list_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/wait_queue_task_list_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := wait_queue_task_list_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_wait_queue_task_list+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += wait_queue_task_list_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_wait_queue_task_list=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/struct_wait_bit_queue_entry_exists_pc || mkdir -p ${TEST_DIR}/struct_wait_bit_queue_entry_exists_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/struct_wait_bit_queue_entry_exists_pc/struct_wait_bit_queue_entry_exists_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/wait.h>
		#if HAVE_WAIT_BIT_HEADER_H
			#include <linux/wait_bit.h>
		#endif

int
main (void)
{

		struct wait_bit_queue_entry entry;
		memset(&entry, 0, sizeof(entry));

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/struct_wait_bit_queue_entry_exists_pc/struct_wait_bit_queue_entry_exists_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/struct_wait_bit_queue_entry_exists_pc || mkdir -p ${TEST_DIR}/struct_wait_bit_queue_entry_exists_pc

	file=${TEST_DIR}/struct_wait_bit_queue_entry_exists_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/struct_wait_bit_queue_entry_exists_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/struct_wait_bit_queue_entry_exists_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := struct_wait_bit_queue_entry_exists_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_struct_wait_bit_queue_entry_exists+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += struct_wait_bit_queue_entry_exists_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_struct_wait_bit_queue_entry_exists=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	UNIQUE_ID=$(echo linux/refcount.h | tr /. __)
	as_lb_test=`printf "%s\n" "lb_cv_test_${UNIQUE_ID}" | $as_tr_sh`

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/${UNIQUE_ID}_pc || mkdir -p ${TEST_DIR}/${UNIQUE_ID}_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/${UNIQUE_ID}_pc/${UNIQUE_ID}_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif

#include <linux/refcount.h>
int
main (void)
{

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/${UNIQUE_ID}_pc/${UNIQUE_ID}_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/${UNIQUE_ID}_pc || mkdir -p ${TEST_DIR}/${UNIQUE_ID}_pc

	file=${TEST_DIR}/${UNIQUE_ID}_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/${UNIQUE_ID}_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/${UNIQUE_ID}_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := ${UNIQUE_ID}_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached
	as_lb2_cache_name=`printf "%s\n" "lb_cv_test_${UNIQUE_ID}" | $as_tr_sh`

	if eval test \${$as_lb2_cache_name+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += ${UNIQUE_ID}_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			eval "$as_lb2_cache_name=unused"
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/memalloc_noreclaim_pc || mkdir -p ${TEST_DIR}/memalloc_noreclaim_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/memalloc_noreclaim_pc/memalloc_noreclaim_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/sched/mm.h>

int
main (void)
{

		int flag = memalloc_noreclaim_save();
		memalloc_noreclaim_restore(flag);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/memalloc_noreclaim_pc/memalloc_noreclaim_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/memalloc_noreclaim_pc || mkdir -p ${TEST_DIR}/memalloc_noreclaim_pc

	file=${TEST_DIR}/memalloc_noreclaim_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/memalloc_noreclaim_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/memalloc_noreclaim_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := memalloc_noreclaim_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_memalloc_noreclaim+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += memalloc_noreclaim_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_memalloc_noreclaim=unused
		fi

fi





	# 4.13


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/nla_strdup_pc || mkdir -p ${TEST_DIR}/nla_strdup_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/nla_strdup_pc/nla_strdup_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <net/netlink.h>

int
main (void)
{

		char *tmp = nla_strdup(NULL, GFP_KERNEL);
		(void)tmp;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/nla_strdup_pc/nla_strdup_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/nla_strdup_pc || mkdir -p ${TEST_DIR}/nla_strdup_pc

	file=${TEST_DIR}/nla_strdup_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/nla_strdup_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/nla_strdup_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := nla_strdup_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_nla_strdup+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += nla_strdup_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_nla_strdup=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/wait_queue_entry_pc || mkdir -p ${TEST_DIR}/wait_queue_entry_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/wait_queue_entry_pc/wait_queue_entry_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/wait.h>

int
main (void)
{

		wait_queue_entry_t e;

		e.flags = 0;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/wait_queue_entry_pc/wait_queue_entry_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/wait_queue_entry_pc || mkdir -p ${TEST_DIR}/wait_queue_entry_pc

	file=${TEST_DIR}/wait_queue_entry_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/wait_queue_entry_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/wait_queue_entry_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := wait_queue_entry_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_wait_queue_entry+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += wait_queue_entry_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_wait_queue_entry=unused
		fi

fi





	# 4.14


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/define_timer_pc || mkdir -p ${TEST_DIR}/define_timer_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/define_timer_pc/define_timer_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/timer.h>

int
main (void)
{

		static DEFINE_TIMER(my_timer, NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/define_timer_pc/define_timer_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/define_timer_pc || mkdir -p ${TEST_DIR}/define_timer_pc

	file=${TEST_DIR}/define_timer_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/define_timer_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/define_timer_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := define_timer_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_define_timer+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += define_timer_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_define_timer=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/kernel_write_match_pc || mkdir -p ${TEST_DIR}/kernel_write_match_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/kernel_write_match_pc/kernel_write_match_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>

int
main (void)
{

		const void *buf = NULL;
		loff_t pos = 0;
		return kernel_write(NULL, buf, 0, &pos);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/kernel_write_match_pc/kernel_write_match_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/kernel_write_match_pc || mkdir -p ${TEST_DIR}/kernel_write_match_pc

	file=${TEST_DIR}/kernel_write_match_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/kernel_write_match_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/kernel_write_match_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := kernel_write_match_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_kernel_write_match+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += kernel_write_match_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_kernel_write_match=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/kernel_read_pc || mkdir -p ${TEST_DIR}/kernel_read_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/kernel_read_pc/kernel_read_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>

int
main (void)
{

		loff_t pos = 0;
		kernel_read(NULL, NULL, 0, &pos);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/kernel_read_pc/kernel_read_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/kernel_read_pc || mkdir -p ${TEST_DIR}/kernel_read_pc

	file=${TEST_DIR}/kernel_read_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/kernel_read_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/kernel_read_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := kernel_read_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_kernel_read+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += kernel_read_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_kernel_read=unused
		fi

fi





	# 4.15


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/bitmap_to_arr32_pc || mkdir -p ${TEST_DIR}/bitmap_to_arr32_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/bitmap_to_arr32_pc/bitmap_to_arr32_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/bitmap.h>

int
main (void)
{

		bitmap_to_arr32(NULL, NULL, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/bitmap_to_arr32_pc/bitmap_to_arr32_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/bitmap_to_arr32_pc || mkdir -p ${TEST_DIR}/bitmap_to_arr32_pc

	file=${TEST_DIR}/bitmap_to_arr32_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/bitmap_to_arr32_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/bitmap_to_arr32_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := bitmap_to_arr32_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_bitmap_to_arr32+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += bitmap_to_arr32_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_bitmap_to_arr32=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/timer_setup_pc || mkdir -p ${TEST_DIR}/timer_setup_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/timer_setup_pc/timer_setup_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/timer.h>

int
main (void)
{

		timer_setup(NULL, NULL, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/timer_setup_pc/timer_setup_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/timer_setup_pc || mkdir -p ${TEST_DIR}/timer_setup_pc

	file=${TEST_DIR}/timer_setup_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/timer_setup_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/timer_setup_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := timer_setup_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_timer_setup+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += timer_setup_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_timer_setup=unused
		fi

fi





	# 4.16


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/kernel_old_timeval_pc || mkdir -p ${TEST_DIR}/kernel_old_timeval_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/kernel_old_timeval_pc/kernel_old_timeval_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/time.h>

int
main (void)
{

		struct timespec64 kts;

		kts = ns_to_timespec64(0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/kernel_old_timeval_pc/kernel_old_timeval_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/kernel_old_timeval_pc || mkdir -p ${TEST_DIR}/kernel_old_timeval_pc

	file=${TEST_DIR}/kernel_old_timeval_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/kernel_old_timeval_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/kernel_old_timeval_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := kernel_old_timeval_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_kernel_old_timeval+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += kernel_old_timeval_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_kernel_old_timeval=unused
		fi

fi






	if test "x$lb_cv_header_linux_wait_bit_h" = xyes; then
		WAIT_BIT_H="-DHAVE_WAIT_BIT_HEADER_H=1"
	else
		WAIT_BIT_H=""
	fi

	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/wait_var_event_pc || mkdir -p ${TEST_DIR}/wait_var_event_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/wait_var_event_pc/wait_var_event_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#ifdef HAVE_WAIT_BIT_HEADER_H
		#include <linux/wait_bit.h>
		#endif
		#include <linux/wait.h>

int
main (void)
{

		wake_up_var(NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/wait_var_event_pc/wait_var_event_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/wait_var_event_pc || mkdir -p ${TEST_DIR}/wait_var_event_pc

	file=${TEST_DIR}/wait_var_event_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/wait_var_event_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/wait_var_event_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += ${WAIT_BIT_H}" >>$file

	# Test case source
	echo "obj-m := wait_var_event_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_wait_var_event+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += wait_var_event_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_wait_var_event=unused
		fi

fi





	# 4.17


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/bitmap_alloc_pc || mkdir -p ${TEST_DIR}/bitmap_alloc_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/bitmap_alloc_pc/bitmap_alloc_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/bitmap.h>

int
main (void)
{

		unsigned long *map = bitmap_alloc(1, GFP_KERNEL);
		(void)map;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/bitmap_alloc_pc/bitmap_alloc_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/bitmap_alloc_pc || mkdir -p ${TEST_DIR}/bitmap_alloc_pc

	file=${TEST_DIR}/bitmap_alloc_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/bitmap_alloc_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/bitmap_alloc_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := bitmap_alloc_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_bitmap_alloc+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += bitmap_alloc_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_bitmap_alloc=unused
		fi

fi






	if test "x$lb_cv_header_linux_wait_bit_h" = xyes; then
		WAIT_BIT_H="-DHAVE_WAIT_BIT_HEADER_H=1"
	else
		WAIT_BIT_H=""
	fi

	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/clear_and_wake_up_bit_pc || mkdir -p ${TEST_DIR}/clear_and_wake_up_bit_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/clear_and_wake_up_bit_pc/clear_and_wake_up_bit_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#ifdef HAVE_WAIT_BIT_HEADER_H
		#include <linux/wait_bit.h>
		#endif
		#include <linux/wait.h>

int
main (void)
{

		clear_and_wake_up_bit(0, NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/clear_and_wake_up_bit_pc/clear_and_wake_up_bit_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/clear_and_wake_up_bit_pc || mkdir -p ${TEST_DIR}/clear_and_wake_up_bit_pc

	file=${TEST_DIR}/clear_and_wake_up_bit_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/clear_and_wake_up_bit_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/clear_and_wake_up_bit_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += ${WAIT_BIT_H}" >>$file

	# Test case source
	echo "obj-m := clear_and_wake_up_bit_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_clear_and_wake_up_bit+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += clear_and_wake_up_bit_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_clear_and_wake_up_bit=unused
		fi

fi





	# 4.18


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/tcp_sock_set_nodelay_exists_pc || mkdir -p ${TEST_DIR}/tcp_sock_set_nodelay_exists_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/tcp_sock_set_nodelay_exists_pc/tcp_sock_set_nodelay_exists_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/tcp.h>

int
main (void)
{

		tcp_sock_set_nodelay(NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/tcp_sock_set_nodelay_exists_pc/tcp_sock_set_nodelay_exists_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/tcp_sock_set_nodelay_exists_pc || mkdir -p ${TEST_DIR}/tcp_sock_set_nodelay_exists_pc

	file=${TEST_DIR}/tcp_sock_set_nodelay_exists_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/tcp_sock_set_nodelay_exists_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/tcp_sock_set_nodelay_exists_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := tcp_sock_set_nodelay_exists_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_tcp_sock_set_nodelay_exists+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += tcp_sock_set_nodelay_exists_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_tcp_sock_set_nodelay_exists=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/tcp_sock_set_keepidle_exists_pc || mkdir -p ${TEST_DIR}/tcp_sock_set_keepidle_exists_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/tcp_sock_set_keepidle_exists_pc/tcp_sock_set_keepidle_exists_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/tcp.h>

int
main (void)
{

		tcp_sock_set_keepidle(NULL, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/tcp_sock_set_keepidle_exists_pc/tcp_sock_set_keepidle_exists_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/tcp_sock_set_keepidle_exists_pc || mkdir -p ${TEST_DIR}/tcp_sock_set_keepidle_exists_pc

	file=${TEST_DIR}/tcp_sock_set_keepidle_exists_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/tcp_sock_set_keepidle_exists_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/tcp_sock_set_keepidle_exists_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := tcp_sock_set_keepidle_exists_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_tcp_sock_set_keepidle_exists+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += tcp_sock_set_keepidle_exists_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_tcp_sock_set_keepidle_exists=unused
		fi

fi





	# 4.19


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/xarray_support_pc || mkdir -p ${TEST_DIR}/xarray_support_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/xarray_support_pc/xarray_support_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/xarray.h>

int
main (void)
{

		xa_is_value(NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/xarray_support_pc/xarray_support_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/xarray_support_pc || mkdir -p ${TEST_DIR}/xarray_support_pc

	file=${TEST_DIR}/xarray_support_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/xarray_support_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/xarray_support_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := xarray_support_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_xarray_support+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += xarray_support_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_xarray_support=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/netlink_dump_ext_ack_pc || mkdir -p ${TEST_DIR}/netlink_dump_ext_ack_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/netlink_dump_ext_ack_pc/netlink_dump_ext_ack_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <net/netlink.h>

int
main (void)
{

		struct netlink_callback *cb = NULL;
		cb->extack = NULL;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/netlink_dump_ext_ack_pc/netlink_dump_ext_ack_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/netlink_dump_ext_ack_pc || mkdir -p ${TEST_DIR}/netlink_dump_ext_ack_pc

	file=${TEST_DIR}/netlink_dump_ext_ack_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/netlink_dump_ext_ack_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/netlink_dump_ext_ack_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := netlink_dump_ext_ack_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_netlink_dump_ext_ack+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += netlink_dump_ext_ack_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_netlink_dump_ext_ack=unused
		fi

fi





	# 4.20


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/macro_iov_iter_type_exists_pc || mkdir -p ${TEST_DIR}/macro_iov_iter_type_exists_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/macro_iov_iter_type_exists_pc/macro_iov_iter_type_exists_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/uio.h>

int
main (void)
{

		struct iov_iter iter = { };
		enum iter_type type = iov_iter_type(&iter);
		(void)type;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/macro_iov_iter_type_exists_pc/macro_iov_iter_type_exists_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/macro_iov_iter_type_exists_pc || mkdir -p ${TEST_DIR}/macro_iov_iter_type_exists_pc

	file=${TEST_DIR}/macro_iov_iter_type_exists_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/macro_iov_iter_type_exists_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/macro_iov_iter_type_exists_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := macro_iov_iter_type_exists_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_macro_iov_iter_type_exists+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += macro_iov_iter_type_exists_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_macro_iov_iter_type_exists=unused
		fi

fi





	# 5.0


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/totalram_pages_pc || mkdir -p ${TEST_DIR}/totalram_pages_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/totalram_pages_pc/totalram_pages_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/mm.h>

int
main (void)
{

		totalram_pages_inc();

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/totalram_pages_pc/totalram_pages_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/totalram_pages_pc || mkdir -p ${TEST_DIR}/totalram_pages_pc

	file=${TEST_DIR}/totalram_pages_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/totalram_pages_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/totalram_pages_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := totalram_pages_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_totalram_pages+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += totalram_pages_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_totalram_pages=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/get_request_key_auth_exported_pc || mkdir -p ${TEST_DIR}/get_request_key_auth_exported_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/get_request_key_auth_exported_pc/get_request_key_auth_exported_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/key.h>
		#include <linux/keyctl.h>
		#include <keys/request_key_auth-type.h>

int
main (void)
{

		struct key *ring;
		const struct key *key = NULL;
		struct request_key_auth *rka = get_request_key_auth(key);

		ring = key_get(rka->dest_keyring);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/get_request_key_auth_exported_pc/get_request_key_auth_exported_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/get_request_key_auth_exported_pc || mkdir -p ${TEST_DIR}/get_request_key_auth_exported_pc

	file=${TEST_DIR}/get_request_key_auth_exported_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/get_request_key_auth_exported_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/get_request_key_auth_exported_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := get_request_key_auth_exported_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_get_request_key_auth_exported+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += get_request_key_auth_exported_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_get_request_key_auth_exported=unused
		fi

fi





	# 5.2


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/kobj_type_default_groups_pc || mkdir -p ${TEST_DIR}/kobj_type_default_groups_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/kobj_type_default_groups_pc/kobj_type_default_groups_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/kobject.h>

int
main (void)
{

		struct kobj_type *kobj_type = NULL;
		void *has = kobj_type->default_groups;
		(void) has;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/kobj_type_default_groups_pc/kobj_type_default_groups_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/kobj_type_default_groups_pc || mkdir -p ${TEST_DIR}/kobj_type_default_groups_pc

	file=${TEST_DIR}/kobj_type_default_groups_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/kobj_type_default_groups_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/kobj_type_default_groups_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := kobj_type_default_groups_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_kobj_type_default_groups+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += kobj_type_default_groups_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_kobj_type_default_groups=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/user_uid_keyring_exists_pc || mkdir -p ${TEST_DIR}/user_uid_keyring_exists_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/user_uid_keyring_exists_pc/user_uid_keyring_exists_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/sched/user.h>

int
main (void)
{

		((struct user_struct *)0)->uid_keyring = NULL;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/user_uid_keyring_exists_pc/user_uid_keyring_exists_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/user_uid_keyring_exists_pc || mkdir -p ${TEST_DIR}/user_uid_keyring_exists_pc

	file=${TEST_DIR}/user_uid_keyring_exists_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/user_uid_keyring_exists_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/user_uid_keyring_exists_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := user_uid_keyring_exists_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_user_uid_keyring_exists+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += user_uid_keyring_exists_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_user_uid_keyring_exists=unused
		fi

fi





	# 5.3


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/lookup_user_key_exported_pc || mkdir -p ${TEST_DIR}/lookup_user_key_exported_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/lookup_user_key_exported_pc/lookup_user_key_exported_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/key.h>
		#include <linux/keyctl.h>

int
main (void)
{

		lookup_user_key(KEY_SPEC_USER_KEYRING, 0, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/lookup_user_key_exported_pc/lookup_user_key_exported_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/lookup_user_key_exported_pc || mkdir -p ${TEST_DIR}/lookup_user_key_exported_pc

	file=${TEST_DIR}/lookup_user_key_exported_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/lookup_user_key_exported_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/lookup_user_key_exported_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := lookup_user_key_exported_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_lookup_user_key_exported+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += lookup_user_key_exported_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_lookup_user_key_exported=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/cache_detail_writers_atomic_pc || mkdir -p ${TEST_DIR}/cache_detail_writers_atomic_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/cache_detail_writers_atomic_pc/cache_detail_writers_atomic_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/sunrpc/cache.h>

		static struct cache_detail rsi_cache;

int
main (void)
{

		atomic_set(&rsi_cache.writers, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/cache_detail_writers_atomic_pc/cache_detail_writers_atomic_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/cache_detail_writers_atomic_pc || mkdir -p ${TEST_DIR}/cache_detail_writers_atomic_pc

	file=${TEST_DIR}/cache_detail_writers_atomic_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/cache_detail_writers_atomic_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/cache_detail_writers_atomic_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := cache_detail_writers_atomic_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_cache_detail_writers_atomic+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += cache_detail_writers_atomic_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_cache_detail_writers_atomic=unused
		fi

fi





	# 5.4


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/genl_dumpit_info_pc || mkdir -p ${TEST_DIR}/genl_dumpit_info_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/genl_dumpit_info_pc/genl_dumpit_info_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <net/genetlink.h>

int
main (void)
{

		static struct genl_dumpit_info info;

		info.family = NULL;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/genl_dumpit_info_pc/genl_dumpit_info_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/genl_dumpit_info_pc || mkdir -p ${TEST_DIR}/genl_dumpit_info_pc

	file=${TEST_DIR}/genl_dumpit_info_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/genl_dumpit_info_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/genl_dumpit_info_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := genl_dumpit_info_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_genl_dumpit_info+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += genl_dumpit_info_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_genl_dumpit_info=unused
		fi

fi





	# 5.6


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/proc_ops_pc || mkdir -p ${TEST_DIR}/proc_ops_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/proc_ops_pc/proc_ops_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/proc_fs.h>

		static struct proc_ops *my_proc;

int
main (void)
{

		my_proc->proc_lseek = NULL;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/proc_ops_pc/proc_ops_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/proc_ops_pc || mkdir -p ${TEST_DIR}/proc_ops_pc

	file=${TEST_DIR}/proc_ops_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/proc_ops_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/proc_ops_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := proc_ops_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_proc_ops+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += proc_ops_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_proc_ops=unused
		fi

fi





	# 5.7


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/tcp_sock_set_quickack_exists_pc || mkdir -p ${TEST_DIR}/tcp_sock_set_quickack_exists_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/tcp_sock_set_quickack_exists_pc/tcp_sock_set_quickack_exists_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/tcp.h>

int
main (void)
{

		tcp_sock_set_quickack(NULL, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/tcp_sock_set_quickack_exists_pc/tcp_sock_set_quickack_exists_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/tcp_sock_set_quickack_exists_pc || mkdir -p ${TEST_DIR}/tcp_sock_set_quickack_exists_pc

	file=${TEST_DIR}/tcp_sock_set_quickack_exists_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/tcp_sock_set_quickack_exists_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/tcp_sock_set_quickack_exists_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := tcp_sock_set_quickack_exists_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_tcp_sock_set_quickack_exists+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += tcp_sock_set_quickack_exists_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_tcp_sock_set_quickack_exists=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/tcp_sock_set_keepintvl_exists_pc || mkdir -p ${TEST_DIR}/tcp_sock_set_keepintvl_exists_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/tcp_sock_set_keepintvl_exists_pc/tcp_sock_set_keepintvl_exists_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/tcp.h>

int
main (void)
{

		tcp_sock_set_keepintvl(NULL, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/tcp_sock_set_keepintvl_exists_pc/tcp_sock_set_keepintvl_exists_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/tcp_sock_set_keepintvl_exists_pc || mkdir -p ${TEST_DIR}/tcp_sock_set_keepintvl_exists_pc

	file=${TEST_DIR}/tcp_sock_set_keepintvl_exists_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/tcp_sock_set_keepintvl_exists_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/tcp_sock_set_keepintvl_exists_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := tcp_sock_set_keepintvl_exists_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_tcp_sock_set_keepintvl_exists+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += tcp_sock_set_keepintvl_exists_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_tcp_sock_set_keepintvl_exists=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/tcp_sock_set_keepcnt_exists_pc || mkdir -p ${TEST_DIR}/tcp_sock_set_keepcnt_exists_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/tcp_sock_set_keepcnt_exists_pc/tcp_sock_set_keepcnt_exists_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/tcp.h>

int
main (void)
{

		tcp_sock_set_keepcnt(NULL, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/tcp_sock_set_keepcnt_exists_pc/tcp_sock_set_keepcnt_exists_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/tcp_sock_set_keepcnt_exists_pc || mkdir -p ${TEST_DIR}/tcp_sock_set_keepcnt_exists_pc

	file=${TEST_DIR}/tcp_sock_set_keepcnt_exists_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/tcp_sock_set_keepcnt_exists_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/tcp_sock_set_keepcnt_exists_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := tcp_sock_set_keepcnt_exists_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_tcp_sock_set_keepcnt_exists+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += tcp_sock_set_keepcnt_exists_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_tcp_sock_set_keepcnt_exists=unused
		fi

fi





	# 5.8


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/ip6_set_pref_test_pc || mkdir -p ${TEST_DIR}/ip6_set_pref_test_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/ip6_set_pref_test_pc/ip6_set_pref_test_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <net/ipv6.h>

int
main (void)
{

		ip6_sock_set_addr_preferences(NULL, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/ip6_set_pref_test_pc/ip6_set_pref_test_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/ip6_set_pref_test_pc || mkdir -p ${TEST_DIR}/ip6_set_pref_test_pc

	file=${TEST_DIR}/ip6_set_pref_test_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/ip6_set_pref_test_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/ip6_set_pref_test_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := ip6_set_pref_test_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_ip6_set_pref_test+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += ip6_set_pref_test_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_ip6_set_pref_test=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/ip_set_tos_test_pc || mkdir -p ${TEST_DIR}/ip_set_tos_test_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/ip_set_tos_test_pc/ip_set_tos_test_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <net/ip.h>

int
main (void)
{

		ip_sock_set_tos(NULL, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/ip_set_tos_test_pc/ip_set_tos_test_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/ip_set_tos_test_pc || mkdir -p ${TEST_DIR}/ip_set_tos_test_pc

	file=${TEST_DIR}/ip_set_tos_test_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/ip_set_tos_test_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/ip_set_tos_test_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := ip_set_tos_test_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_ip_set_tos_test+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += ip_set_tos_test_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_ip_set_tos_test=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/vmalloc_2args_pc || mkdir -p ${TEST_DIR}/vmalloc_2args_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/vmalloc_2args_pc/vmalloc_2args_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/vmalloc.h>

int
main (void)
{

		__vmalloc(0, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/vmalloc_2args_pc/vmalloc_2args_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/vmalloc_2args_pc || mkdir -p ${TEST_DIR}/vmalloc_2args_pc

	file=${TEST_DIR}/vmalloc_2args_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/vmalloc_2args_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/vmalloc_2args_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := vmalloc_2args_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_vmalloc_2args+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += vmalloc_2args_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_vmalloc_2args=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/nr_unstable_nfs_exists_pc || mkdir -p ${TEST_DIR}/nr_unstable_nfs_exists_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/nr_unstable_nfs_exists_pc/nr_unstable_nfs_exists_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/mm.h>

		int i;

int
main (void)
{

		i = NR_UNSTABLE_NFS;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/nr_unstable_nfs_exists_pc/nr_unstable_nfs_exists_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/nr_unstable_nfs_exists_pc || mkdir -p ${TEST_DIR}/nr_unstable_nfs_exists_pc

	file=${TEST_DIR}/nr_unstable_nfs_exists_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/nr_unstable_nfs_exists_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/nr_unstable_nfs_exists_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := nr_unstable_nfs_exists_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_nr_unstable_nfs_exists+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += nr_unstable_nfs_exists_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_nr_unstable_nfs_exists=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/kernel_setsockopt_exists_pc || mkdir -p ${TEST_DIR}/kernel_setsockopt_exists_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/kernel_setsockopt_exists_pc/kernel_setsockopt_exists_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/net.h>

int
main (void)
{

		kernel_setsockopt(NULL, 0, 0, NULL, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/kernel_setsockopt_exists_pc/kernel_setsockopt_exists_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/kernel_setsockopt_exists_pc || mkdir -p ${TEST_DIR}/kernel_setsockopt_exists_pc

	file=${TEST_DIR}/kernel_setsockopt_exists_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/kernel_setsockopt_exists_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/kernel_setsockopt_exists_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := kernel_setsockopt_exists_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_kernel_setsockopt_exists+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += kernel_setsockopt_exists_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_kernel_setsockopt_exists=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/key_need_unlink_exists_pc || mkdir -p ${TEST_DIR}/key_need_unlink_exists_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/key_need_unlink_exists_pc/key_need_unlink_exists_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/key.h>
		#include <linux/keyctl.h>

int
main (void)
{

		lookup_user_key(0, 0, KEY_NEED_UNLINK);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/key_need_unlink_exists_pc/key_need_unlink_exists_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/key_need_unlink_exists_pc || mkdir -p ${TEST_DIR}/key_need_unlink_exists_pc

	file=${TEST_DIR}/key_need_unlink_exists_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/key_need_unlink_exists_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/key_need_unlink_exists_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := key_need_unlink_exists_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_key_need_unlink_exists+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += key_need_unlink_exists_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_key_need_unlink_exists=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/security_release_secctx_1arg_pc || mkdir -p ${TEST_DIR}/security_release_secctx_1arg_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/security_release_secctx_1arg_pc/security_release_secctx_1arg_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/security.h>

int
main (void)
{

		security_release_secctx(NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/security_release_secctx_1arg_pc/security_release_secctx_1arg_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/security_release_secctx_1arg_pc || mkdir -p ${TEST_DIR}/security_release_secctx_1arg_pc

	file=${TEST_DIR}/security_release_secctx_1arg_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/security_release_secctx_1arg_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/security_release_secctx_1arg_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := security_release_secctx_1arg_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_security_release_secctx_1arg+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += security_release_secctx_1arg_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_security_release_secctx_1arg=unused
		fi

fi





	# 5.10


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/kfree_sensitive_exists_pc || mkdir -p ${TEST_DIR}/kfree_sensitive_exists_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/kfree_sensitive_exists_pc/kfree_sensitive_exists_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/slab.h>

int
main (void)
{

		kfree_sensitive(NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/kfree_sensitive_exists_pc/kfree_sensitive_exists_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/kfree_sensitive_exists_pc || mkdir -p ${TEST_DIR}/kfree_sensitive_exists_pc

	file=${TEST_DIR}/kfree_sensitive_exists_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/kfree_sensitive_exists_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/kfree_sensitive_exists_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := kfree_sensitive_exists_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_kfree_sensitive_exists+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += kfree_sensitive_exists_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_kfree_sensitive_exists=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	UNIQUE_ID=$(echo crypto/sha2.h | tr /. __)
	as_lb_test=`printf "%s\n" "lb_cv_test_${UNIQUE_ID}" | $as_tr_sh`

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/${UNIQUE_ID}_pc || mkdir -p ${TEST_DIR}/${UNIQUE_ID}_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/${UNIQUE_ID}_pc/${UNIQUE_ID}_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif

#include <crypto/sha2.h>
int
main (void)
{

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/${UNIQUE_ID}_pc/${UNIQUE_ID}_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/${UNIQUE_ID}_pc || mkdir -p ${TEST_DIR}/${UNIQUE_ID}_pc

	file=${TEST_DIR}/${UNIQUE_ID}_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/${UNIQUE_ID}_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/${UNIQUE_ID}_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := ${UNIQUE_ID}_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached
	as_lb2_cache_name=`printf "%s\n" "lb_cv_test_${UNIQUE_ID}" | $as_tr_sh`

	if eval test \${$as_lb2_cache_name+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += ${UNIQUE_ID}_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			eval "$as_lb2_cache_name=unused"
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/list_cmp_func_t_exists_pc || mkdir -p ${TEST_DIR}/list_cmp_func_t_exists_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/list_cmp_func_t_exists_pc/list_cmp_func_t_exists_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/list_sort.h>

int
main (void)
{

		list_cmp_func_t cmp;
		(void)cmp;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/list_cmp_func_t_exists_pc/list_cmp_func_t_exists_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/list_cmp_func_t_exists_pc || mkdir -p ${TEST_DIR}/list_cmp_func_t_exists_pc

	file=${TEST_DIR}/list_cmp_func_t_exists_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/list_cmp_func_t_exists_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/list_cmp_func_t_exists_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := list_cmp_func_t_exists_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_list_cmp_func_t_exists+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += list_cmp_func_t_exists_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_list_cmp_func_t_exists=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/nla_strlcpy_pc || mkdir -p ${TEST_DIR}/nla_strlcpy_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/nla_strlcpy_pc/nla_strlcpy_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <net/netlink.h>

int
main (void)
{

		if (nla_strlcpy(NULL, NULL, 0) == 0)
			return -EINVAL;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/nla_strlcpy_pc/nla_strlcpy_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/nla_strlcpy_pc || mkdir -p ${TEST_DIR}/nla_strlcpy_pc

	file=${TEST_DIR}/nla_strlcpy_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/nla_strlcpy_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/nla_strlcpy_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := nla_strlcpy_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_nla_strlcpy+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += nla_strlcpy_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_nla_strlcpy=unused
		fi

fi





	# 5.12


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/linux_fortify_string_header_pc || mkdir -p ${TEST_DIR}/linux_fortify_string_header_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/linux_fortify_string_header_pc/linux_fortify_string_header_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fortify-string.h>

int
main (void)
{


  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/linux_fortify_string_header_pc/linux_fortify_string_header_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/linux_fortify_string_header_pc || mkdir -p ${TEST_DIR}/linux_fortify_string_header_pc

	file=${TEST_DIR}/linux_fortify_string_header_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/linux_fortify_string_header_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/linux_fortify_string_header_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := linux_fortify_string_header_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_linux_fortify_string_header+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += linux_fortify_string_header_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_linux_fortify_string_header=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	UNIQUE_ID=$(echo crypto/internal/cipher.h | tr /. __)
	as_lb_test=`printf "%s\n" "lb_cv_test_${UNIQUE_ID}" | $as_tr_sh`

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/${UNIQUE_ID}_pc || mkdir -p ${TEST_DIR}/${UNIQUE_ID}_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/${UNIQUE_ID}_pc/${UNIQUE_ID}_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif

#include <crypto/internal/cipher.h>
int
main (void)
{

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/${UNIQUE_ID}_pc/${UNIQUE_ID}_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/${UNIQUE_ID}_pc || mkdir -p ${TEST_DIR}/${UNIQUE_ID}_pc

	file=${TEST_DIR}/${UNIQUE_ID}_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/${UNIQUE_ID}_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/${UNIQUE_ID}_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := ${UNIQUE_ID}_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached
	as_lb2_cache_name=`printf "%s\n" "lb_cv_test_${UNIQUE_ID}" | $as_tr_sh`

	if eval test \${$as_lb2_cache_name+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += ${UNIQUE_ID}_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			eval "$as_lb2_cache_name=unused"
		fi

fi





	# 5.13


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/task_is_running_pc || mkdir -p ${TEST_DIR}/task_is_running_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/task_is_running_pc/task_is_running_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/sched.h>

int
main (void)
{

		if (task_is_running(current))
			schedule();

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/task_is_running_pc/task_is_running_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/task_is_running_pc || mkdir -p ${TEST_DIR}/task_is_running_pc

	file=${TEST_DIR}/task_is_running_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/task_is_running_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/task_is_running_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := task_is_running_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_task_is_running+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += task_is_running_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_task_is_running=unused
		fi

fi





	# 5.14


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	UNIQUE_ID=$(echo linux/stdarg.h | tr /. __)
	as_lb_test=`printf "%s\n" "lb_cv_test_${UNIQUE_ID}" | $as_tr_sh`

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/${UNIQUE_ID}_pc || mkdir -p ${TEST_DIR}/${UNIQUE_ID}_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/${UNIQUE_ID}_pc/${UNIQUE_ID}_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif

#include <linux/stdarg.h>
int
main (void)
{

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/${UNIQUE_ID}_pc/${UNIQUE_ID}_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/${UNIQUE_ID}_pc || mkdir -p ${TEST_DIR}/${UNIQUE_ID}_pc

	file=${TEST_DIR}/${UNIQUE_ID}_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/${UNIQUE_ID}_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/${UNIQUE_ID}_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := ${UNIQUE_ID}_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached
	as_lb2_cache_name=`printf "%s\n" "lb_cv_test_${UNIQUE_ID}" | $as_tr_sh`

	if eval test \${$as_lb2_cache_name+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += ${UNIQUE_ID}_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			eval "$as_lb2_cache_name=unused"
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	UNIQUE_ID=$(echo linux/panic_notifier.h | tr /. __)
	as_lb_test=`printf "%s\n" "lb_cv_test_${UNIQUE_ID}" | $as_tr_sh`

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/${UNIQUE_ID}_pc || mkdir -p ${TEST_DIR}/${UNIQUE_ID}_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/${UNIQUE_ID}_pc/${UNIQUE_ID}_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif

#include <linux/panic_notifier.h>
int
main (void)
{

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/${UNIQUE_ID}_pc/${UNIQUE_ID}_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/${UNIQUE_ID}_pc || mkdir -p ${TEST_DIR}/${UNIQUE_ID}_pc

	file=${TEST_DIR}/${UNIQUE_ID}_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/${UNIQUE_ID}_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/${UNIQUE_ID}_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := ${UNIQUE_ID}_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached
	as_lb2_cache_name=`printf "%s\n" "lb_cv_test_${UNIQUE_ID}" | $as_tr_sh`

	if eval test \${$as_lb2_cache_name+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += ${UNIQUE_ID}_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			eval "$as_lb2_cache_name=unused"
		fi

fi





	# 5.15


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/param_set_uint_minmax_pc || mkdir -p ${TEST_DIR}/param_set_uint_minmax_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/param_set_uint_minmax_pc/param_set_uint_minmax_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/moduleparam.h>

int
main (void)
{

		param_set_uint_minmax(NULL, NULL, 0, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/param_set_uint_minmax_pc/param_set_uint_minmax_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/param_set_uint_minmax_pc || mkdir -p ${TEST_DIR}/param_set_uint_minmax_pc

	file=${TEST_DIR}/param_set_uint_minmax_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/param_set_uint_minmax_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/param_set_uint_minmax_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := param_set_uint_minmax_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_param_set_uint_minmax+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += param_set_uint_minmax_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_param_set_uint_minmax=unused
		fi

fi





	# 5.17


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/pde_data_pc || mkdir -p ${TEST_DIR}/pde_data_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/pde_data_pc/pde_data_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/proc_fs.h>

int
main (void)
{

		struct inode *inode = NULL;
		void *data =pde_data(inode);
		(void)data;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/pde_data_pc/pde_data_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/pde_data_pc || mkdir -p ${TEST_DIR}/pde_data_pc

	file=${TEST_DIR}/pde_data_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/pde_data_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/pde_data_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := pde_data_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_pde_data+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += pde_data_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_pde_data=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/bio_alloc_with_bdev_pc || mkdir -p ${TEST_DIR}/bio_alloc_with_bdev_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/bio_alloc_with_bdev_pc/bio_alloc_with_bdev_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/bio.h>

int
main (void)
{

		struct block_device *bdev = NULL;
		unsigned short nr_vecs = 1;
		gfp_t gfp = GFP_KERNEL;
		struct bio *bio = bio_alloc(bdev, nr_vecs, REQ_OP_WRITE, gfp);
		(void) bio;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/bio_alloc_with_bdev_pc/bio_alloc_with_bdev_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/bio_alloc_with_bdev_pc || mkdir -p ${TEST_DIR}/bio_alloc_with_bdev_pc

	file=${TEST_DIR}/bio_alloc_with_bdev_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/bio_alloc_with_bdev_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/bio_alloc_with_bdev_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := bio_alloc_with_bdev_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_bio_alloc_with_bdev+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += bio_alloc_with_bdev_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_bio_alloc_with_bdev=unused
		fi

fi





	# 6.2


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/timer_delete_sync_pc || mkdir -p ${TEST_DIR}/timer_delete_sync_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/timer_delete_sync_pc/timer_delete_sync_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/timer.h>

int
main (void)
{

		struct timer_list *timer = NULL;
		(void)timer_delete_sync(timer);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/timer_delete_sync_pc/timer_delete_sync_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/timer_delete_sync_pc || mkdir -p ${TEST_DIR}/timer_delete_sync_pc

	file=${TEST_DIR}/timer_delete_sync_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/timer_delete_sync_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/timer_delete_sync_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := timer_delete_sync_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_timer_delete_sync+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += timer_delete_sync_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_timer_delete_sync=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/timer_delete_pc || mkdir -p ${TEST_DIR}/timer_delete_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/timer_delete_pc/timer_delete_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/timer.h>

int
main (void)
{

		struct timer_list *timer = NULL;
		(void)timer_delete(timer);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/timer_delete_pc/timer_delete_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/timer_delete_pc || mkdir -p ${TEST_DIR}/timer_delete_pc

	file=${TEST_DIR}/timer_delete_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/timer_delete_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/timer_delete_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := timer_delete_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_timer_delete+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += timer_delete_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_timer_delete=unused
		fi

fi











	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/external_rdma_create_id_4args_pc || mkdir -p ${TEST_DIR}/external_rdma_create_id_4args_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/external_rdma_create_id_4args_pc/external_rdma_create_id_4args_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


			#ifdef HAVE_OFED_COMPAT_RDMA
			#undef PACKAGE_NAME
			#undef PACKAGE_TARNAME
			#undef PACKAGE_VERSION
			#undef PACKAGE_STRING
			#undef PACKAGE_BUGREPORT
			#undef PACKAGE_URL
			#include <linux/compat-2.6.h>
			#endif
			#include <rdma/rdma_cm.h>

int
main (void)
{

			rdma_create_id(NULL, NULL, 0, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test xexternal = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/external_rdma_create_id_4args_pc/external_rdma_create_id_4args_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/external_rdma_create_id_4args_pc || mkdir -p ${TEST_DIR}/external_rdma_create_id_4args_pc

	file=${TEST_DIR}/external_rdma_create_id_4args_pc/Makefile
	EXT_INCLUDE="$EXTRA_OFED_CONFIG $EXTRA_OFED_INCLUDE"
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/external_rdma_create_id_4args_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "xexternal" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "xexternal" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/external_rdma_create_id_4args_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := external_rdma_create_id_4args_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_external_rdma_create_id_4args+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += external_rdma_create_id_4args_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_external_rdma_create_id_4args=unused
		fi

fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/in_kernel_rdma_create_id_4args_pc || mkdir -p ${TEST_DIR}/in_kernel_rdma_create_id_4args_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/in_kernel_rdma_create_id_4args_pc/in_kernel_rdma_create_id_4args_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


			#ifdef HAVE_OFED_COMPAT_RDMA
			#undef PACKAGE_NAME
			#undef PACKAGE_TARNAME
			#undef PACKAGE_VERSION
			#undef PACKAGE_STRING
			#undef PACKAGE_BUGREPORT
			#undef PACKAGE_URL
			#include <linux/compat-2.6.h>
			#endif
			#include <rdma/rdma_cm.h>

int
main (void)
{

			rdma_create_id(NULL, NULL, 0, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test xin_kernel = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/in_kernel_rdma_create_id_4args_pc/in_kernel_rdma_create_id_4args_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/in_kernel_rdma_create_id_4args_pc || mkdir -p ${TEST_DIR}/in_kernel_rdma_create_id_4args_pc

	file=${TEST_DIR}/in_kernel_rdma_create_id_4args_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/in_kernel_rdma_create_id_4args_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "xin_kernel" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "xin_kernel" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/in_kernel_rdma_create_id_4args_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := in_kernel_rdma_create_id_4args_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_in_kernel_rdma_create_id_4args+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += in_kernel_rdma_create_id_4args_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_in_kernel_rdma_create_id_4args=unused
		fi

fi









	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/external_rdma_create_id_5args_pc || mkdir -p ${TEST_DIR}/external_rdma_create_id_5args_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/external_rdma_create_id_5args_pc/external_rdma_create_id_5args_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


			#ifdef HAVE_OFED_COMPAT_RDMA
			#undef PACKAGE_NAME
			#undef PACKAGE_TARNAME
			#undef PACKAGE_VERSION
			#undef PACKAGE_STRING
			#undef PACKAGE_BUGREPORT
			#undef PACKAGE_URL
			#include <linux/compat-2.6.h>
			#endif
			#include <rdma/rdma_cm.h>

int
main (void)
{

			rdma_create_id(NULL, NULL, NULL, 0, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test xexternal = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/external_rdma_create_id_5args_pc/external_rdma_create_id_5args_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/external_rdma_create_id_5args_pc || mkdir -p ${TEST_DIR}/external_rdma_create_id_5args_pc

	file=${TEST_DIR}/external_rdma_create_id_5args_pc/Makefile
	EXT_INCLUDE="$EXTRA_OFED_CONFIG $EXTRA_OFED_INCLUDE"
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/external_rdma_create_id_5args_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "xexternal" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "xexternal" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/external_rdma_create_id_5args_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := external_rdma_create_id_5args_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_external_rdma_create_id_5args+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += external_rdma_create_id_5args_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_external_rdma_create_id_5args=unused
		fi

fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/in_kernel_rdma_create_id_5args_pc || mkdir -p ${TEST_DIR}/in_kernel_rdma_create_id_5args_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/in_kernel_rdma_create_id_5args_pc/in_kernel_rdma_create_id_5args_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


			#ifdef HAVE_OFED_COMPAT_RDMA
			#undef PACKAGE_NAME
			#undef PACKAGE_TARNAME
			#undef PACKAGE_VERSION
			#undef PACKAGE_STRING
			#undef PACKAGE_BUGREPORT
			#undef PACKAGE_URL
			#include <linux/compat-2.6.h>
			#endif
			#include <rdma/rdma_cm.h>

int
main (void)
{

			rdma_create_id(NULL, NULL, NULL, 0, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test xin_kernel = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/in_kernel_rdma_create_id_5args_pc/in_kernel_rdma_create_id_5args_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/in_kernel_rdma_create_id_5args_pc || mkdir -p ${TEST_DIR}/in_kernel_rdma_create_id_5args_pc

	file=${TEST_DIR}/in_kernel_rdma_create_id_5args_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/in_kernel_rdma_create_id_5args_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "xin_kernel" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "xin_kernel" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/in_kernel_rdma_create_id_5args_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := in_kernel_rdma_create_id_5args_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_in_kernel_rdma_create_id_5args+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += in_kernel_rdma_create_id_5args_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_in_kernel_rdma_create_id_5args=unused
		fi

fi









	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/external_ib_cq_init_attr_pc || mkdir -p ${TEST_DIR}/external_ib_cq_init_attr_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/external_ib_cq_init_attr_pc/external_ib_cq_init_attr_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


			#ifdef HAVE_OFED_COMPAT_RDMA
			#undef PACKAGE_NAME
			#undef PACKAGE_TARNAME
			#undef PACKAGE_VERSION
			#undef PACKAGE_STRING
			#undef PACKAGE_BUGREPORT
			#undef PACKAGE_URL
			#include <linux/compat-2.6.h>
			#endif
			#include <rdma/ib_verbs.h>

int
main (void)
{

			struct ib_cq_init_attr cq_attr;

			ib_create_cq(NULL, NULL, NULL, NULL, &cq_attr);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test xexternal = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/external_ib_cq_init_attr_pc/external_ib_cq_init_attr_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/external_ib_cq_init_attr_pc || mkdir -p ${TEST_DIR}/external_ib_cq_init_attr_pc

	file=${TEST_DIR}/external_ib_cq_init_attr_pc/Makefile
	EXT_INCLUDE="$EXTRA_OFED_CONFIG $EXTRA_OFED_INCLUDE"
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/external_ib_cq_init_attr_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "xexternal" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "xexternal" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/external_ib_cq_init_attr_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := external_ib_cq_init_attr_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_external_ib_cq_init_attr+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += external_ib_cq_init_attr_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_external_ib_cq_init_attr=unused
		fi

fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/in_kernel_ib_cq_init_attr_pc || mkdir -p ${TEST_DIR}/in_kernel_ib_cq_init_attr_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/in_kernel_ib_cq_init_attr_pc/in_kernel_ib_cq_init_attr_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


			#ifdef HAVE_OFED_COMPAT_RDMA
			#undef PACKAGE_NAME
			#undef PACKAGE_TARNAME
			#undef PACKAGE_VERSION
			#undef PACKAGE_STRING
			#undef PACKAGE_BUGREPORT
			#undef PACKAGE_URL
			#include <linux/compat-2.6.h>
			#endif
			#include <rdma/ib_verbs.h>

int
main (void)
{

			struct ib_cq_init_attr cq_attr;

			ib_create_cq(NULL, NULL, NULL, NULL, &cq_attr);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test xin_kernel = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/in_kernel_ib_cq_init_attr_pc/in_kernel_ib_cq_init_attr_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/in_kernel_ib_cq_init_attr_pc || mkdir -p ${TEST_DIR}/in_kernel_ib_cq_init_attr_pc

	file=${TEST_DIR}/in_kernel_ib_cq_init_attr_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/in_kernel_ib_cq_init_attr_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "xin_kernel" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "xin_kernel" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/in_kernel_ib_cq_init_attr_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := in_kernel_ib_cq_init_attr_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_in_kernel_ib_cq_init_attr+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += in_kernel_ib_cq_init_attr_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_in_kernel_ib_cq_init_attr=unused
		fi

fi









	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/external_ib_alloc_fast_reg_mr_pc || mkdir -p ${TEST_DIR}/external_ib_alloc_fast_reg_mr_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/external_ib_alloc_fast_reg_mr_pc/external_ib_alloc_fast_reg_mr_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


			#ifdef HAVE_OFED_COMPAT_RDMA
			#undef PACKAGE_NAME
			#undef PACKAGE_TARNAME
			#undef PACKAGE_VERSION
			#undef PACKAGE_STRING
			#undef PACKAGE_BUGREPORT
			#undef PACKAGE_URL
			#include <linux/compat-2.6.h>
			#endif
			#include <rdma/ib_verbs.h>

int
main (void)
{

			ib_alloc_fast_reg_mr(NULL, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test xexternal = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/external_ib_alloc_fast_reg_mr_pc/external_ib_alloc_fast_reg_mr_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/external_ib_alloc_fast_reg_mr_pc || mkdir -p ${TEST_DIR}/external_ib_alloc_fast_reg_mr_pc

	file=${TEST_DIR}/external_ib_alloc_fast_reg_mr_pc/Makefile
	EXT_INCLUDE="$EXTRA_OFED_CONFIG $EXTRA_OFED_INCLUDE"
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/external_ib_alloc_fast_reg_mr_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "xexternal" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "xexternal" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/external_ib_alloc_fast_reg_mr_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := external_ib_alloc_fast_reg_mr_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_external_ib_alloc_fast_reg_mr+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += external_ib_alloc_fast_reg_mr_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_external_ib_alloc_fast_reg_mr=unused
		fi

fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/in_kernel_ib_alloc_fast_reg_mr_pc || mkdir -p ${TEST_DIR}/in_kernel_ib_alloc_fast_reg_mr_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/in_kernel_ib_alloc_fast_reg_mr_pc/in_kernel_ib_alloc_fast_reg_mr_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


			#ifdef HAVE_OFED_COMPAT_RDMA
			#undef PACKAGE_NAME
			#undef PACKAGE_TARNAME
			#undef PACKAGE_VERSION
			#undef PACKAGE_STRING
			#undef PACKAGE_BUGREPORT
			#undef PACKAGE_URL
			#include <linux/compat-2.6.h>
			#endif
			#include <rdma/ib_verbs.h>

int
main (void)
{

			ib_alloc_fast_reg_mr(NULL, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test xin_kernel = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/in_kernel_ib_alloc_fast_reg_mr_pc/in_kernel_ib_alloc_fast_reg_mr_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/in_kernel_ib_alloc_fast_reg_mr_pc || mkdir -p ${TEST_DIR}/in_kernel_ib_alloc_fast_reg_mr_pc

	file=${TEST_DIR}/in_kernel_ib_alloc_fast_reg_mr_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/in_kernel_ib_alloc_fast_reg_mr_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "xin_kernel" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "xin_kernel" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/in_kernel_ib_alloc_fast_reg_mr_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := in_kernel_ib_alloc_fast_reg_mr_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_in_kernel_ib_alloc_fast_reg_mr+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += in_kernel_ib_alloc_fast_reg_mr_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_in_kernel_ib_alloc_fast_reg_mr=unused
		fi

fi









	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/external_ib_get_dma_mr_pc || mkdir -p ${TEST_DIR}/external_ib_get_dma_mr_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/external_ib_get_dma_mr_pc/external_ib_get_dma_mr_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


			#ifdef HAVE_OFED_COMPAT_RDMA
			#undef PACKAGE_NAME
			#undef PACKAGE_TARNAME
			#undef PACKAGE_VERSION
			#undef PACKAGE_STRING
			#undef PACKAGE_BUGREPORT
			#undef PACKAGE_URL
			#include <linux/compat-2.6.h>
			#endif
			#include <rdma/ib_verbs.h>

int
main (void)
{

			ib_get_dma_mr(NULL, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test xexternal = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/external_ib_get_dma_mr_pc/external_ib_get_dma_mr_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/external_ib_get_dma_mr_pc || mkdir -p ${TEST_DIR}/external_ib_get_dma_mr_pc

	file=${TEST_DIR}/external_ib_get_dma_mr_pc/Makefile
	EXT_INCLUDE="$EXTRA_OFED_CONFIG $EXTRA_OFED_INCLUDE"
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/external_ib_get_dma_mr_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "xexternal" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "xexternal" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/external_ib_get_dma_mr_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := external_ib_get_dma_mr_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_external_ib_get_dma_mr+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += external_ib_get_dma_mr_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_external_ib_get_dma_mr=unused
		fi

fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/in_kernel_ib_get_dma_mr_pc || mkdir -p ${TEST_DIR}/in_kernel_ib_get_dma_mr_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/in_kernel_ib_get_dma_mr_pc/in_kernel_ib_get_dma_mr_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


			#ifdef HAVE_OFED_COMPAT_RDMA
			#undef PACKAGE_NAME
			#undef PACKAGE_TARNAME
			#undef PACKAGE_VERSION
			#undef PACKAGE_STRING
			#undef PACKAGE_BUGREPORT
			#undef PACKAGE_URL
			#include <linux/compat-2.6.h>
			#endif
			#include <rdma/ib_verbs.h>

int
main (void)
{

			ib_get_dma_mr(NULL, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test xin_kernel = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/in_kernel_ib_get_dma_mr_pc/in_kernel_ib_get_dma_mr_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/in_kernel_ib_get_dma_mr_pc || mkdir -p ${TEST_DIR}/in_kernel_ib_get_dma_mr_pc

	file=${TEST_DIR}/in_kernel_ib_get_dma_mr_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/in_kernel_ib_get_dma_mr_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "xin_kernel" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "xin_kernel" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/in_kernel_ib_get_dma_mr_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := in_kernel_ib_get_dma_mr_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_in_kernel_ib_get_dma_mr+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += in_kernel_ib_get_dma_mr_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_in_kernel_ib_get_dma_mr=unused
		fi

fi









	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/external_ib_rdma_wr_pc || mkdir -p ${TEST_DIR}/external_ib_rdma_wr_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/external_ib_rdma_wr_pc/external_ib_rdma_wr_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


			#ifdef HAVE_OFED_COMPAT_RDMA
			#undef PACKAGE_NAME
			#undef PACKAGE_TARNAME
			#undef PACKAGE_VERSION
			#undef PACKAGE_STRING
			#undef PACKAGE_BUGREPORT
			#undef PACKAGE_URL
			#include <linux/compat-2.6.h>
			#endif
			#include <rdma/ib_verbs.h>

int
main (void)
{

			const struct ib_rdma_wr *wr __attribute__ ((unused));

			wr = rdma_wr(NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test xexternal = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/external_ib_rdma_wr_pc/external_ib_rdma_wr_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/external_ib_rdma_wr_pc || mkdir -p ${TEST_DIR}/external_ib_rdma_wr_pc

	file=${TEST_DIR}/external_ib_rdma_wr_pc/Makefile
	EXT_INCLUDE="$EXTRA_OFED_CONFIG $EXTRA_OFED_INCLUDE"
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/external_ib_rdma_wr_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "xexternal" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "xexternal" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/external_ib_rdma_wr_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := external_ib_rdma_wr_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_external_ib_rdma_wr+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += external_ib_rdma_wr_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_external_ib_rdma_wr=unused
		fi

fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/in_kernel_ib_rdma_wr_pc || mkdir -p ${TEST_DIR}/in_kernel_ib_rdma_wr_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/in_kernel_ib_rdma_wr_pc/in_kernel_ib_rdma_wr_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


			#ifdef HAVE_OFED_COMPAT_RDMA
			#undef PACKAGE_NAME
			#undef PACKAGE_TARNAME
			#undef PACKAGE_VERSION
			#undef PACKAGE_STRING
			#undef PACKAGE_BUGREPORT
			#undef PACKAGE_URL
			#include <linux/compat-2.6.h>
			#endif
			#include <rdma/ib_verbs.h>

int
main (void)
{

			const struct ib_rdma_wr *wr __attribute__ ((unused));

			wr = rdma_wr(NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test xin_kernel = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/in_kernel_ib_rdma_wr_pc/in_kernel_ib_rdma_wr_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/in_kernel_ib_rdma_wr_pc || mkdir -p ${TEST_DIR}/in_kernel_ib_rdma_wr_pc

	file=${TEST_DIR}/in_kernel_ib_rdma_wr_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/in_kernel_ib_rdma_wr_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "xin_kernel" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "xin_kernel" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/in_kernel_ib_rdma_wr_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := in_kernel_ib_rdma_wr_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_in_kernel_ib_rdma_wr+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += in_kernel_ib_rdma_wr_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_in_kernel_ib_rdma_wr=unused
		fi

fi









	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/external_ib_map_mr_sg_4args_pc || mkdir -p ${TEST_DIR}/external_ib_map_mr_sg_4args_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/external_ib_map_mr_sg_4args_pc/external_ib_map_mr_sg_4args_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


			#ifdef HAVE_OFED_COMPAT_RDMA
			#undef PACKAGE_NAME
			#undef PACKAGE_TARNAME
			#undef PACKAGE_VERSION
			#undef PACKAGE_STRING
			#undef PACKAGE_BUGREPORT
			#undef PACKAGE_URL
			#include <linux/compat-2.6.h>
			#endif
			#include <rdma/ib_verbs.h>

int
main (void)
{

			ib_map_mr_sg(NULL, NULL, 0, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test xexternal = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/external_ib_map_mr_sg_4args_pc/external_ib_map_mr_sg_4args_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/external_ib_map_mr_sg_4args_pc || mkdir -p ${TEST_DIR}/external_ib_map_mr_sg_4args_pc

	file=${TEST_DIR}/external_ib_map_mr_sg_4args_pc/Makefile
	EXT_INCLUDE="$EXTRA_OFED_CONFIG $EXTRA_OFED_INCLUDE"
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/external_ib_map_mr_sg_4args_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "xexternal" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "xexternal" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/external_ib_map_mr_sg_4args_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := external_ib_map_mr_sg_4args_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_external_ib_map_mr_sg_4args+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += external_ib_map_mr_sg_4args_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_external_ib_map_mr_sg_4args=unused
		fi

fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/in_kernel_ib_map_mr_sg_4args_pc || mkdir -p ${TEST_DIR}/in_kernel_ib_map_mr_sg_4args_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/in_kernel_ib_map_mr_sg_4args_pc/in_kernel_ib_map_mr_sg_4args_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


			#ifdef HAVE_OFED_COMPAT_RDMA
			#undef PACKAGE_NAME
			#undef PACKAGE_TARNAME
			#undef PACKAGE_VERSION
			#undef PACKAGE_STRING
			#undef PACKAGE_BUGREPORT
			#undef PACKAGE_URL
			#include <linux/compat-2.6.h>
			#endif
			#include <rdma/ib_verbs.h>

int
main (void)
{

			ib_map_mr_sg(NULL, NULL, 0, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test xin_kernel = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/in_kernel_ib_map_mr_sg_4args_pc/in_kernel_ib_map_mr_sg_4args_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/in_kernel_ib_map_mr_sg_4args_pc || mkdir -p ${TEST_DIR}/in_kernel_ib_map_mr_sg_4args_pc

	file=${TEST_DIR}/in_kernel_ib_map_mr_sg_4args_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/in_kernel_ib_map_mr_sg_4args_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "xin_kernel" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "xin_kernel" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/in_kernel_ib_map_mr_sg_4args_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := in_kernel_ib_map_mr_sg_4args_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_in_kernel_ib_map_mr_sg_4args+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += in_kernel_ib_map_mr_sg_4args_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_in_kernel_ib_map_mr_sg_4args=unused
		fi

fi









	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/external_ib_map_mr_sg_5args_pc || mkdir -p ${TEST_DIR}/external_ib_map_mr_sg_5args_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/external_ib_map_mr_sg_5args_pc/external_ib_map_mr_sg_5args_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


			#ifdef HAVE_OFED_COMPAT_RDMA
			#undef PACKAGE_NAME
			#undef PACKAGE_TARNAME
			#undef PACKAGE_VERSION
			#undef PACKAGE_STRING
			#undef PACKAGE_BUGREPORT
			#undef PACKAGE_URL
			#include <linux/compat-2.6.h>
			#endif
			#include <rdma/ib_verbs.h>

int
main (void)
{

			ib_map_mr_sg(NULL, NULL, 0, NULL, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test xexternal = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/external_ib_map_mr_sg_5args_pc/external_ib_map_mr_sg_5args_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/external_ib_map_mr_sg_5args_pc || mkdir -p ${TEST_DIR}/external_ib_map_mr_sg_5args_pc

	file=${TEST_DIR}/external_ib_map_mr_sg_5args_pc/Makefile
	EXT_INCLUDE="$EXTRA_OFED_CONFIG $EXTRA_OFED_INCLUDE"
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/external_ib_map_mr_sg_5args_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "xexternal" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "xexternal" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/external_ib_map_mr_sg_5args_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := external_ib_map_mr_sg_5args_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_external_ib_map_mr_sg_5args+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += external_ib_map_mr_sg_5args_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_external_ib_map_mr_sg_5args=unused
		fi

fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/in_kernel_ib_map_mr_sg_5args_pc || mkdir -p ${TEST_DIR}/in_kernel_ib_map_mr_sg_5args_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/in_kernel_ib_map_mr_sg_5args_pc/in_kernel_ib_map_mr_sg_5args_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


			#ifdef HAVE_OFED_COMPAT_RDMA
			#undef PACKAGE_NAME
			#undef PACKAGE_TARNAME
			#undef PACKAGE_VERSION
			#undef PACKAGE_STRING
			#undef PACKAGE_BUGREPORT
			#undef PACKAGE_URL
			#include <linux/compat-2.6.h>
			#endif
			#include <rdma/ib_verbs.h>

int
main (void)
{

			ib_map_mr_sg(NULL, NULL, 0, NULL, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test xin_kernel = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/in_kernel_ib_map_mr_sg_5args_pc/in_kernel_ib_map_mr_sg_5args_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/in_kernel_ib_map_mr_sg_5args_pc || mkdir -p ${TEST_DIR}/in_kernel_ib_map_mr_sg_5args_pc

	file=${TEST_DIR}/in_kernel_ib_map_mr_sg_5args_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/in_kernel_ib_map_mr_sg_5args_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "xin_kernel" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "xin_kernel" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/in_kernel_ib_map_mr_sg_5args_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := in_kernel_ib_map_mr_sg_5args_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_in_kernel_ib_map_mr_sg_5args+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += in_kernel_ib_map_mr_sg_5args_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_in_kernel_ib_map_mr_sg_5args=unused
		fi

fi









	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/external_ib_device_attrs_pc || mkdir -p ${TEST_DIR}/external_ib_device_attrs_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/external_ib_device_attrs_pc/external_ib_device_attrs_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


			#ifdef HAVE_OFED_COMPAT_RDMA
			#undef PACKAGE_NAME
			#undef PACKAGE_TARNAME
			#undef PACKAGE_VERSION
			#undef PACKAGE_STRING
			#undef PACKAGE_BUGREPORT
			#undef PACKAGE_URL
			#include <linux/compat-2.6.h>
			#endif
			#include <rdma/ib_verbs.h>

int
main (void)
{

			struct ib_device dev;
			struct ib_device_attr dev_attr = {};
			dev.attrs = dev_attr;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test xexternal = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/external_ib_device_attrs_pc/external_ib_device_attrs_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/external_ib_device_attrs_pc || mkdir -p ${TEST_DIR}/external_ib_device_attrs_pc

	file=${TEST_DIR}/external_ib_device_attrs_pc/Makefile
	EXT_INCLUDE="$EXTRA_OFED_CONFIG $EXTRA_OFED_INCLUDE"
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/external_ib_device_attrs_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "xexternal" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "xexternal" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/external_ib_device_attrs_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := external_ib_device_attrs_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_external_ib_device_attrs+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += external_ib_device_attrs_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_external_ib_device_attrs=unused
		fi

fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/in_kernel_ib_device_attrs_pc || mkdir -p ${TEST_DIR}/in_kernel_ib_device_attrs_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/in_kernel_ib_device_attrs_pc/in_kernel_ib_device_attrs_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


			#ifdef HAVE_OFED_COMPAT_RDMA
			#undef PACKAGE_NAME
			#undef PACKAGE_TARNAME
			#undef PACKAGE_VERSION
			#undef PACKAGE_STRING
			#undef PACKAGE_BUGREPORT
			#undef PACKAGE_URL
			#include <linux/compat-2.6.h>
			#endif
			#include <rdma/ib_verbs.h>

int
main (void)
{

			struct ib_device dev;
			struct ib_device_attr dev_attr = {};
			dev.attrs = dev_attr;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test xin_kernel = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/in_kernel_ib_device_attrs_pc/in_kernel_ib_device_attrs_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/in_kernel_ib_device_attrs_pc || mkdir -p ${TEST_DIR}/in_kernel_ib_device_attrs_pc

	file=${TEST_DIR}/in_kernel_ib_device_attrs_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/in_kernel_ib_device_attrs_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "xin_kernel" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "xin_kernel" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/in_kernel_ib_device_attrs_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := in_kernel_ib_device_attrs_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_in_kernel_ib_device_attrs+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += in_kernel_ib_device_attrs_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_in_kernel_ib_device_attrs=unused
		fi

fi









	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/external_ib_alloc_pd_pc || mkdir -p ${TEST_DIR}/external_ib_alloc_pd_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/external_ib_alloc_pd_pc/external_ib_alloc_pd_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


			#ifdef HAVE_OFED_COMPAT_RDMA
			#undef PACKAGE_NAME
			#undef PACKAGE_TARNAME
			#undef PACKAGE_VERSION
			#undef PACKAGE_STRING
			#undef PACKAGE_BUGREPORT
			#undef PACKAGE_URL
			#include <linux/compat-2.6.h>
			#endif
			#include <rdma/ib_verbs.h>

int
main (void)
{

			ib_alloc_pd(NULL, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test xexternal = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/external_ib_alloc_pd_pc/external_ib_alloc_pd_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/external_ib_alloc_pd_pc || mkdir -p ${TEST_DIR}/external_ib_alloc_pd_pc

	file=${TEST_DIR}/external_ib_alloc_pd_pc/Makefile
	EXT_INCLUDE="$EXTRA_OFED_CONFIG $EXTRA_OFED_INCLUDE"
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/external_ib_alloc_pd_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "xexternal" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "xexternal" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/external_ib_alloc_pd_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := external_ib_alloc_pd_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_external_ib_alloc_pd+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += external_ib_alloc_pd_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_external_ib_alloc_pd=unused
		fi

fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/in_kernel_ib_alloc_pd_pc || mkdir -p ${TEST_DIR}/in_kernel_ib_alloc_pd_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/in_kernel_ib_alloc_pd_pc/in_kernel_ib_alloc_pd_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


			#ifdef HAVE_OFED_COMPAT_RDMA
			#undef PACKAGE_NAME
			#undef PACKAGE_TARNAME
			#undef PACKAGE_VERSION
			#undef PACKAGE_STRING
			#undef PACKAGE_BUGREPORT
			#undef PACKAGE_URL
			#include <linux/compat-2.6.h>
			#endif
			#include <rdma/ib_verbs.h>

int
main (void)
{

			ib_alloc_pd(NULL, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test xin_kernel = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/in_kernel_ib_alloc_pd_pc/in_kernel_ib_alloc_pd_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/in_kernel_ib_alloc_pd_pc || mkdir -p ${TEST_DIR}/in_kernel_ib_alloc_pd_pc

	file=${TEST_DIR}/in_kernel_ib_alloc_pd_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/in_kernel_ib_alloc_pd_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "xin_kernel" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "xin_kernel" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/in_kernel_ib_alloc_pd_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := in_kernel_ib_alloc_pd_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_in_kernel_ib_alloc_pd+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += in_kernel_ib_alloc_pd_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_in_kernel_ib_alloc_pd=unused
		fi

fi









	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/external_ib_inc_rkey_pc || mkdir -p ${TEST_DIR}/external_ib_inc_rkey_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/external_ib_inc_rkey_pc/external_ib_inc_rkey_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


			#ifdef HAVE_OFED_COMPAT_RDMA
			#undef PACKAGE_NAME
			#undef PACKAGE_TARNAME
			#undef PACKAGE_VERSION
			#undef PACKAGE_STRING
			#undef PACKAGE_BUGREPORT
			#undef PACKAGE_URL
			#include <linux/compat-2.6.h>
			#endif
			#include <rdma/ib_verbs.h>

int
main (void)
{

			(void)ib_inc_rkey(0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test xexternal = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/external_ib_inc_rkey_pc/external_ib_inc_rkey_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/external_ib_inc_rkey_pc || mkdir -p ${TEST_DIR}/external_ib_inc_rkey_pc

	file=${TEST_DIR}/external_ib_inc_rkey_pc/Makefile
	EXT_INCLUDE="$EXTRA_OFED_CONFIG $EXTRA_OFED_INCLUDE"
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/external_ib_inc_rkey_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "xexternal" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "xexternal" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/external_ib_inc_rkey_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := external_ib_inc_rkey_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_external_ib_inc_rkey+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += external_ib_inc_rkey_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_external_ib_inc_rkey=unused
		fi

fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/in_kernel_ib_inc_rkey_pc || mkdir -p ${TEST_DIR}/in_kernel_ib_inc_rkey_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/in_kernel_ib_inc_rkey_pc/in_kernel_ib_inc_rkey_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


			#ifdef HAVE_OFED_COMPAT_RDMA
			#undef PACKAGE_NAME
			#undef PACKAGE_TARNAME
			#undef PACKAGE_VERSION
			#undef PACKAGE_STRING
			#undef PACKAGE_BUGREPORT
			#undef PACKAGE_URL
			#include <linux/compat-2.6.h>
			#endif
			#include <rdma/ib_verbs.h>

int
main (void)
{

			(void)ib_inc_rkey(0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test xin_kernel = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/in_kernel_ib_inc_rkey_pc/in_kernel_ib_inc_rkey_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/in_kernel_ib_inc_rkey_pc || mkdir -p ${TEST_DIR}/in_kernel_ib_inc_rkey_pc

	file=${TEST_DIR}/in_kernel_ib_inc_rkey_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/in_kernel_ib_inc_rkey_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "xin_kernel" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "xin_kernel" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/in_kernel_ib_inc_rkey_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := in_kernel_ib_inc_rkey_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_in_kernel_ib_inc_rkey+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += in_kernel_ib_inc_rkey_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_in_kernel_ib_inc_rkey=unused
		fi

fi









	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/external_ib_post_send_recv_const_pc || mkdir -p ${TEST_DIR}/external_ib_post_send_recv_const_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/external_ib_post_send_recv_const_pc/external_ib_post_send_recv_const_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


			#ifdef HAVE_OFED_COMPAT_RDMA
			#undef PACKAGE_NAME
			#undef PACKAGE_TARNAME
			#undef PACKAGE_VERSION
			#undef PACKAGE_STRING
			#undef PACKAGE_BUGREPORT
			#undef PACKAGE_URL
			#include <linux/compat-2.6.h>
			#endif
			#include <rdma/ib_verbs.h>

int
main (void)
{

			ib_post_send(NULL, (const struct ib_send_wr *)NULL,
				     (const struct ib_send_wr **)NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test xexternal = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/external_ib_post_send_recv_const_pc/external_ib_post_send_recv_const_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/external_ib_post_send_recv_const_pc || mkdir -p ${TEST_DIR}/external_ib_post_send_recv_const_pc

	file=${TEST_DIR}/external_ib_post_send_recv_const_pc/Makefile
	EXT_INCLUDE="$EXTRA_OFED_CONFIG $EXTRA_OFED_INCLUDE"
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/external_ib_post_send_recv_const_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "xexternal" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "xexternal" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/external_ib_post_send_recv_const_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := external_ib_post_send_recv_const_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_external_ib_post_send_recv_const+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += external_ib_post_send_recv_const_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_external_ib_post_send_recv_const=unused
		fi

fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/in_kernel_ib_post_send_recv_const_pc || mkdir -p ${TEST_DIR}/in_kernel_ib_post_send_recv_const_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/in_kernel_ib_post_send_recv_const_pc/in_kernel_ib_post_send_recv_const_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


			#ifdef HAVE_OFED_COMPAT_RDMA
			#undef PACKAGE_NAME
			#undef PACKAGE_TARNAME
			#undef PACKAGE_VERSION
			#undef PACKAGE_STRING
			#undef PACKAGE_BUGREPORT
			#undef PACKAGE_URL
			#include <linux/compat-2.6.h>
			#endif
			#include <rdma/ib_verbs.h>

int
main (void)
{

			ib_post_send(NULL, (const struct ib_send_wr *)NULL,
				     (const struct ib_send_wr **)NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test xin_kernel = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/in_kernel_ib_post_send_recv_const_pc/in_kernel_ib_post_send_recv_const_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/in_kernel_ib_post_send_recv_const_pc || mkdir -p ${TEST_DIR}/in_kernel_ib_post_send_recv_const_pc

	file=${TEST_DIR}/in_kernel_ib_post_send_recv_const_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/in_kernel_ib_post_send_recv_const_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "xin_kernel" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "xin_kernel" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/in_kernel_ib_post_send_recv_const_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := in_kernel_ib_post_send_recv_const_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_in_kernel_ib_post_send_recv_const+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += in_kernel_ib_post_send_recv_const_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_in_kernel_ib_post_send_recv_const=unused
		fi

fi









	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/external_sane_ib_dma_map_sg_pc || mkdir -p ${TEST_DIR}/external_sane_ib_dma_map_sg_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/external_sane_ib_dma_map_sg_pc/external_sane_ib_dma_map_sg_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


			#ifdef HAVE_OFED_COMPAT_RDMA
			#undef PACKAGE_NAME
			#undef PACKAGE_TARNAME
			#undef PACKAGE_VERSION
			#undef PACKAGE_STRING
			#undef PACKAGE_BUGREPORT
			#undef PACKAGE_URL
			#include <linux/compat-2.6.h>
			#endif
			#include <rdma/ib_verbs.h>

int
main (void)
{

			ib_dma_map_sg((struct ib_device *)NULL,
				      (struct scatterlist *)NULL, 1, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test xexternal = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/external_sane_ib_dma_map_sg_pc/external_sane_ib_dma_map_sg_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/external_sane_ib_dma_map_sg_pc || mkdir -p ${TEST_DIR}/external_sane_ib_dma_map_sg_pc

	file=${TEST_DIR}/external_sane_ib_dma_map_sg_pc/Makefile
	EXT_INCLUDE="$EXTRA_OFED_CONFIG $EXTRA_OFED_INCLUDE"
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/external_sane_ib_dma_map_sg_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "xexternal" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "xexternal" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/external_sane_ib_dma_map_sg_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := external_sane_ib_dma_map_sg_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_external_sane_ib_dma_map_sg+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += external_sane_ib_dma_map_sg_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_external_sane_ib_dma_map_sg=unused
		fi

fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/in_kernel_sane_ib_dma_map_sg_pc || mkdir -p ${TEST_DIR}/in_kernel_sane_ib_dma_map_sg_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/in_kernel_sane_ib_dma_map_sg_pc/in_kernel_sane_ib_dma_map_sg_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


			#ifdef HAVE_OFED_COMPAT_RDMA
			#undef PACKAGE_NAME
			#undef PACKAGE_TARNAME
			#undef PACKAGE_VERSION
			#undef PACKAGE_STRING
			#undef PACKAGE_BUGREPORT
			#undef PACKAGE_URL
			#include <linux/compat-2.6.h>
			#endif
			#include <rdma/ib_verbs.h>

int
main (void)
{

			ib_dma_map_sg((struct ib_device *)NULL,
				      (struct scatterlist *)NULL, 1, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test xin_kernel = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/in_kernel_sane_ib_dma_map_sg_pc/in_kernel_sane_ib_dma_map_sg_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/in_kernel_sane_ib_dma_map_sg_pc || mkdir -p ${TEST_DIR}/in_kernel_sane_ib_dma_map_sg_pc

	file=${TEST_DIR}/in_kernel_sane_ib_dma_map_sg_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/in_kernel_sane_ib_dma_map_sg_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "xin_kernel" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "xin_kernel" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/in_kernel_sane_ib_dma_map_sg_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := in_kernel_sane_ib_dma_map_sg_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_in_kernel_sane_ib_dma_map_sg+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += in_kernel_sane_ib_dma_map_sg_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_in_kernel_sane_ib_dma_map_sg=unused
		fi

fi









	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/external_ib_device_ops_test_pc || mkdir -p ${TEST_DIR}/external_ib_device_ops_test_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/external_ib_device_ops_test_pc/external_ib_device_ops_test_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


			#include <rdma/ib_verbs.h>

int
main (void)
{

			int x = offsetof(struct ib_device_ops, unmap_fmr);
			x = x;
			(void)x;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test xexternal = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/external_ib_device_ops_test_pc/external_ib_device_ops_test_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/external_ib_device_ops_test_pc || mkdir -p ${TEST_DIR}/external_ib_device_ops_test_pc

	file=${TEST_DIR}/external_ib_device_ops_test_pc/Makefile
	EXT_INCLUDE="$EXTRA_OFED_CONFIG $EXTRA_OFED_INCLUDE"
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/external_ib_device_ops_test_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "xexternal" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "xexternal" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/external_ib_device_ops_test_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := external_ib_device_ops_test_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_external_ib_device_ops_test+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += external_ib_device_ops_test_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_external_ib_device_ops_test=unused
		fi

fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/in_kernel_ib_device_ops_test_pc || mkdir -p ${TEST_DIR}/in_kernel_ib_device_ops_test_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/in_kernel_ib_device_ops_test_pc/in_kernel_ib_device_ops_test_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


			#include <rdma/ib_verbs.h>

int
main (void)
{

			int x = offsetof(struct ib_device_ops, unmap_fmr);
			x = x;
			(void)x;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test xin_kernel = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/in_kernel_ib_device_ops_test_pc/in_kernel_ib_device_ops_test_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/in_kernel_ib_device_ops_test_pc || mkdir -p ${TEST_DIR}/in_kernel_ib_device_ops_test_pc

	file=${TEST_DIR}/in_kernel_ib_device_ops_test_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/in_kernel_ib_device_ops_test_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "xin_kernel" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "xin_kernel" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/in_kernel_ib_device_ops_test_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := in_kernel_ib_device_ops_test_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_in_kernel_ib_device_ops_test+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += in_kernel_ib_device_ops_test_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_in_kernel_ib_device_ops_test=unused
		fi

fi









	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/external_ib_sg_dma_address_test_pc || mkdir -p ${TEST_DIR}/external_ib_sg_dma_address_test_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/external_ib_sg_dma_address_test_pc/external_ib_sg_dma_address_test_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


			#include <rdma/ib_verbs.h>

int
main (void)
{

			u64 x = ib_sg_dma_address(NULL, NULL);
			x = x;
			(void)x;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test xexternal = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/external_ib_sg_dma_address_test_pc/external_ib_sg_dma_address_test_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/external_ib_sg_dma_address_test_pc || mkdir -p ${TEST_DIR}/external_ib_sg_dma_address_test_pc

	file=${TEST_DIR}/external_ib_sg_dma_address_test_pc/Makefile
	EXT_INCLUDE="$EXTRA_OFED_CONFIG $EXTRA_OFED_INCLUDE"
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/external_ib_sg_dma_address_test_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "xexternal" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "xexternal" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/external_ib_sg_dma_address_test_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := external_ib_sg_dma_address_test_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_external_ib_sg_dma_address_test+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += external_ib_sg_dma_address_test_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_external_ib_sg_dma_address_test=unused
		fi

fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/in_kernel_ib_sg_dma_address_test_pc || mkdir -p ${TEST_DIR}/in_kernel_ib_sg_dma_address_test_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/in_kernel_ib_sg_dma_address_test_pc/in_kernel_ib_sg_dma_address_test_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


			#include <rdma/ib_verbs.h>

int
main (void)
{

			u64 x = ib_sg_dma_address(NULL, NULL);
			x = x;
			(void)x;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test xin_kernel = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/in_kernel_ib_sg_dma_address_test_pc/in_kernel_ib_sg_dma_address_test_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/in_kernel_ib_sg_dma_address_test_pc || mkdir -p ${TEST_DIR}/in_kernel_ib_sg_dma_address_test_pc

	file=${TEST_DIR}/in_kernel_ib_sg_dma_address_test_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/in_kernel_ib_sg_dma_address_test_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "xin_kernel" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "xin_kernel" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/in_kernel_ib_sg_dma_address_test_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := in_kernel_ib_sg_dma_address_test_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_in_kernel_ib_sg_dma_address_test+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += in_kernel_ib_sg_dma_address_test_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_in_kernel_ib_sg_dma_address_test=unused
		fi

fi









	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/external_rdma_reject_pc || mkdir -p ${TEST_DIR}/external_rdma_reject_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/external_rdma_reject_pc/external_rdma_reject_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


			#ifdef HAVE_OFED_COMPAT_RDMA
			#undef PACKAGE_NAME
			#undef PACKAGE_TARNAME
			#undef PACKAGE_VERSION
			#undef PACKAGE_STRING
			#undef PACKAGE_BUGREPORT
			#undef PACKAGE_URL
			#include <linux/compat-2.6.h>
			#endif
			#include <rdma/ib_verbs.h>
			#include <rdma/ib_cm.h>
			#include <rdma/rdma_cm.h>

int
main (void)
{

			rdma_reject(NULL, NULL, 0, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test xexternal = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/external_rdma_reject_pc/external_rdma_reject_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/external_rdma_reject_pc || mkdir -p ${TEST_DIR}/external_rdma_reject_pc

	file=${TEST_DIR}/external_rdma_reject_pc/Makefile
	EXT_INCLUDE="$EXTRA_OFED_CONFIG $EXTRA_OFED_INCLUDE"
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/external_rdma_reject_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "xexternal" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "xexternal" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/external_rdma_reject_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := external_rdma_reject_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_external_rdma_reject+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += external_rdma_reject_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_external_rdma_reject=unused
		fi

fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/in_kernel_rdma_reject_pc || mkdir -p ${TEST_DIR}/in_kernel_rdma_reject_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/in_kernel_rdma_reject_pc/in_kernel_rdma_reject_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


			#ifdef HAVE_OFED_COMPAT_RDMA
			#undef PACKAGE_NAME
			#undef PACKAGE_TARNAME
			#undef PACKAGE_VERSION
			#undef PACKAGE_STRING
			#undef PACKAGE_BUGREPORT
			#undef PACKAGE_URL
			#include <linux/compat-2.6.h>
			#endif
			#include <rdma/ib_verbs.h>
			#include <rdma/ib_cm.h>
			#include <rdma/rdma_cm.h>

int
main (void)
{

			rdma_reject(NULL, NULL, 0, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test xin_kernel = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/in_kernel_rdma_reject_pc/in_kernel_rdma_reject_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/in_kernel_rdma_reject_pc || mkdir -p ${TEST_DIR}/in_kernel_rdma_reject_pc

	file=${TEST_DIR}/in_kernel_rdma_reject_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/in_kernel_rdma_reject_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "xin_kernel" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "xin_kernel" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/in_kernel_rdma_reject_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := in_kernel_rdma_reject_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_in_kernel_rdma_reject+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += in_kernel_rdma_reject_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_in_kernel_rdma_reject=unused
		fi

fi









	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/external_ib_fmr_pc || mkdir -p ${TEST_DIR}/external_ib_fmr_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/external_ib_fmr_pc/external_ib_fmr_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


			#include <rdma/ib_verbs.h>

int
main (void)
{

			struct ib_fmr fmr = {};

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test xexternal = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/external_ib_fmr_pc/external_ib_fmr_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/external_ib_fmr_pc || mkdir -p ${TEST_DIR}/external_ib_fmr_pc

	file=${TEST_DIR}/external_ib_fmr_pc/Makefile
	EXT_INCLUDE="$EXTRA_OFED_CONFIG $EXTRA_OFED_INCLUDE"
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/external_ib_fmr_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "xexternal" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "xexternal" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/external_ib_fmr_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := external_ib_fmr_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_external_ib_fmr+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += external_ib_fmr_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_external_ib_fmr=unused
		fi

fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/in_kernel_ib_fmr_pc || mkdir -p ${TEST_DIR}/in_kernel_ib_fmr_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/in_kernel_ib_fmr_pc/in_kernel_ib_fmr_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


			#include <rdma/ib_verbs.h>

int
main (void)
{

			struct ib_fmr fmr = {};

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test xin_kernel = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/in_kernel_ib_fmr_pc/in_kernel_ib_fmr_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/in_kernel_ib_fmr_pc || mkdir -p ${TEST_DIR}/in_kernel_ib_fmr_pc

	file=${TEST_DIR}/in_kernel_ib_fmr_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/in_kernel_ib_fmr_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "xin_kernel" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "xin_kernel" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/in_kernel_ib_fmr_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := in_kernel_ib_fmr_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_in_kernel_ib_fmr+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += in_kernel_ib_fmr_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_in_kernel_ib_fmr=unused
		fi

fi









	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/external_rdma_connect_locked_pc || mkdir -p ${TEST_DIR}/external_rdma_connect_locked_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/external_rdma_connect_locked_pc/external_rdma_connect_locked_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


			#include <rdma/rdma_cm.h>

int
main (void)
{

			rdma_connect_locked(NULL, NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test xexternal = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/external_rdma_connect_locked_pc/external_rdma_connect_locked_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/external_rdma_connect_locked_pc || mkdir -p ${TEST_DIR}/external_rdma_connect_locked_pc

	file=${TEST_DIR}/external_rdma_connect_locked_pc/Makefile
	EXT_INCLUDE="$EXTRA_OFED_CONFIG $EXTRA_OFED_INCLUDE"
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/external_rdma_connect_locked_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "xexternal" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "xexternal" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/external_rdma_connect_locked_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := external_rdma_connect_locked_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_external_rdma_connect_locked+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += external_rdma_connect_locked_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_external_rdma_connect_locked=unused
		fi

fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/in_kernel_rdma_connect_locked_pc || mkdir -p ${TEST_DIR}/in_kernel_rdma_connect_locked_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/in_kernel_rdma_connect_locked_pc/in_kernel_rdma_connect_locked_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


			#include <rdma/rdma_cm.h>

int
main (void)
{

			rdma_connect_locked(NULL, NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test xin_kernel = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/in_kernel_rdma_connect_locked_pc/in_kernel_rdma_connect_locked_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/in_kernel_rdma_connect_locked_pc || mkdir -p ${TEST_DIR}/in_kernel_rdma_connect_locked_pc

	file=${TEST_DIR}/in_kernel_rdma_connect_locked_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/in_kernel_rdma_connect_locked_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "xin_kernel" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "xin_kernel" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/in_kernel_rdma_connect_locked_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := in_kernel_rdma_connect_locked_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_in_kernel_rdma_connect_locked+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += in_kernel_rdma_connect_locked_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_in_kernel_rdma_connect_locked=unused
		fi

fi







	# 3.15


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/sk_data_ready_pc || mkdir -p ${TEST_DIR}/sk_data_ready_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/sk_data_ready_pc/sk_data_ready_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/net.h>
		#include <net/sock.h>

int
main (void)
{

		((struct sock *)0)->sk_data_ready(NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/sk_data_ready_pc/sk_data_ready_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/sk_data_ready_pc || mkdir -p ${TEST_DIR}/sk_data_ready_pc

	file=${TEST_DIR}/sk_data_ready_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/sk_data_ready_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/sk_data_ready_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := sk_data_ready_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_sk_data_ready+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += sk_data_ready_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_sk_data_ready=unused
		fi

fi





	# 4.x


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/sock_create_kern_net_pc || mkdir -p ${TEST_DIR}/sock_create_kern_net_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/sock_create_kern_net_pc/sock_create_kern_net_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/net.h>
		#include <net/net_namespace.h>

int
main (void)
{

		sock_create_kern((struct net*)0, 0, 0, 0, NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/sock_create_kern_net_pc/sock_create_kern_net_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/sock_create_kern_net_pc || mkdir -p ${TEST_DIR}/sock_create_kern_net_pc

	file=${TEST_DIR}/sock_create_kern_net_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/sock_create_kern_net_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/sock_create_kern_net_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := sock_create_kern_net_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_sock_create_kern_net+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += sock_create_kern_net_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_sock_create_kern_net=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/sock_not_owned_by_me_pc || mkdir -p ${TEST_DIR}/sock_not_owned_by_me_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/sock_not_owned_by_me_pc/sock_not_owned_by_me_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <net/sock.h>

int
main (void)
{

		sock_not_owned_by_me((const struct sock *)0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/sock_not_owned_by_me_pc/sock_not_owned_by_me_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/sock_not_owned_by_me_pc || mkdir -p ${TEST_DIR}/sock_not_owned_by_me_pc

	file=${TEST_DIR}/sock_not_owned_by_me_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/sock_not_owned_by_me_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/sock_not_owned_by_me_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := sock_not_owned_by_me_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_sock_not_owned_by_me+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += sock_not_owned_by_me_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_sock_not_owned_by_me=unused
		fi

fi





	# 4.6


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/ethtool_link_settings_pc || mkdir -p ${TEST_DIR}/ethtool_link_settings_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/ethtool_link_settings_pc/ethtool_link_settings_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/ethtool.h>

int
main (void)
{

		struct ethtool_link_ksettings cmd;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/ethtool_link_settings_pc/ethtool_link_settings_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/ethtool_link_settings_pc || mkdir -p ${TEST_DIR}/ethtool_link_settings_pc

	file=${TEST_DIR}/ethtool_link_settings_pc/Makefile
	EXT_INCLUDE="$EXTRA_OFED_CONFIG $EXTRA_OFED_INCLUDE"
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/ethtool_link_settings_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/ethtool_link_settings_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := ethtool_link_settings_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_ethtool_link_settings+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += ethtool_link_settings_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_ethtool_link_settings=unused
		fi

fi





	# 4.14


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/hypervisor_is_type_exists_pc || mkdir -p ${TEST_DIR}/hypervisor_is_type_exists_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/hypervisor_is_type_exists_pc/hypervisor_is_type_exists_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <asm/hypervisor.h>

int
main (void)
{

		(void)hypervisor_is_type(X86_HYPER_NATIVE);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/hypervisor_is_type_exists_pc/hypervisor_is_type_exists_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/hypervisor_is_type_exists_pc || mkdir -p ${TEST_DIR}/hypervisor_is_type_exists_pc

	file=${TEST_DIR}/hypervisor_is_type_exists_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/hypervisor_is_type_exists_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/hypervisor_is_type_exists_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := hypervisor_is_type_exists_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_hypervisor_is_type_exists+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += hypervisor_is_type_exists_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_hypervisor_is_type_exists=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/oracle_ofed_ext_pc || mkdir -p ${TEST_DIR}/oracle_ofed_ext_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/oracle_ofed_ext_pc/oracle_ofed_ext_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <rdma/ib_fmr_pool.h>

int
main (void)
{

		struct ib_fmr_pool_param param = {
			.relaxed           = 0
		};
		(void)param;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/oracle_ofed_ext_pc/oracle_ofed_ext_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/oracle_ofed_ext_pc || mkdir -p ${TEST_DIR}/oracle_ofed_ext_pc

	file=${TEST_DIR}/oracle_ofed_ext_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/oracle_ofed_ext_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/oracle_ofed_ext_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := oracle_ofed_ext_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_oracle_ofed_ext+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += oracle_ofed_ext_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_oracle_ofed_ext=unused
		fi

fi





	# 4.16


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/netdev_cmd_to_name_pc || mkdir -p ${TEST_DIR}/netdev_cmd_to_name_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/netdev_cmd_to_name_pc/netdev_cmd_to_name_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/netdevice.h>

int
main (void)
{

		netdev_cmd_to_name(NETDEV_UP);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/netdev_cmd_to_name_pc/netdev_cmd_to_name_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/netdev_cmd_to_name_pc || mkdir -p ${TEST_DIR}/netdev_cmd_to_name_pc

	file=${TEST_DIR}/netdev_cmd_to_name_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/netdev_cmd_to_name_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/netdev_cmd_to_name_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := netdev_cmd_to_name_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_netdev_cmd_to_name+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += netdev_cmd_to_name_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_netdev_cmd_to_name=unused
		fi

fi





	# 4.17


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/kern_sock_getname_2args_pc || mkdir -p ${TEST_DIR}/kern_sock_getname_2args_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/kern_sock_getname_2args_pc/kern_sock_getname_2args_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/net.h>

int
main (void)
{

		kernel_getsockname(NULL, NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/kern_sock_getname_2args_pc/kern_sock_getname_2args_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/kern_sock_getname_2args_pc || mkdir -p ${TEST_DIR}/kern_sock_getname_2args_pc

	file=${TEST_DIR}/kern_sock_getname_2args_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/kern_sock_getname_2args_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/kern_sock_getname_2args_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := kern_sock_getname_2args_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_kern_sock_getname_2args+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += kern_sock_getname_2args_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_kern_sock_getname_2args=unused
		fi

fi





	# 5.3 and 4.18.0-193.el8


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/in_dev_for_each_ifa_rtnl_test_pc || mkdir -p ${TEST_DIR}/in_dev_for_each_ifa_rtnl_test_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/in_dev_for_each_ifa_rtnl_test_pc/in_dev_for_each_ifa_rtnl_test_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/inetdevice.h>

int
main (void)
{

		const struct in_ifaddr *ifa = NULL;
		struct in_device *in_dev = NULL;

		in_dev_for_each_ifa_rtnl(ifa, in_dev) {}

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/in_dev_for_each_ifa_rtnl_test_pc/in_dev_for_each_ifa_rtnl_test_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/in_dev_for_each_ifa_rtnl_test_pc || mkdir -p ${TEST_DIR}/in_dev_for_each_ifa_rtnl_test_pc

	file=${TEST_DIR}/in_dev_for_each_ifa_rtnl_test_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/in_dev_for_each_ifa_rtnl_test_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/in_dev_for_each_ifa_rtnl_test_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := in_dev_for_each_ifa_rtnl_test_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_in_dev_for_each_ifa_rtnl_test+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += in_dev_for_each_ifa_rtnl_test_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_in_dev_for_each_ifa_rtnl_test=unused
		fi

fi






			if test "x$enable_server" != xno
then :



	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/ext4_bread_pc || mkdir -p ${TEST_DIR}/ext4_bread_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/ext4_bread_pc/ext4_bread_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>
		#include "$EXT4_SRC_DIR/ext4.h"

		struct buffer_head *ext4_bread(handle_t *handle,
					       struct inode *inode,
					       ext4_lblk_t block, int map_flags)
		{
			struct buffer_head *bh = NULL;
			(void)handle;
			(void)inode;
			(void)block;
			(void)map_flags;
			return bh;
		}

int
main (void)
{

		ext4_bread(NULL, NULL, 0, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/ext4_bread_pc/ext4_bread_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/ext4_bread_pc || mkdir -p ${TEST_DIR}/ext4_bread_pc

	file=${TEST_DIR}/ext4_bread_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL="ext4_bread"
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/ext4_bread_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/ext4_bread_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := ext4_bread_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_ext4_bread+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += ext4_bread_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_ext4_bread=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/ext4_info_dquot_pc || mkdir -p ${TEST_DIR}/ext4_info_dquot_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/ext4_info_dquot_pc/ext4_info_dquot_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>
		#include <linux/quota.h>
		#include "$EXT4_SRC_DIR/ext4.h"

int
main (void)
{

		struct ext4_inode_info in;
		struct dquot *dq;

		dq = in.i_dquot[0];

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/ext4_info_dquot_pc/ext4_info_dquot_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/ext4_info_dquot_pc || mkdir -p ${TEST_DIR}/ext4_info_dquot_pc

	file=${TEST_DIR}/ext4_info_dquot_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/ext4_info_dquot_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/ext4_info_dquot_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := ext4_info_dquot_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_ext4_info_dquot+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += ext4_info_dquot_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_ext4_info_dquot=unused
		fi

fi








	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/config_EXT4_FS_ENCRYPTION_pc || mkdir -p ${TEST_DIR}/config_EXT4_FS_ENCRYPTION_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/config_EXT4_FS_ENCRYPTION_pc/config_EXT4_FS_ENCRYPTION_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <$AUTOCONF_HDIR/autoconf.h>

int
main (void)
{

		#ifndef CONFIG_EXT4_FS_ENCRYPTION
		#error CONFIG_EXT4_FS_ENCRYPTION not #defined
		#endif

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/config_EXT4_FS_ENCRYPTION_pc/config_EXT4_FS_ENCRYPTION_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/config_EXT4_FS_ENCRYPTION_pc || mkdir -p ${TEST_DIR}/config_EXT4_FS_ENCRYPTION_pc

	file=${TEST_DIR}/config_EXT4_FS_ENCRYPTION_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/config_EXT4_FS_ENCRYPTION_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/config_EXT4_FS_ENCRYPTION_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := config_EXT4_FS_ENCRYPTION_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_config_EXT4_FS_ENCRYPTION+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += config_EXT4_FS_ENCRYPTION_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_config_EXT4_FS_ENCRYPTION=unused
		fi

fi






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/ext4_i_crypt_info_pc || mkdir -p ${TEST_DIR}/ext4_i_crypt_info_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/ext4_i_crypt_info_pc/ext4_i_crypt_info_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#define CONFIG_EXT4_FS_ENCRYPTION 1
		#include <linux/fs.h>
		#include "$EXT4_SRC_DIR/ext4.h"

int
main (void)
{

		struct ext4_inode_info in;

		in.i_crypt_info = NULL;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/ext4_i_crypt_info_pc/ext4_i_crypt_info_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/ext4_i_crypt_info_pc || mkdir -p ${TEST_DIR}/ext4_i_crypt_info_pc

	file=${TEST_DIR}/ext4_i_crypt_info_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/ext4_i_crypt_info_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/ext4_i_crypt_info_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := ext4_i_crypt_info_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_ext4_i_crypt_info+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += ext4_i_crypt_info_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_ext4_i_crypt_info=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/ext4_journal_ensure_credits_pc || mkdir -p ${TEST_DIR}/ext4_journal_ensure_credits_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/ext4_journal_ensure_credits_pc/ext4_journal_ensure_credits_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include "$EXT4_SRC_DIR/ext4_jbd2.h"
		int __ext4_journal_ensure_credits(handle_t *handle, int check_cred,
			int extend_cred, int revoke_cred) { return 0; }

int
main (void)
{

		ext4_journal_ensure_credits(NULL, 0, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/ext4_journal_ensure_credits_pc/ext4_journal_ensure_credits_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/ext4_journal_ensure_credits_pc || mkdir -p ${TEST_DIR}/ext4_journal_ensure_credits_pc

	file=${TEST_DIR}/ext4_journal_ensure_credits_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL="__ext4_journal_ensure_credits"
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/ext4_journal_ensure_credits_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/ext4_journal_ensure_credits_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := ext4_journal_ensure_credits_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_ext4_journal_ensure_credits+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += ext4_journal_ensure_credits_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_ext4_journal_ensure_credits=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/ext4_iget_3args_pc || mkdir -p ${TEST_DIR}/ext4_iget_3args_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/ext4_iget_3args_pc/ext4_iget_3args_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>
		#include "$EXT4_SRC_DIR/ext4.h"

int
main (void)
{

		int f = EXT4_IGET_SPECIAL;
		(void)f;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/ext4_iget_3args_pc/ext4_iget_3args_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/ext4_iget_3args_pc || mkdir -p ${TEST_DIR}/ext4_iget_3args_pc

	file=${TEST_DIR}/ext4_iget_3args_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/ext4_iget_3args_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/ext4_iget_3args_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := ext4_iget_3args_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_ext4_iget_3args+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += ext4_iget_3args_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_ext4_iget_3args=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/ext4_iget_ea_inode_pc || mkdir -p ${TEST_DIR}/ext4_iget_ea_inode_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/ext4_iget_ea_inode_pc/ext4_iget_ea_inode_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>
		#include "$EXT4_SRC_DIR/ext4.h"

int
main (void)
{

		int f = EXT4_IGET_EA_INODE;
		(void)f;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/ext4_iget_ea_inode_pc/ext4_iget_ea_inode_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/ext4_iget_ea_inode_pc || mkdir -p ${TEST_DIR}/ext4_iget_ea_inode_pc

	file=${TEST_DIR}/ext4_iget_ea_inode_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/ext4_iget_ea_inode_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/ext4_iget_ea_inode_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := ext4_iget_ea_inode_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_ext4_iget_ea_inode+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += ext4_iget_ea_inode_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_ext4_iget_ea_inode=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/ldiskfs_find_entry_locked_pc || mkdir -p ${TEST_DIR}/ldiskfs_find_entry_locked_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/ldiskfs_find_entry_locked_pc/ldiskfs_find_entry_locked_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>
		#include "$EXT4_SRC_DIR/ext4.h"
		#include "$EXT4_SRC_DIR/namei.c"

		static int __ext4_find_entry(void) { return 0; }

int
main (void)
{

		int x = __ext4_find_entry();
		(void)x;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/ldiskfs_find_entry_locked_pc/ldiskfs_find_entry_locked_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/ldiskfs_find_entry_locked_pc || mkdir -p ${TEST_DIR}/ldiskfs_find_entry_locked_pc

	file=${TEST_DIR}/ldiskfs_find_entry_locked_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/ldiskfs_find_entry_locked_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/ldiskfs_find_entry_locked_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := ldiskfs_find_entry_locked_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_ldiskfs_find_entry_locked+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += ldiskfs_find_entry_locked_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_ldiskfs_find_entry_locked=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/ext4fs_dirhash_pc || mkdir -p ${TEST_DIR}/ext4fs_dirhash_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/ext4fs_dirhash_pc/ext4fs_dirhash_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>
		#include "$EXT4_SRC_DIR/ext4.h"

int
main (void)
{

		int f = ext4fs_dirhash(NULL, NULL, 0, NULL);
		(void)f;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/ext4fs_dirhash_pc/ext4fs_dirhash_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/ext4fs_dirhash_pc || mkdir -p ${TEST_DIR}/ext4fs_dirhash_pc

	file=${TEST_DIR}/ext4fs_dirhash_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL="ext4fs_dirhash"
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/ext4fs_dirhash_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/ext4fs_dirhash_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := ext4fs_dirhash_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_ext4fs_dirhash+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += ext4fs_dirhash_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_ext4fs_dirhash=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/handle_t_h_revoke_credits_pc || mkdir -p ${TEST_DIR}/handle_t_h_revoke_credits_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/handle_t_h_revoke_credits_pc/handle_t_h_revoke_credits_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/jbd2.h>

int
main (void)
{

		int x = offsetof(struct jbd2_journal_handle, h_total_credits);
		(void)x;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/handle_t_h_revoke_credits_pc/handle_t_h_revoke_credits_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/handle_t_h_revoke_credits_pc || mkdir -p ${TEST_DIR}/handle_t_h_revoke_credits_pc

	file=${TEST_DIR}/handle_t_h_revoke_credits_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/handle_t_h_revoke_credits_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/handle_t_h_revoke_credits_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := handle_t_h_revoke_credits_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_handle_t_h_revoke_credits+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += handle_t_h_revoke_credits_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_handle_t_h_revoke_credits=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/jbd2_journal_get_max_txn_bufs_pc || mkdir -p ${TEST_DIR}/jbd2_journal_get_max_txn_bufs_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/jbd2_journal_get_max_txn_bufs_pc/jbd2_journal_get_max_txn_bufs_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/jbd2.h>

int
main (void)
{

		journal_t *journal = NULL;
		int x = jbd2_journal_get_max_txn_bufs(journal);
		(void)x;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/jbd2_journal_get_max_txn_bufs_pc/jbd2_journal_get_max_txn_bufs_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/jbd2_journal_get_max_txn_bufs_pc || mkdir -p ${TEST_DIR}/jbd2_journal_get_max_txn_bufs_pc

	file=${TEST_DIR}/jbd2_journal_get_max_txn_bufs_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/jbd2_journal_get_max_txn_bufs_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/jbd2_journal_get_max_txn_bufs_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := jbd2_journal_get_max_txn_bufs_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_jbd2_journal_get_max_txn_bufs+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += jbd2_journal_get_max_txn_bufs_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_jbd2_journal_get_max_txn_bufs=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/config_im_FS_ENCRYPTION_pc || mkdir -p ${TEST_DIR}/config_im_FS_ENCRYPTION_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/config_im_FS_ENCRYPTION_pc/config_im_FS_ENCRYPTION_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <$AUTOCONF_HDIR/autoconf.h>

int
main (void)
{

		#if !(defined(CONFIG_FS_ENCRYPTION) || defined(CONFIG_FS_ENCRYPTION_MODULE))
		#error CONFIG_FS_ENCRYPTION and CONFIG_FS_ENCRYPTION_MODULE not #defined
		#endif

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/config_im_FS_ENCRYPTION_pc/config_im_FS_ENCRYPTION_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/config_im_FS_ENCRYPTION_pc || mkdir -p ${TEST_DIR}/config_im_FS_ENCRYPTION_pc

	file=${TEST_DIR}/config_im_FS_ENCRYPTION_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/config_im_FS_ENCRYPTION_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/config_im_FS_ENCRYPTION_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := config_im_FS_ENCRYPTION_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_config_im_FS_ENCRYPTION+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += config_im_FS_ENCRYPTION_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_config_im_FS_ENCRYPTION=unused
		fi

fi






fi

	if test "x$enable_gss" != xno
then :



	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/key_type_instantiate_2args_pc || mkdir -p ${TEST_DIR}/key_type_instantiate_2args_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/key_type_instantiate_2args_pc/key_type_instantiate_2args_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/key-type.h>

int
main (void)
{

		((struct key_type *)0)->instantiate(0, NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/key_type_instantiate_2args_pc/key_type_instantiate_2args_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/key_type_instantiate_2args_pc || mkdir -p ${TEST_DIR}/key_type_instantiate_2args_pc

	file=${TEST_DIR}/key_type_instantiate_2args_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/key_type_instantiate_2args_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/key_type_instantiate_2args_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := key_type_instantiate_2args_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_key_type_instantiate_2args+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += key_type_instantiate_2args_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_key_type_instantiate_2args=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/config_im_CRYPTO_MD5_pc || mkdir -p ${TEST_DIR}/config_im_CRYPTO_MD5_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/config_im_CRYPTO_MD5_pc/config_im_CRYPTO_MD5_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <$AUTOCONF_HDIR/autoconf.h>

int
main (void)
{

		#if !(defined(CONFIG_CRYPTO_MD5) || defined(CONFIG_CRYPTO_MD5_MODULE))
		#error CONFIG_CRYPTO_MD5 and CONFIG_CRYPTO_MD5_MODULE not #defined
		#endif

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/config_im_CRYPTO_MD5_pc/config_im_CRYPTO_MD5_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/config_im_CRYPTO_MD5_pc || mkdir -p ${TEST_DIR}/config_im_CRYPTO_MD5_pc

	file=${TEST_DIR}/config_im_CRYPTO_MD5_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/config_im_CRYPTO_MD5_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/config_im_CRYPTO_MD5_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := config_im_CRYPTO_MD5_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_config_im_CRYPTO_MD5+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += config_im_CRYPTO_MD5_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_config_im_CRYPTO_MD5=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/config_im_CRYPTO_SHA1_pc || mkdir -p ${TEST_DIR}/config_im_CRYPTO_SHA1_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/config_im_CRYPTO_SHA1_pc/config_im_CRYPTO_SHA1_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <$AUTOCONF_HDIR/autoconf.h>

int
main (void)
{

		#if !(defined(CONFIG_CRYPTO_SHA1) || defined(CONFIG_CRYPTO_SHA1_MODULE))
		#error CONFIG_CRYPTO_SHA1 and CONFIG_CRYPTO_SHA1_MODULE not #defined
		#endif

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/config_im_CRYPTO_SHA1_pc/config_im_CRYPTO_SHA1_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/config_im_CRYPTO_SHA1_pc || mkdir -p ${TEST_DIR}/config_im_CRYPTO_SHA1_pc

	file=${TEST_DIR}/config_im_CRYPTO_SHA1_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/config_im_CRYPTO_SHA1_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/config_im_CRYPTO_SHA1_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := config_im_CRYPTO_SHA1_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_config_im_CRYPTO_SHA1+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += config_im_CRYPTO_SHA1_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_config_im_CRYPTO_SHA1=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/config_im_CRYPTO_SHA256_pc || mkdir -p ${TEST_DIR}/config_im_CRYPTO_SHA256_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/config_im_CRYPTO_SHA256_pc/config_im_CRYPTO_SHA256_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <$AUTOCONF_HDIR/autoconf.h>

int
main (void)
{

		#if !(defined(CONFIG_CRYPTO_SHA256) || defined(CONFIG_CRYPTO_SHA256_MODULE))
		#error CONFIG_CRYPTO_SHA256 and CONFIG_CRYPTO_SHA256_MODULE not #defined
		#endif

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/config_im_CRYPTO_SHA256_pc/config_im_CRYPTO_SHA256_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/config_im_CRYPTO_SHA256_pc || mkdir -p ${TEST_DIR}/config_im_CRYPTO_SHA256_pc

	file=${TEST_DIR}/config_im_CRYPTO_SHA256_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/config_im_CRYPTO_SHA256_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/config_im_CRYPTO_SHA256_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := config_im_CRYPTO_SHA256_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_config_im_CRYPTO_SHA256+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += config_im_CRYPTO_SHA256_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_config_im_CRYPTO_SHA256=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/config_im_CRYPTO_SHA512_pc || mkdir -p ${TEST_DIR}/config_im_CRYPTO_SHA512_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/config_im_CRYPTO_SHA512_pc/config_im_CRYPTO_SHA512_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <$AUTOCONF_HDIR/autoconf.h>

int
main (void)
{

		#if !(defined(CONFIG_CRYPTO_SHA512) || defined(CONFIG_CRYPTO_SHA512_MODULE))
		#error CONFIG_CRYPTO_SHA512 and CONFIG_CRYPTO_SHA512_MODULE not #defined
		#endif

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/config_im_CRYPTO_SHA512_pc/config_im_CRYPTO_SHA512_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/config_im_CRYPTO_SHA512_pc || mkdir -p ${TEST_DIR}/config_im_CRYPTO_SHA512_pc

	file=${TEST_DIR}/config_im_CRYPTO_SHA512_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/config_im_CRYPTO_SHA512_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/config_im_CRYPTO_SHA512_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := config_im_CRYPTO_SHA512_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_config_im_CRYPTO_SHA512+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += config_im_CRYPTO_SHA512_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_config_im_CRYPTO_SHA512=unused
		fi

fi






fi
	if test "x$enable_server" != xno
then :




	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/config_im_QUOTA_pc || mkdir -p ${TEST_DIR}/config_im_QUOTA_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/config_im_QUOTA_pc/config_im_QUOTA_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <$AUTOCONF_HDIR/autoconf.h>

int
main (void)
{

		#if !(defined(CONFIG_QUOTA) || defined(CONFIG_QUOTA_MODULE))
		#error CONFIG_QUOTA and CONFIG_QUOTA_MODULE not #defined
		#endif

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/config_im_QUOTA_pc/config_im_QUOTA_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/config_im_QUOTA_pc || mkdir -p ${TEST_DIR}/config_im_QUOTA_pc

	file=${TEST_DIR}/config_im_QUOTA_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/config_im_QUOTA_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/config_im_QUOTA_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := config_im_QUOTA_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_config_im_QUOTA+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += config_im_QUOTA_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_config_im_QUOTA=unused
		fi

fi








	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/stack_size_8k_pc || mkdir -p ${TEST_DIR}/stack_size_8k_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/stack_size_8k_pc/stack_size_8k_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/thread_info.h>

int
main (void)
{

		#if THREAD_SIZE < 8192
		#error "stack size < 8192"
		#endif

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/stack_size_8k_pc/stack_size_8k_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/stack_size_8k_pc || mkdir -p ${TEST_DIR}/stack_size_8k_pc

	file=${TEST_DIR}/stack_size_8k_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/stack_size_8k_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/stack_size_8k_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := stack_size_8k_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_stack_size_8k+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += stack_size_8k_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_stack_size_8k=unused
		fi

fi






fi



	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/config_im_FHANDLE_pc || mkdir -p ${TEST_DIR}/config_im_FHANDLE_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/config_im_FHANDLE_pc/config_im_FHANDLE_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <$AUTOCONF_HDIR/autoconf.h>

int
main (void)
{

		#if !(defined(CONFIG_FHANDLE) || defined(CONFIG_FHANDLE_MODULE))
		#error CONFIG_FHANDLE and CONFIG_FHANDLE_MODULE not #defined
		#endif

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/config_im_FHANDLE_pc/config_im_FHANDLE_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/config_im_FHANDLE_pc || mkdir -p ${TEST_DIR}/config_im_FHANDLE_pc

	file=${TEST_DIR}/config_im_FHANDLE_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/config_im_FHANDLE_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/config_im_FHANDLE_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := config_im_FHANDLE_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_config_im_FHANDLE+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += config_im_FHANDLE_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_config_im_FHANDLE=unused
		fi

fi









	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/config_im_FS_POSIX_ACL_pc || mkdir -p ${TEST_DIR}/config_im_FS_POSIX_ACL_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/config_im_FS_POSIX_ACL_pc/config_im_FS_POSIX_ACL_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <$AUTOCONF_HDIR/autoconf.h>

int
main (void)
{

		#if !(defined(CONFIG_FS_POSIX_ACL) || defined(CONFIG_FS_POSIX_ACL_MODULE))
		#error CONFIG_FS_POSIX_ACL and CONFIG_FS_POSIX_ACL_MODULE not #defined
		#endif

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/config_im_FS_POSIX_ACL_pc/config_im_FS_POSIX_ACL_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/config_im_FS_POSIX_ACL_pc || mkdir -p ${TEST_DIR}/config_im_FS_POSIX_ACL_pc

	file=${TEST_DIR}/config_im_FS_POSIX_ACL_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/config_im_FS_POSIX_ACL_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/config_im_FS_POSIX_ACL_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := config_im_FS_POSIX_ACL_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_config_im_FS_POSIX_ACL+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += config_im_FS_POSIX_ACL_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_config_im_FS_POSIX_ACL=unused
		fi

fi








	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/get_projid_pc || mkdir -p ${TEST_DIR}/get_projid_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/get_projid_pc/get_projid_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		struct inode;
		#include <linux/quota.h>

int
main (void)
{

		struct dquot_operations ops = { };

		ops.get_projid(NULL, NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/get_projid_pc/get_projid_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/get_projid_pc || mkdir -p ${TEST_DIR}/get_projid_pc

	file=${TEST_DIR}/get_projid_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/get_projid_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/get_projid_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := get_projid_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_get_projid+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += get_projid_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_get_projid=unused
		fi

fi






	# 3.11


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/address_space_ops_invalidatepage_3args_pc || mkdir -p ${TEST_DIR}/address_space_ops_invalidatepage_3args_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/address_space_ops_invalidatepage_3args_pc/address_space_ops_invalidatepage_3args_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>

int
main (void)
{

		struct address_space_operations a_ops;
		a_ops.invalidatepage(NULL, 0, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/address_space_ops_invalidatepage_3args_pc/address_space_ops_invalidatepage_3args_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/address_space_ops_invalidatepage_3args_pc || mkdir -p ${TEST_DIR}/address_space_ops_invalidatepage_3args_pc

	file=${TEST_DIR}/address_space_ops_invalidatepage_3args_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/address_space_ops_invalidatepage_3args_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/address_space_ops_invalidatepage_3args_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := address_space_ops_invalidatepage_3args_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_address_space_ops_invalidatepage_3args+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += address_space_ops_invalidatepage_3args_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_address_space_ops_invalidatepage_3args=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/dir_context_pc || mkdir -p ${TEST_DIR}/dir_context_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/dir_context_pc/dir_context_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>

int
main (void)
{

	#ifdef FMODE_KABI_ITERATE
	#error "back to use readdir in kabi_extand mode"
	#else
		struct dir_context ctx;

		ctx.pos = 0;
	#endif

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/dir_context_pc/dir_context_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/dir_context_pc || mkdir -p ${TEST_DIR}/dir_context_pc

	file=${TEST_DIR}/dir_context_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/dir_context_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/dir_context_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := dir_context_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_dir_context+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += dir_context_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_dir_context=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/d_compare_5args_pc || mkdir -p ${TEST_DIR}/d_compare_5args_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/d_compare_5args_pc/d_compare_5args_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/dcache.h>

int
main (void)
{

		((struct dentry_operations*)0)->d_compare(NULL,NULL,0,NULL,NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/d_compare_5args_pc/d_compare_5args_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/d_compare_5args_pc || mkdir -p ${TEST_DIR}/d_compare_5args_pc

	file=${TEST_DIR}/d_compare_5args_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/d_compare_5args_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/d_compare_5args_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := d_compare_5args_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_d_compare_5args+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += d_compare_5args_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_d_compare_5args=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/d_count_pc || mkdir -p ${TEST_DIR}/d_count_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/d_count_pc/d_count_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/dcache.h>

int
main (void)
{

		struct dentry de = { };
		int count;

		count = d_count(&de);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/d_count_pc/d_count_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/d_count_pc || mkdir -p ${TEST_DIR}/d_count_pc

	file=${TEST_DIR}/d_count_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/d_count_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/d_count_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := d_count_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_d_count+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += d_count_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_d_count=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/pid_ns_for_children_pc || mkdir -p ${TEST_DIR}/pid_ns_for_children_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/pid_ns_for_children_pc/pid_ns_for_children_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/nsproxy.h>

int
main (void)
{

		struct nsproxy ns;
		ns.pid_ns_for_children = NULL;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/pid_ns_for_children_pc/pid_ns_for_children_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/pid_ns_for_children_pc || mkdir -p ${TEST_DIR}/pid_ns_for_children_pc

	file=${TEST_DIR}/pid_ns_for_children_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/pid_ns_for_children_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/pid_ns_for_children_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := pid_ns_for_children_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_pid_ns_for_children+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += pid_ns_for_children_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_pid_ns_for_children=unused
		fi

fi






	# 3.12


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/truncate_pagecache_old_size_pc || mkdir -p ${TEST_DIR}/truncate_pagecache_old_size_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/truncate_pagecache_old_size_pc/truncate_pagecache_old_size_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/mm.h>

int
main (void)
{

		truncate_pagecache(NULL, 0, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/truncate_pagecache_old_size_pc/truncate_pagecache_old_size_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/truncate_pagecache_old_size_pc || mkdir -p ${TEST_DIR}/truncate_pagecache_old_size_pc

	file=${TEST_DIR}/truncate_pagecache_old_size_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/truncate_pagecache_old_size_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/truncate_pagecache_old_size_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := truncate_pagecache_old_size_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_truncate_pagecache_old_size+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += truncate_pagecache_old_size_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_truncate_pagecache_old_size=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/is_err_or_null_pc || mkdir -p ${TEST_DIR}/is_err_or_null_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/is_err_or_null_pc/is_err_or_null_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/err.h>

int
main (void)
{

		if (PTR_ERR_OR_ZERO(NULL)) return 0;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/is_err_or_null_pc/is_err_or_null_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/is_err_or_null_pc || mkdir -p ${TEST_DIR}/is_err_or_null_pc

	file=${TEST_DIR}/is_err_or_null_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/is_err_or_null_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/is_err_or_null_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := is_err_or_null_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_is_err_or_null+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += is_err_or_null_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_is_err_or_null=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/d_alias_list_pc || mkdir -p ${TEST_DIR}/d_alias_list_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/d_alias_list_pc/d_alias_list_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/list.h>
		#include <linux/dcache.h>

int
main (void)
{

		struct dentry de;
		INIT_LIST_HEAD(&de.d_u.d_alias);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/d_alias_list_pc/d_alias_list_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/d_alias_list_pc || mkdir -p ${TEST_DIR}/d_alias_list_pc

	file=${TEST_DIR}/d_alias_list_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/d_alias_list_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/d_alias_list_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := d_alias_list_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_d_alias_list+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += d_alias_list_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_d_alias_list=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/d_alias_hlist_pc || mkdir -p ${TEST_DIR}/d_alias_hlist_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/d_alias_hlist_pc/d_alias_hlist_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/list.h>
		#include <linux/dcache.h>

int
main (void)
{

		struct dentry de;
		INIT_HLIST_NODE(&de.d_u.d_alias);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/d_alias_hlist_pc/d_alias_hlist_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/d_alias_hlist_pc || mkdir -p ${TEST_DIR}/d_alias_hlist_pc

	file=${TEST_DIR}/d_alias_hlist_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/d_alias_hlist_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/d_alias_hlist_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := d_alias_hlist_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_d_alias_hlist+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += d_alias_hlist_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_d_alias_hlist=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/d_child_pc || mkdir -p ${TEST_DIR}/d_child_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/d_child_pc/d_child_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/list.h>
		#include <linux/dcache.h>

int
main (void)
{

		struct dentry de;
		INIT_LIST_HEAD(&de.d_child);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/d_child_pc/d_child_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/d_child_pc || mkdir -p ${TEST_DIR}/d_child_pc

	file=${TEST_DIR}/d_child_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/d_child_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/d_child_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := d_child_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_d_child+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += d_child_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_d_child=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/kiocb_ki_left_pc || mkdir -p ${TEST_DIR}/kiocb_ki_left_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/kiocb_ki_left_pc/kiocb_ki_left_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/aio.h>

int
main (void)
{

		((struct kiocb*)0)->ki_left = 0;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/kiocb_ki_left_pc/kiocb_ki_left_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/kiocb_ki_left_pc || mkdir -p ${TEST_DIR}/kiocb_ki_left_pc

	file=${TEST_DIR}/kiocb_ki_left_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/kiocb_ki_left_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/kiocb_ki_left_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := kiocb_ki_left_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_kiocb_ki_left+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += kiocb_ki_left_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_kiocb_ki_left=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/register_shrinker_ret_pc || mkdir -p ${TEST_DIR}/register_shrinker_ret_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/register_shrinker_ret_pc/register_shrinker_ret_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/mm.h>

int
main (void)
{

		if (register_shrinker(NULL))
			unregister_shrinker(NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/register_shrinker_ret_pc/register_shrinker_ret_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/register_shrinker_ret_pc || mkdir -p ${TEST_DIR}/register_shrinker_ret_pc

	file=${TEST_DIR}/register_shrinker_ret_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/register_shrinker_ret_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/register_shrinker_ret_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := register_shrinker_ret_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_register_shrinker_ret+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += register_shrinker_ret_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_register_shrinker_ret=unused
		fi

fi






	# 3.13


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/vfs_rename_5args_pc || mkdir -p ${TEST_DIR}/vfs_rename_5args_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/vfs_rename_5args_pc/vfs_rename_5args_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>

int
main (void)
{

		vfs_rename(NULL, NULL, NULL, NULL, NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/vfs_rename_5args_pc/vfs_rename_5args_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/vfs_rename_5args_pc || mkdir -p ${TEST_DIR}/vfs_rename_5args_pc

	file=${TEST_DIR}/vfs_rename_5args_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/vfs_rename_5args_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/vfs_rename_5args_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := vfs_rename_5args_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_vfs_rename_5args+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += vfs_rename_5args_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_vfs_rename_5args=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/vfs_unlink_3args_pc || mkdir -p ${TEST_DIR}/vfs_unlink_3args_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/vfs_unlink_3args_pc/vfs_unlink_3args_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>

int
main (void)
{

		vfs_unlink(NULL, NULL, NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/vfs_unlink_3args_pc/vfs_unlink_3args_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/vfs_unlink_3args_pc || mkdir -p ${TEST_DIR}/vfs_unlink_3args_pc

	file=${TEST_DIR}/vfs_unlink_3args_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/vfs_unlink_3args_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/vfs_unlink_3args_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := vfs_unlink_3args_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_vfs_unlink_3args+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += vfs_unlink_3args_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_vfs_unlink_3args=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/d_is_positive_pc || mkdir -p ${TEST_DIR}/d_is_positive_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/d_is_positive_pc/d_is_positive_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/dcache.h>

int
main (void)
{

		d_is_positive(NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/d_is_positive_pc/d_is_positive_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/d_is_positive_pc || mkdir -p ${TEST_DIR}/d_is_positive_pc

	file=${TEST_DIR}/d_is_positive_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/d_is_positive_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/d_is_positive_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := d_is_positive_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_d_is_positive+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += d_is_positive_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_d_is_positive=unused
		fi

fi






	# 3.14


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/have_bvec_iter_pc || mkdir -p ${TEST_DIR}/have_bvec_iter_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/have_bvec_iter_pc/have_bvec_iter_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/bio.h>

int
main (void)
{

		struct bvec_iter iter;

		iter.bi_bvec_done = 0;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/have_bvec_iter_pc/have_bvec_iter_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/have_bvec_iter_pc || mkdir -p ${TEST_DIR}/have_bvec_iter_pc

	file=${TEST_DIR}/have_bvec_iter_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/have_bvec_iter_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/have_bvec_iter_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := have_bvec_iter_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_have_bvec_iter+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += have_bvec_iter_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_have_bvec_iter=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/truncate_ipages_final_pc || mkdir -p ${TEST_DIR}/truncate_ipages_final_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/truncate_ipages_final_pc/truncate_ipages_final_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/mm.h>

int
main (void)
{

		truncate_inode_pages_final(NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/truncate_ipages_final_pc/truncate_ipages_final_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/truncate_ipages_final_pc || mkdir -p ${TEST_DIR}/truncate_ipages_final_pc

	file=${TEST_DIR}/truncate_ipages_final_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/truncate_ipages_final_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/truncate_ipages_final_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := truncate_ipages_final_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_truncate_ipages_final+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += truncate_ipages_final_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_truncate_ipages_final=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/iops_rename_with_flags_pc || mkdir -p ${TEST_DIR}/iops_rename_with_flags_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/iops_rename_with_flags_pc/iops_rename_with_flags_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>

int
main (void)
{

		struct inode_operations *iops = NULL;
		struct inode *i1 = NULL, *i2 = NULL;
		struct dentry *d1 = NULL, *d2 = NULL;

		iops->rename(i1, d1, i2, d2, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/iops_rename_with_flags_pc/iops_rename_with_flags_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/iops_rename_with_flags_pc || mkdir -p ${TEST_DIR}/iops_rename_with_flags_pc

	file=${TEST_DIR}/iops_rename_with_flags_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/iops_rename_with_flags_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/iops_rename_with_flags_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := iops_rename_with_flags_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_iops_rename_with_flags+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += iops_rename_with_flags_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_iops_rename_with_flags=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/inode_ops_set_acl_pc || mkdir -p ${TEST_DIR}/inode_ops_set_acl_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/inode_ops_set_acl_pc/inode_ops_set_acl_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>

int
main (void)
{

		struct inode_operations iop;
		iop.set_acl = NULL;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/inode_ops_set_acl_pc/inode_ops_set_acl_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/inode_ops_set_acl_pc || mkdir -p ${TEST_DIR}/inode_ops_set_acl_pc

	file=${TEST_DIR}/inode_ops_set_acl_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/inode_ops_set_acl_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/inode_ops_set_acl_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := inode_ops_set_acl_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_inode_ops_set_acl+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += inode_ops_set_acl_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_inode_ops_set_acl=unused
		fi

fi






	# 3.15


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/vfs_rename_6args_pc || mkdir -p ${TEST_DIR}/vfs_rename_6args_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/vfs_rename_6args_pc/vfs_rename_6args_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>

int
main (void)
{

		vfs_rename(NULL, NULL, NULL, NULL, NULL, NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/vfs_rename_6args_pc/vfs_rename_6args_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/vfs_rename_6args_pc || mkdir -p ${TEST_DIR}/vfs_rename_6args_pc

	file=${TEST_DIR}/vfs_rename_6args_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/vfs_rename_6args_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/vfs_rename_6args_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := vfs_rename_6args_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_vfs_rename_6args+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += vfs_rename_6args_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_vfs_rename_6args=unused
		fi

fi






	# 3.16


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/direct_io_iter_pc || mkdir -p ${TEST_DIR}/direct_io_iter_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/direct_io_iter_pc/direct_io_iter_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>

int
main (void)
{

		struct address_space_operations ops = { };
		struct iov_iter *iter = NULL;
		loff_t offset = 0;

		ops.direct_IO(0, NULL, iter, offset);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/direct_io_iter_pc/direct_io_iter_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/direct_io_iter_pc || mkdir -p ${TEST_DIR}/direct_io_iter_pc

	file=${TEST_DIR}/direct_io_iter_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/direct_io_iter_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/direct_io_iter_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := direct_io_iter_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_direct_io_iter+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += direct_io_iter_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_direct_io_iter=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/iter_init_pc || mkdir -p ${TEST_DIR}/iter_init_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/iter_init_pc/iter_init_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/uio.h>
		#include <linux/fs.h>

int
main (void)
{

		const struct iovec *iov = NULL;

		iov_iter_init(NULL, READ, iov, 1, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/iter_init_pc/iter_init_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/iter_init_pc || mkdir -p ${TEST_DIR}/iter_init_pc

	file=${TEST_DIR}/iter_init_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/iter_init_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/iter_init_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := iter_init_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_iter_init+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += iter_init_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_iter_init=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/iter_truncate_pc || mkdir -p ${TEST_DIR}/iter_truncate_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/iter_truncate_pc/iter_truncate_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/uio.h>
		#include <linux/fs.h>

int
main (void)
{

		struct iov_iter *i = NULL;

		iov_iter_truncate(i, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/iter_truncate_pc/iter_truncate_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/iter_truncate_pc || mkdir -p ${TEST_DIR}/iter_truncate_pc

	file=${TEST_DIR}/iter_truncate_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/iter_truncate_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/iter_truncate_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := iter_truncate_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_iter_truncate+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += iter_truncate_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_iter_truncate=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/file_function_iter_pc || mkdir -p ${TEST_DIR}/file_function_iter_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/file_function_iter_pc/file_function_iter_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>

int
main (void)
{

		((struct file_operations *)NULL)->read_iter(NULL, NULL);
		((struct file_operations *)NULL)->write_iter(NULL, NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/file_function_iter_pc/file_function_iter_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/file_function_iter_pc || mkdir -p ${TEST_DIR}/file_function_iter_pc

	file=${TEST_DIR}/file_function_iter_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/file_function_iter_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/file_function_iter_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := file_function_iter_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_file_function_iter+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += file_function_iter_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_file_function_iter=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/pagecache_get_page_pc || mkdir -p ${TEST_DIR}/pagecache_get_page_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/pagecache_get_page_pc/pagecache_get_page_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/pagemap.h>

int
main (void)
{

		pagecache_get_page(NULL, 0, 0, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/pagecache_get_page_pc/pagecache_get_page_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/pagecache_get_page_pc || mkdir -p ${TEST_DIR}/pagecache_get_page_pc

	file=${TEST_DIR}/pagecache_get_page_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/pagecache_get_page_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/pagecache_get_page_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := pagecache_get_page_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_pagecache_get_page+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += pagecache_get_page_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_pagecache_get_page=unused
		fi

fi






	# 3.17


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/interval_blk_integrity_pc || mkdir -p ${TEST_DIR}/interval_blk_integrity_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/interval_blk_integrity_pc/interval_blk_integrity_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/blkdev.h>

int
main (void)
{

		((struct blk_integrity *)0)->interval = 0;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/interval_blk_integrity_pc/interval_blk_integrity_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/interval_blk_integrity_pc || mkdir -p ${TEST_DIR}/interval_blk_integrity_pc

	file=${TEST_DIR}/interval_blk_integrity_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/interval_blk_integrity_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/interval_blk_integrity_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := interval_blk_integrity_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_interval_blk_integrity+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += interval_blk_integrity_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_interval_blk_integrity=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/key_match_pc || mkdir -p ${TEST_DIR}/key_match_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/key_match_pc/key_match_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/key-type.h>

int
main (void)
{

		struct key_match_data data;

		data.raw_data = NULL;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/key_match_pc/key_match_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/key_match_pc || mkdir -p ${TEST_DIR}/key_match_pc

	file=${TEST_DIR}/key_match_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/key_match_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/key_match_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := key_match_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_key_match+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += key_match_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_key_match=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/blk_integrity_iter_pc || mkdir -p ${TEST_DIR}/blk_integrity_iter_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/blk_integrity_iter_pc/blk_integrity_iter_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#ifdef HAVE_LINUX_BLK_INTEGRITY_HEADER
		# include <linux/blk-integrity.h>
		#else
		# include <linux/blkdev.h>
		#endif

int
main (void)
{

		struct blk_integrity_iter iter;

		iter.prot_buf = NULL;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/blk_integrity_iter_pc/blk_integrity_iter_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/blk_integrity_iter_pc || mkdir -p ${TEST_DIR}/blk_integrity_iter_pc

	file=${TEST_DIR}/blk_integrity_iter_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/blk_integrity_iter_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/blk_integrity_iter_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := blk_integrity_iter_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_blk_integrity_iter+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += blk_integrity_iter_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_blk_integrity_iter=unused
		fi

fi






	# 3.18


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/filldir_ctx_pc || mkdir -p ${TEST_DIR}/filldir_ctx_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/filldir_ctx_pc/filldir_ctx_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>

int
main (void)
{

		int filldir(struct dir_context *ctx, const char* name,
			    int i, loff_t off, u64 tmp, unsigned temp)
		{
			return 0;
		}

		struct dir_context ctx = {
			.actor = filldir,
		};

		ctx.actor(NULL, "test", 0, (loff_t) 0, 0, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/filldir_ctx_pc/filldir_ctx_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/filldir_ctx_pc || mkdir -p ${TEST_DIR}/filldir_ctx_pc

	file=${TEST_DIR}/filldir_ctx_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/filldir_ctx_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/filldir_ctx_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := filldir_ctx_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_filldir_ctx+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += filldir_ctx_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_filldir_ctx=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/percpu_counter_init_pc || mkdir -p ${TEST_DIR}/percpu_counter_init_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/percpu_counter_init_pc/percpu_counter_init_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/percpu_counter.h>

int
main (void)
{

		percpu_counter_init(NULL, 0, GFP_KERNEL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/percpu_counter_init_pc/percpu_counter_init_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/percpu_counter_init_pc || mkdir -p ${TEST_DIR}/percpu_counter_init_pc

	file=${TEST_DIR}/percpu_counter_init_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/percpu_counter_init_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/percpu_counter_init_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := percpu_counter_init_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_percpu_counter_init+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += percpu_counter_init_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_percpu_counter_init=unused
		fi

fi






	# 3.19


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/ki_nbytes_pc || mkdir -p ${TEST_DIR}/ki_nbytes_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/ki_nbytes_pc/ki_nbytes_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>

int
main (void)
{

		struct kiocb iocb = { };

		iocb.ki_nbytes = 0;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/ki_nbytes_pc/ki_nbytes_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/ki_nbytes_pc || mkdir -p ${TEST_DIR}/ki_nbytes_pc

	file=${TEST_DIR}/ki_nbytes_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/ki_nbytes_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/ki_nbytes_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := ki_nbytes_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_ki_nbytes+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += ki_nbytes_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_ki_nbytes=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/qc_dqblk_pc || mkdir -p ${TEST_DIR}/qc_dqblk_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/qc_dqblk_pc/qc_dqblk_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>
		#include <linux/quota.h>

int
main (void)
{

		((struct quotactl_ops *)0)->set_dqblk(NULL, *((struct kqid*)0), (struct qc_dqblk*)0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/qc_dqblk_pc/qc_dqblk_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/qc_dqblk_pc || mkdir -p ${TEST_DIR}/qc_dqblk_pc

	file=${TEST_DIR}/qc_dqblk_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/qc_dqblk_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/qc_dqblk_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := qc_dqblk_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_qc_dqblk+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += qc_dqblk_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_qc_dqblk=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/aio_complete_pc || mkdir -p ${TEST_DIR}/aio_complete_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/aio_complete_pc/aio_complete_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/aio.h>

int
main (void)
{

		aio_complete(NULL, 0, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/aio_complete_pc/aio_complete_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/aio_complete_pc || mkdir -p ${TEST_DIR}/aio_complete_pc

	file=${TEST_DIR}/aio_complete_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/aio_complete_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/aio_complete_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := aio_complete_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_aio_complete+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += aio_complete_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_aio_complete=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/is_root_inode_pc || mkdir -p ${TEST_DIR}/is_root_inode_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/is_root_inode_pc/is_root_inode_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>

int
main (void)
{

		is_root_inode(NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/is_root_inode_pc/is_root_inode_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/is_root_inode_pc || mkdir -p ${TEST_DIR}/is_root_inode_pc

	file=${TEST_DIR}/is_root_inode_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/is_root_inode_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/is_root_inode_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := is_root_inode_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_is_root_inode+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += is_root_inode_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_is_root_inode=unused
		fi

fi






	# 3.20


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/backing_dev_info_pc || mkdir -p ${TEST_DIR}/backing_dev_info_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/backing_dev_info_pc/backing_dev_info_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>

int
main (void)
{

		struct address_space mapping;

		mapping.backing_dev_info = NULL;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/backing_dev_info_pc/backing_dev_info_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/backing_dev_info_pc || mkdir -p ${TEST_DIR}/backing_dev_info_pc

	file=${TEST_DIR}/backing_dev_info_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/backing_dev_info_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/backing_dev_info_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := backing_dev_info_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_backing_dev_info+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += backing_dev_info_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_backing_dev_info=unused
		fi

fi






	# 4.1.0


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/iov_iter_rw_pc || mkdir -p ${TEST_DIR}/iov_iter_rw_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/iov_iter_rw_pc/iov_iter_rw_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>
		#include <linux/uio.h>

int
main (void)
{

		struct iov_iter *iter = NULL;

		iov_iter_rw(iter);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/iov_iter_rw_pc/iov_iter_rw_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/iov_iter_rw_pc || mkdir -p ${TEST_DIR}/iov_iter_rw_pc

	file=${TEST_DIR}/iov_iter_rw_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/iov_iter_rw_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/iov_iter_rw_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := iov_iter_rw_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_iov_iter_rw+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += iov_iter_rw_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_iov_iter_rw=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/have___bi_cnt_pc || mkdir -p ${TEST_DIR}/have___bi_cnt_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/have___bi_cnt_pc/have___bi_cnt_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <asm/atomic.h>
		#include <linux/bio.h>
		#include <linux/blk_types.h>

int
main (void)
{

		struct bio bio = { };
		int cnt;
		cnt = atomic_read(&bio.__bi_cnt);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/have___bi_cnt_pc/have___bi_cnt_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/have___bi_cnt_pc || mkdir -p ${TEST_DIR}/have___bi_cnt_pc

	file=${TEST_DIR}/have___bi_cnt_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/have___bi_cnt_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/have___bi_cnt_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := have___bi_cnt_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_have___bi_cnt+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += have___bi_cnt_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_have___bi_cnt=unused
		fi

fi






	# 4.2


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/bio_endio_pc || mkdir -p ${TEST_DIR}/bio_endio_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/bio_endio_pc/bio_endio_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/bio.h>

int
main (void)
{

		bio_endio(NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/bio_endio_pc/bio_endio_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/bio_endio_pc || mkdir -p ${TEST_DIR}/bio_endio_pc

	file=${TEST_DIR}/bio_endio_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/bio_endio_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/bio_endio_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := bio_endio_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_bio_endio+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += bio_endio_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_bio_endio=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/symlink_use_nameidata_pc || mkdir -p ${TEST_DIR}/symlink_use_nameidata_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/symlink_use_nameidata_pc/symlink_use_nameidata_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/namei.h>
		#include <linux/fs.h>

int
main (void)
{

		struct inode_operations *iops = NULL;
		struct nameidata *nd = NULL;

		iops->follow_link(NULL, nd);
		iops->put_link(NULL, nd, NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/symlink_use_nameidata_pc/symlink_use_nameidata_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/symlink_use_nameidata_pc || mkdir -p ${TEST_DIR}/symlink_use_nameidata_pc

	file=${TEST_DIR}/symlink_use_nameidata_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/symlink_use_nameidata_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/symlink_use_nameidata_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := symlink_use_nameidata_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_symlink_use_nameidata+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += symlink_use_nameidata_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_symlink_use_nameidata=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/account_page_dirtied_3a_pc || mkdir -p ${TEST_DIR}/account_page_dirtied_3a_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/account_page_dirtied_3a_pc/account_page_dirtied_3a_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/mm.h>

int
main (void)
{

		account_page_dirtied(NULL, NULL, NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/account_page_dirtied_3a_pc/account_page_dirtied_3a_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/account_page_dirtied_3a_pc || mkdir -p ${TEST_DIR}/account_page_dirtied_3a_pc

	file=${TEST_DIR}/account_page_dirtied_3a_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/account_page_dirtied_3a_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/account_page_dirtied_3a_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := account_page_dirtied_3a_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_account_page_dirtied_3a+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += account_page_dirtied_3a_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_account_page_dirtied_3a=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/crypto_alloc_skcipher_pc || mkdir -p ${TEST_DIR}/crypto_alloc_skcipher_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/crypto_alloc_skcipher_pc/crypto_alloc_skcipher_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <crypto/skcipher.h>

int
main (void)
{

		crypto_alloc_skcipher(NULL, 0, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/crypto_alloc_skcipher_pc/crypto_alloc_skcipher_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/crypto_alloc_skcipher_pc || mkdir -p ${TEST_DIR}/crypto_alloc_skcipher_pc

	file=${TEST_DIR}/crypto_alloc_skcipher_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/crypto_alloc_skcipher_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/crypto_alloc_skcipher_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := crypto_alloc_skcipher_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_crypto_alloc_skcipher+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += crypto_alloc_skcipher_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_crypto_alloc_skcipher=unused
		fi

fi






	# 4.3


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/blk_integrity_interval_exp_pc || mkdir -p ${TEST_DIR}/blk_integrity_interval_exp_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/blk_integrity_interval_exp_pc/blk_integrity_interval_exp_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/blkdev.h>

int
main (void)
{

		((struct blk_integrity *)0)->interval_exp = 0;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/blk_integrity_interval_exp_pc/blk_integrity_interval_exp_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/blk_integrity_interval_exp_pc || mkdir -p ${TEST_DIR}/blk_integrity_interval_exp_pc

	file=${TEST_DIR}/blk_integrity_interval_exp_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/blk_integrity_interval_exp_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/blk_integrity_interval_exp_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := blk_integrity_interval_exp_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_blk_integrity_interval_exp+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += blk_integrity_interval_exp_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_blk_integrity_interval_exp=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/bio_integrity_payload_bip_iter_pc || mkdir -p ${TEST_DIR}/bio_integrity_payload_bip_iter_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/bio_integrity_payload_bip_iter_pc/bio_integrity_payload_bip_iter_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/bio.h>

int
main (void)
{

		((struct bio_integrity_payload *)0)->bip_iter.bi_size = 0;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/bio_integrity_payload_bip_iter_pc/bio_integrity_payload_bip_iter_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/bio_integrity_payload_bip_iter_pc || mkdir -p ${TEST_DIR}/bio_integrity_payload_bip_iter_pc

	file=${TEST_DIR}/bio_integrity_payload_bip_iter_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/bio_integrity_payload_bip_iter_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/bio_integrity_payload_bip_iter_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := bio_integrity_payload_bip_iter_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_bio_integrity_payload_bip_iter+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += bio_integrity_payload_bip_iter_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_bio_integrity_payload_bip_iter=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/cache_head_has_hlist_pc || mkdir -p ${TEST_DIR}/cache_head_has_hlist_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/cache_head_has_hlist_pc/cache_head_has_hlist_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/sunrpc/cache.h>

int
main (void)
{

		do {} while(sizeof(((struct cache_head *)0)->cache_list));

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/cache_head_has_hlist_pc/cache_head_has_hlist_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/cache_head_has_hlist_pc || mkdir -p ${TEST_DIR}/cache_head_has_hlist_pc

	file=${TEST_DIR}/cache_head_has_hlist_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/cache_head_has_hlist_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/cache_head_has_hlist_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := cache_head_has_hlist_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_cache_head_has_hlist+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += cache_head_has_hlist_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_cache_head_has_hlist=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/xattr_handler_simplified_pc || mkdir -p ${TEST_DIR}/xattr_handler_simplified_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/xattr_handler_simplified_pc/xattr_handler_simplified_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/xattr.h>

int
main (void)
{

		struct xattr_handler handler;

		((struct xattr_handler *)0)->get(&handler, NULL, NULL, NULL, 0);
		((struct xattr_handler *)0)->set(&handler, NULL, NULL, NULL, 0, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/xattr_handler_simplified_pc/xattr_handler_simplified_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/xattr_handler_simplified_pc || mkdir -p ${TEST_DIR}/xattr_handler_simplified_pc

	file=${TEST_DIR}/xattr_handler_simplified_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/xattr_handler_simplified_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/xattr_handler_simplified_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := xattr_handler_simplified_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_xattr_handler_simplified+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += xattr_handler_simplified_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_xattr_handler_simplified=unused
		fi

fi






	# 4.4


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/locks_lock_file_wait_pc || mkdir -p ${TEST_DIR}/locks_lock_file_wait_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/locks_lock_file_wait_pc/locks_lock_file_wait_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>

int
main (void)
{

		locks_lock_file_wait(NULL, NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/locks_lock_file_wait_pc/locks_lock_file_wait_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/locks_lock_file_wait_pc || mkdir -p ${TEST_DIR}/locks_lock_file_wait_pc

	file=${TEST_DIR}/locks_lock_file_wait_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/locks_lock_file_wait_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/locks_lock_file_wait_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := locks_lock_file_wait_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_locks_lock_file_wait+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += locks_lock_file_wait_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_locks_lock_file_wait=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/key_payload_data_array_pc || mkdir -p ${TEST_DIR}/key_payload_data_array_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/key_payload_data_array_pc/key_payload_data_array_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/key.h>

int
main (void)
{

		struct key key = { };

		key.payload.data[0] = NULL;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/key_payload_data_array_pc/key_payload_data_array_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/key_payload_data_array_pc || mkdir -p ${TEST_DIR}/key_payload_data_array_pc

	file=${TEST_DIR}/key_payload_data_array_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/key_payload_data_array_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/key_payload_data_array_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := key_payload_data_array_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_key_payload_data_array+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += key_payload_data_array_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_key_payload_data_array=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/xattr_handler_name_pc || mkdir -p ${TEST_DIR}/xattr_handler_name_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/xattr_handler_name_pc/xattr_handler_name_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/xattr.h>

int
main (void)
{

		((struct xattr_handler *)NULL)->name = NULL;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/xattr_handler_name_pc/xattr_handler_name_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/xattr_handler_name_pc || mkdir -p ${TEST_DIR}/xattr_handler_name_pc

	file=${TEST_DIR}/xattr_handler_name_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/xattr_handler_name_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/xattr_handler_name_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := xattr_handler_name_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_xattr_handler_name+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += xattr_handler_name_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_xattr_handler_name=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/bio_integrity_prep_ret_bool_pc || mkdir -p ${TEST_DIR}/bio_integrity_prep_ret_bool_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/bio_integrity_prep_ret_bool_pc/bio_integrity_prep_ret_bool_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/bio.h>
		#include <linux/typecheck.h>

int
main (void)
{

		#pragma GCC diagnostic warning "-Werror"
		typedef bool (*bio_integrity_prep_type)(struct bio *bio) ;

		typecheck_fn(bio_integrity_prep_type, bio_integrity_prep);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/bio_integrity_prep_ret_bool_pc/bio_integrity_prep_ret_bool_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/bio_integrity_prep_ret_bool_pc || mkdir -p ${TEST_DIR}/bio_integrity_prep_ret_bool_pc

	file=${TEST_DIR}/bio_integrity_prep_ret_bool_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/bio_integrity_prep_ret_bool_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/bio_integrity_prep_ret_bool_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := bio_integrity_prep_ret_bool_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_bio_integrity_prep_ret_bool+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += bio_integrity_prep_ret_bool_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_bio_integrity_prep_ret_bool=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/have_bi_opf_pc || mkdir -p ${TEST_DIR}/have_bi_opf_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/have_bi_opf_pc/have_bi_opf_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/bio.h>

int
main (void)
{

		struct bio bio;

		bio.bi_opf = 0;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/have_bi_opf_pc/have_bi_opf_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/have_bi_opf_pc || mkdir -p ${TEST_DIR}/have_bi_opf_pc

	file=${TEST_DIR}/have_bi_opf_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/have_bi_opf_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/have_bi_opf_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := have_bi_opf_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_have_bi_opf+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += have_bi_opf_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_have_bi_opf=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/have_submit_bio_2args_pc || mkdir -p ${TEST_DIR}/have_submit_bio_2args_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/have_submit_bio_2args_pc/have_submit_bio_2args_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/bio.h>

int
main (void)
{

		struct bio bio;
		submit_bio(READ, &bio);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/have_submit_bio_2args_pc/have_submit_bio_2args_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/have_submit_bio_2args_pc || mkdir -p ${TEST_DIR}/have_submit_bio_2args_pc

	file=${TEST_DIR}/have_submit_bio_2args_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/have_submit_bio_2args_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/have_submit_bio_2args_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := have_submit_bio_2args_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_have_submit_bio_2args+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += have_submit_bio_2args_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_have_submit_bio_2args=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/have_clean_bdev_aliases_pc || mkdir -p ${TEST_DIR}/have_clean_bdev_aliases_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/have_clean_bdev_aliases_pc/have_clean_bdev_aliases_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/buffer_head.h>

int
main (void)
{

		clean_bdev_aliases(NULL,1,1);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/have_clean_bdev_aliases_pc/have_clean_bdev_aliases_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/have_clean_bdev_aliases_pc || mkdir -p ${TEST_DIR}/have_clean_bdev_aliases_pc

	file=${TEST_DIR}/have_clean_bdev_aliases_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/have_clean_bdev_aliases_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/have_clean_bdev_aliases_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := have_clean_bdev_aliases_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_have_clean_bdev_aliases+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += have_clean_bdev_aliases_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_have_clean_bdev_aliases=unused
		fi

fi






	# 4.5


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/file_dentry_pc || mkdir -p ${TEST_DIR}/file_dentry_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/file_dentry_pc/file_dentry_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>

int
main (void)
{

		file_dentry(NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/file_dentry_pc/file_dentry_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/file_dentry_pc || mkdir -p ${TEST_DIR}/file_dentry_pc

	file=${TEST_DIR}/file_dentry_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/file_dentry_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/file_dentry_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := file_dentry_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_file_dentry+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += file_dentry_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_file_dentry=unused
		fi

fi






	# 4.6


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/inode_lock_pc || mkdir -p ${TEST_DIR}/inode_lock_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/inode_lock_pc/inode_lock_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>

int
main (void)
{

		inode_lock(NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/inode_lock_pc/inode_lock_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/inode_lock_pc || mkdir -p ${TEST_DIR}/inode_lock_pc

	file=${TEST_DIR}/inode_lock_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/inode_lock_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/inode_lock_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := inode_lock_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_inode_lock+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += inode_lock_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_inode_lock=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/inode_ops_get_link_pc || mkdir -p ${TEST_DIR}/inode_ops_get_link_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/inode_ops_get_link_pc/inode_ops_get_link_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>

int
main (void)
{

		struct inode_operations iop;
		iop.get_link = NULL;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/inode_ops_get_link_pc/inode_ops_get_link_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/inode_ops_get_link_pc || mkdir -p ${TEST_DIR}/inode_ops_get_link_pc

	file=${TEST_DIR}/inode_ops_get_link_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/inode_ops_get_link_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/inode_ops_get_link_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := inode_ops_get_link_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_inode_ops_get_link+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += inode_ops_get_link_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_inode_ops_get_link=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/in_compat_syscall_pc || mkdir -p ${TEST_DIR}/in_compat_syscall_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/in_compat_syscall_pc/in_compat_syscall_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/compat.h>

int
main (void)
{

		in_compat_syscall();

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/in_compat_syscall_pc/in_compat_syscall_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/in_compat_syscall_pc || mkdir -p ${TEST_DIR}/in_compat_syscall_pc

	file=${TEST_DIR}/in_compat_syscall_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/in_compat_syscall_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/in_compat_syscall_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := in_compat_syscall_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_in_compat_syscall+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += in_compat_syscall_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_in_compat_syscall=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/xattr_handler_inode_param_pc || mkdir -p ${TEST_DIR}/xattr_handler_inode_param_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/xattr_handler_inode_param_pc/xattr_handler_inode_param_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/xattr.h>

int
main (void)
{

		const struct xattr_handler handler;

		((struct xattr_handler *)0)->get(&handler, NULL, NULL, NULL, NULL, 0);
		((struct xattr_handler *)0)->set(&handler, NULL, NULL, NULL, NULL, 0, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/xattr_handler_inode_param_pc/xattr_handler_inode_param_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/xattr_handler_inode_param_pc || mkdir -p ${TEST_DIR}/xattr_handler_inode_param_pc

	file=${TEST_DIR}/xattr_handler_inode_param_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/xattr_handler_inode_param_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/xattr_handler_inode_param_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := xattr_handler_inode_param_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_xattr_handler_inode_param+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += xattr_handler_inode_param_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_xattr_handler_inode_param=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/lock_page_memcg_pc || mkdir -p ${TEST_DIR}/lock_page_memcg_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/lock_page_memcg_pc/lock_page_memcg_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/memcontrol.h>

int
main (void)
{

		lock_page_memcg(NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/lock_page_memcg_pc/lock_page_memcg_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/lock_page_memcg_pc || mkdir -p ${TEST_DIR}/lock_page_memcg_pc

	file=${TEST_DIR}/lock_page_memcg_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/lock_page_memcg_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/lock_page_memcg_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := lock_page_memcg_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_lock_page_memcg+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += lock_page_memcg_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_lock_page_memcg=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/down_write_killable_pc || mkdir -p ${TEST_DIR}/down_write_killable_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/down_write_killable_pc/down_write_killable_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/rwsem.h>

		struct rw_semaphore sem;

int
main (void)
{

		int rc;

		rc = down_write_killable(&sem);
		(void)rc;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/down_write_killable_pc/down_write_killable_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/down_write_killable_pc || mkdir -p ${TEST_DIR}/down_write_killable_pc

	file=${TEST_DIR}/down_write_killable_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/down_write_killable_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/down_write_killable_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := down_write_killable_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_down_write_killable+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += down_write_killable_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_down_write_killable=unused
		fi

fi






	# 4.7


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/d_in_lookup_pc || mkdir -p ${TEST_DIR}/d_in_lookup_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/d_in_lookup_pc/d_in_lookup_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/dcache.h>

int
main (void)
{

		d_in_lookup(NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/d_in_lookup_pc/d_in_lookup_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/d_in_lookup_pc || mkdir -p ${TEST_DIR}/d_in_lookup_pc

	file=${TEST_DIR}/d_in_lookup_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/d_in_lookup_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/d_in_lookup_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := d_in_lookup_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_d_in_lookup+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += d_in_lookup_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_d_in_lookup=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/d_init_pc || mkdir -p ${TEST_DIR}/d_init_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/d_init_pc/d_init_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/dcache.h>

int
main (void)
{

		struct dentry_operations ops = { };
		int rc;

		rc = ops.d_init(NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/d_init_pc/d_init_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/d_init_pc || mkdir -p ${TEST_DIR}/d_init_pc

	file=${TEST_DIR}/d_init_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/d_init_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/d_init_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := d_init_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_d_init+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += d_init_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_d_init=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/direct_io_2args_pc || mkdir -p ${TEST_DIR}/direct_io_2args_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/direct_io_2args_pc/direct_io_2args_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>

int
main (void)
{

		struct address_space_operations ops = { };
		struct iov_iter *iter = NULL;
		struct kiocb *iocb = NULL;
		int rc;

		rc = ops.direct_IO(iocb, iter);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/direct_io_2args_pc/direct_io_2args_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/direct_io_2args_pc || mkdir -p ${TEST_DIR}/direct_io_2args_pc

	file=${TEST_DIR}/direct_io_2args_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/direct_io_2args_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/direct_io_2args_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := direct_io_2args_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_direct_io_2args+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += direct_io_2args_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_direct_io_2args=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/generic_write_sync_2args_pc || mkdir -p ${TEST_DIR}/generic_write_sync_2args_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/generic_write_sync_2args_pc/generic_write_sync_2args_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>

int
main (void)
{

		struct kiocb *iocb = NULL;
		ssize_t rc;

		rc = generic_write_sync(iocb, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/generic_write_sync_2args_pc/generic_write_sync_2args_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/generic_write_sync_2args_pc || mkdir -p ${TEST_DIR}/generic_write_sync_2args_pc

	file=${TEST_DIR}/generic_write_sync_2args_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/generic_write_sync_2args_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/generic_write_sync_2args_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := generic_write_sync_2args_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_generic_write_sync_2args+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += generic_write_sync_2args_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_generic_write_sync_2args=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/fop_iterate_shared_pc || mkdir -p ${TEST_DIR}/fop_iterate_shared_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/fop_iterate_shared_pc/fop_iterate_shared_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>

int
main (void)
{

		struct file_operations fop;
		fop.iterate_shared = NULL;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/fop_iterate_shared_pc/fop_iterate_shared_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/fop_iterate_shared_pc || mkdir -p ${TEST_DIR}/fop_iterate_shared_pc

	file=${TEST_DIR}/fop_iterate_shared_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/fop_iterate_shared_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/fop_iterate_shared_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := fop_iterate_shared_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_fop_iterate_shared+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += fop_iterate_shared_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_fop_iterate_shared=unused
		fi

fi






	# 4.8


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/posix_acl_valid_pc || mkdir -p ${TEST_DIR}/posix_acl_valid_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/posix_acl_valid_pc/posix_acl_valid_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>
		#include <linux/posix_acl.h>

int
main (void)
{

		posix_acl_valid((struct user_namespace*)NULL, (const struct posix_acl*)NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/posix_acl_valid_pc/posix_acl_valid_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/posix_acl_valid_pc || mkdir -p ${TEST_DIR}/posix_acl_valid_pc

	file=${TEST_DIR}/posix_acl_valid_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/posix_acl_valid_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/posix_acl_valid_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := posix_acl_valid_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_posix_acl_valid+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += posix_acl_valid_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_posix_acl_valid=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/d_compare_4args_pc || mkdir -p ${TEST_DIR}/d_compare_4args_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/d_compare_4args_pc/d_compare_4args_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/dcache.h>

int
main (void)
{

		((struct dentry_operations*)0)->d_compare(NULL,0,NULL,NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/d_compare_4args_pc/d_compare_4args_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/d_compare_4args_pc || mkdir -p ${TEST_DIR}/d_compare_4args_pc

	file=${TEST_DIR}/d_compare_4args_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/d_compare_4args_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/d_compare_4args_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := d_compare_4args_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_d_compare_4args+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += d_compare_4args_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_d_compare_4args=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/full_name_hash_3args_pc || mkdir -p ${TEST_DIR}/full_name_hash_3args_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/full_name_hash_3args_pc/full_name_hash_3args_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/stringhash.h>

int
main (void)
{

		unsigned int hash;
		hash = full_name_hash(NULL,NULL,0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/full_name_hash_3args_pc/full_name_hash_3args_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/full_name_hash_3args_pc || mkdir -p ${TEST_DIR}/full_name_hash_3args_pc

	file=${TEST_DIR}/full_name_hash_3args_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/full_name_hash_3args_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/full_name_hash_3args_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := full_name_hash_3args_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_full_name_hash_3args+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += full_name_hash_3args_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_full_name_hash_3args=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/struct_posix_acl_xattr_pc || mkdir -p ${TEST_DIR}/struct_posix_acl_xattr_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/struct_posix_acl_xattr_pc/struct_posix_acl_xattr_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>
		#include <linux/posix_acl_xattr.h>

int
main (void)
{

		struct posix_acl_xattr_header *h = NULL;
		struct posix_acl_xattr_entry  *e;
		e = (void *)(h + 1);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/struct_posix_acl_xattr_pc/struct_posix_acl_xattr_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/struct_posix_acl_xattr_pc || mkdir -p ${TEST_DIR}/struct_posix_acl_xattr_pc

	file=${TEST_DIR}/struct_posix_acl_xattr_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/struct_posix_acl_xattr_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/struct_posix_acl_xattr_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := struct_posix_acl_xattr_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_struct_posix_acl_xattr+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += struct_posix_acl_xattr_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_struct_posix_acl_xattr=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/inode_ops_xattr_pc || mkdir -p ${TEST_DIR}/inode_ops_xattr_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/inode_ops_xattr_pc/inode_ops_xattr_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>

int
main (void)
{

		struct inode_operations iop;
		iop.setxattr = NULL;
		iop.getxattr = NULL;
		iop.removexattr = NULL;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/inode_ops_xattr_pc/inode_ops_xattr_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/inode_ops_xattr_pc || mkdir -p ${TEST_DIR}/inode_ops_xattr_pc

	file=${TEST_DIR}/inode_ops_xattr_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/inode_ops_xattr_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/inode_ops_xattr_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := inode_ops_xattr_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_inode_ops_xattr+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += inode_ops_xattr_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_inode_ops_xattr=unused
		fi

fi






	# 4.9


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/group_info_gid_pc || mkdir -p ${TEST_DIR}/group_info_gid_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/group_info_gid_pc/group_info_gid_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/cred.h>

int
main (void)
{

		kgid_t *p;
		p = ((struct group_info *)0)->gid;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/group_info_gid_pc/group_info_gid_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/group_info_gid_pc || mkdir -p ${TEST_DIR}/group_info_gid_pc

	file=${TEST_DIR}/group_info_gid_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/group_info_gid_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/group_info_gid_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := group_info_gid_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_group_info_gid+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += group_info_gid_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_group_info_gid=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/vfs_setxattr_pc || mkdir -p ${TEST_DIR}/vfs_setxattr_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/vfs_setxattr_pc/vfs_setxattr_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/xattr.h>

int
main (void)
{

		__vfs_setxattr(NULL, NULL, NULL, NULL, 0, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/vfs_setxattr_pc/vfs_setxattr_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/vfs_setxattr_pc || mkdir -p ${TEST_DIR}/vfs_setxattr_pc

	file=${TEST_DIR}/vfs_setxattr_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/vfs_setxattr_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/vfs_setxattr_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := vfs_setxattr_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_vfs_setxattr+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += vfs_setxattr_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_vfs_setxattr=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/posix_acl_update_mode_pc || mkdir -p ${TEST_DIR}/posix_acl_update_mode_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/posix_acl_update_mode_pc/posix_acl_update_mode_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>
		#include <linux/posix_acl.h>

int
main (void)
{

		posix_acl_update_mode(NULL, NULL, NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/posix_acl_update_mode_pc/posix_acl_update_mode_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/posix_acl_update_mode_pc || mkdir -p ${TEST_DIR}/posix_acl_update_mode_pc

	file=${TEST_DIR}/posix_acl_update_mode_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/posix_acl_update_mode_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/posix_acl_update_mode_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := posix_acl_update_mode_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_posix_acl_update_mode+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += posix_acl_update_mode_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_posix_acl_update_mode=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/bdi_has_io_pages_pc || mkdir -p ${TEST_DIR}/bdi_has_io_pages_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/bdi_has_io_pages_pc/bdi_has_io_pages_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/backing-dev.h>

int
main (void)
{

		struct backing_dev_info info;

		info.io_pages = 0;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/bdi_has_io_pages_pc/bdi_has_io_pages_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/bdi_has_io_pages_pc || mkdir -p ${TEST_DIR}/bdi_has_io_pages_pc

	file=${TEST_DIR}/bdi_has_io_pages_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/bdi_has_io_pages_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/bdi_has_io_pages_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := bdi_has_io_pages_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_bdi_has_io_pages+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += bdi_has_io_pages_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_bdi_has_io_pages=unused
		fi

fi






	# 4.10


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/inode_ops_readlink_pc || mkdir -p ${TEST_DIR}/inode_ops_readlink_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/inode_ops_readlink_pc/inode_ops_readlink_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>

int
main (void)
{

		struct inode_operations iop;
		iop.readlink = generic_readlink;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/inode_ops_readlink_pc/inode_ops_readlink_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/inode_ops_readlink_pc || mkdir -p ${TEST_DIR}/inode_ops_readlink_pc

	file=${TEST_DIR}/inode_ops_readlink_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/inode_ops_readlink_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/inode_ops_readlink_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := inode_ops_readlink_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_inode_ops_readlink+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += inode_ops_readlink_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_inode_ops_readlink=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/vm_fault_address_pc || mkdir -p ${TEST_DIR}/vm_fault_address_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/vm_fault_address_pc/vm_fault_address_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/mm.h>

int
main (void)
{

		struct vm_fault vmf = { 0 };
		unsigned long addr = (unsigned long)vmf.address;
		(void)addr;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/vm_fault_address_pc/vm_fault_address_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/vm_fault_address_pc || mkdir -p ${TEST_DIR}/vm_fault_address_pc

	file=${TEST_DIR}/vm_fault_address_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/vm_fault_address_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/vm_fault_address_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := vm_fault_address_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_vm_fault_address+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += vm_fault_address_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_vm_fault_address=unused
		fi

fi






	# 4.11


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/getattr_path_pc || mkdir -p ${TEST_DIR}/getattr_path_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/getattr_path_pc/getattr_path_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>

int
main (void)
{

		struct inode_operations *iops = NULL;
		struct path path;

		iops->getattr(&path, NULL, 0, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/getattr_path_pc/getattr_path_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/getattr_path_pc || mkdir -p ${TEST_DIR}/getattr_path_pc

	file=${TEST_DIR}/getattr_path_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/getattr_path_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/getattr_path_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := getattr_path_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_getattr_path+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += getattr_path_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_getattr_path=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/vm_operations_no_vm_area_struct_pc || mkdir -p ${TEST_DIR}/vm_operations_no_vm_area_struct_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/vm_operations_no_vm_area_struct_pc/vm_operations_no_vm_area_struct_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/mm.h>

int
main (void)
{

		struct vm_fault vmf;

		((struct vm_operations_struct *)0)->fault(&vmf);
		((struct vm_operations_struct *)0)->page_mkwrite(&vmf);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/vm_operations_no_vm_area_struct_pc/vm_operations_no_vm_area_struct_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/vm_operations_no_vm_area_struct_pc || mkdir -p ${TEST_DIR}/vm_operations_no_vm_area_struct_pc

	file=${TEST_DIR}/vm_operations_no_vm_area_struct_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/vm_operations_no_vm_area_struct_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/vm_operations_no_vm_area_struct_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := vm_operations_no_vm_area_struct_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_vm_operations_no_vm_area_struct+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += vm_operations_no_vm_area_struct_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_vm_operations_no_vm_area_struct=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/key_usage_refcount_pc || mkdir -p ${TEST_DIR}/key_usage_refcount_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/key_usage_refcount_pc/key_usage_refcount_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/key.h>

int
main (void)
{

		struct key key = { };

		refcount_read(&key.usage);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/key_usage_refcount_pc/key_usage_refcount_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/key_usage_refcount_pc || mkdir -p ${TEST_DIR}/key_usage_refcount_pc

	file=${TEST_DIR}/key_usage_refcount_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/key_usage_refcount_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/key_usage_refcount_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := key_usage_refcount_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_key_usage_refcount+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += key_usage_refcount_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_key_usage_refcount=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/crypto_max_alg_name_pc || mkdir -p ${TEST_DIR}/crypto_max_alg_name_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/crypto_max_alg_name_pc/crypto_max_alg_name_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/crypto.h>

int
main (void)
{

		#if CRYPTO_MAX_ALG_NAME != 128
		exit(1);
		#endif

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/crypto_max_alg_name_pc/crypto_max_alg_name_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/crypto_max_alg_name_pc || mkdir -p ${TEST_DIR}/crypto_max_alg_name_pc

	file=${TEST_DIR}/crypto_max_alg_name_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/crypto_max_alg_name_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/crypto_max_alg_name_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := crypto_max_alg_name_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_crypto_max_alg_name+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += crypto_max_alg_name_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_crypto_max_alg_name=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	UNIQUE_ID=$(echo linux/fsmap.h | tr /. __)
	as_lb_test=`printf "%s\n" "lb_cv_test_${UNIQUE_ID}" | $as_tr_sh`

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/${UNIQUE_ID}_pc || mkdir -p ${TEST_DIR}/${UNIQUE_ID}_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/${UNIQUE_ID}_pc/${UNIQUE_ID}_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif

#include <linux/fsmap.h>
int
main (void)
{

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/${UNIQUE_ID}_pc/${UNIQUE_ID}_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/${UNIQUE_ID}_pc || mkdir -p ${TEST_DIR}/${UNIQUE_ID}_pc

	file=${TEST_DIR}/${UNIQUE_ID}_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/${UNIQUE_ID}_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/${UNIQUE_ID}_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := ${UNIQUE_ID}_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached
	as_lb2_cache_name=`printf "%s\n" "lb_cv_test_${UNIQUE_ID}" | $as_tr_sh`

	if eval test \${$as_lb2_cache_name+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += ${UNIQUE_ID}_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			eval "$as_lb2_cache_name=unused"
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/percpu_counter_add_batch_exists_pc || mkdir -p ${TEST_DIR}/percpu_counter_add_batch_exists_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/percpu_counter_add_batch_exists_pc/percpu_counter_add_batch_exists_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/percpu_counter.h>

int
main (void)
{

		(void)percpu_counter_add_batch(NULL, 0, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/percpu_counter_add_batch_exists_pc/percpu_counter_add_batch_exists_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/percpu_counter_add_batch_exists_pc || mkdir -p ${TEST_DIR}/percpu_counter_add_batch_exists_pc

	file=${TEST_DIR}/percpu_counter_add_batch_exists_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/percpu_counter_add_batch_exists_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/percpu_counter_add_batch_exists_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := percpu_counter_add_batch_exists_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_percpu_counter_add_batch_exists+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += percpu_counter_add_batch_exists_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_percpu_counter_add_batch_exists=unused
		fi

fi






	# 4.12


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/current_time_pc || mkdir -p ${TEST_DIR}/current_time_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/current_time_pc/current_time_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>

int
main (void)
{

		struct iattr attr;

		attr.ia_atime = current_time(NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/current_time_pc/current_time_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/current_time_pc || mkdir -p ${TEST_DIR}/current_time_pc

	file=${TEST_DIR}/current_time_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/current_time_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/current_time_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := current_time_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_current_time+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += current_time_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_current_time=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/super_setup_bdi_name_pc || mkdir -p ${TEST_DIR}/super_setup_bdi_name_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/super_setup_bdi_name_pc/super_setup_bdi_name_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>

int
main (void)
{

		super_setup_bdi_name(NULL, "lustre");

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/super_setup_bdi_name_pc/super_setup_bdi_name_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/super_setup_bdi_name_pc || mkdir -p ${TEST_DIR}/super_setup_bdi_name_pc

	file=${TEST_DIR}/super_setup_bdi_name_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/super_setup_bdi_name_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/super_setup_bdi_name_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := super_setup_bdi_name_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_super_setup_bdi_name+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += super_setup_bdi_name_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_super_setup_bdi_name=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/bi_status_pc || mkdir -p ${TEST_DIR}/bi_status_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/bi_status_pc/bi_status_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/blk_types.h>

int
main (void)
{

		((struct bio *)0)->bi_status = 0;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/bi_status_pc/bi_status_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/bi_status_pc || mkdir -p ${TEST_DIR}/bi_status_pc

	file=${TEST_DIR}/bi_status_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/bi_status_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/bi_status_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := bi_status_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_bi_status+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += bi_status_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_bi_status=unused
		fi

fi






	# 4.13


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/get_inode_usage_pc || mkdir -p ${TEST_DIR}/get_inode_usage_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/get_inode_usage_pc/get_inode_usage_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		struct inode;
		#include <linux/quota.h>

int
main (void)
{

		struct dquot_operations ops = { };

		ops.get_inode_usage(NULL, NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/get_inode_usage_pc/get_inode_usage_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/get_inode_usage_pc || mkdir -p ${TEST_DIR}/get_inode_usage_pc

	file=${TEST_DIR}/get_inode_usage_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/get_inode_usage_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/get_inode_usage_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := get_inode_usage_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_get_inode_usage+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += get_inode_usage_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_get_inode_usage=unused
		fi

fi






	# 4.14


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/pagevec_init_pc || mkdir -p ${TEST_DIR}/pagevec_init_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/pagevec_init_pc/pagevec_init_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/pagevec.h>

int
main (void)
{

		pagevec_init(NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/pagevec_init_pc/pagevec_init_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/pagevec_init_pc || mkdir -p ${TEST_DIR}/pagevec_init_pc

	file=${TEST_DIR}/pagevec_init_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/pagevec_init_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/pagevec_init_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := pagevec_init_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_pagevec_init+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += pagevec_init_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_pagevec_init=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/bi_bdev_pc || mkdir -p ${TEST_DIR}/bi_bdev_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/bi_bdev_pc/bi_bdev_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/bio.h>

int
main (void)
{

		((struct bio *)0)->bi_bdev = NULL;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/bi_bdev_pc/bi_bdev_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/bi_bdev_pc || mkdir -p ${TEST_DIR}/bi_bdev_pc

	file=${TEST_DIR}/bi_bdev_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/bi_bdev_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/bi_bdev_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := bi_bdev_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_bi_bdev+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += bi_bdev_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_bi_bdev=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/itree_cached_pc || mkdir -p ${TEST_DIR}/itree_cached_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/itree_cached_pc/itree_cached_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/interval_tree_generic.h>
		struct foo { struct rb_node rb; int last; int a,b;};
		#define START(n) ((n)->a)
		#define LAST(n) ((n)->b)
		struct rb_root_cached tree;
		/* forward declare functions created by INTERVAL_TREE_DEFINE */
		void ftree_insert(struct foo *, struct rb_root_cached *);
		void ftree_remove(struct foo *, struct rb_root_cached *);
		struct foo *ftree_iter_first(struct rb_root_cached *, int, int);
		struct foo *ftree_iter_next(struct foo *, int, int);
		INTERVAL_TREE_DEFINE(struct foo, rb, int, last,
			START, LAST, , ftree);

int
main (void)
{

		ftree_insert(NULL, &tree);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/itree_cached_pc/itree_cached_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/itree_cached_pc || mkdir -p ${TEST_DIR}/itree_cached_pc

	file=${TEST_DIR}/itree_cached_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/itree_cached_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/itree_cached_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := itree_cached_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_itree_cached+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += itree_cached_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_itree_cached=unused
		fi

fi






	# 4.17


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/vm_fault_t_pc || mkdir -p ${TEST_DIR}/vm_fault_t_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/vm_fault_t_pc/vm_fault_t_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/mm_types.h>

int
main (void)
{

		vm_fault_t x = VM_FAULT_SIGBUS;
		(void)x

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/vm_fault_t_pc/vm_fault_t_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/vm_fault_t_pc || mkdir -p ${TEST_DIR}/vm_fault_t_pc

	file=${TEST_DIR}/vm_fault_t_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/vm_fault_t_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/vm_fault_t_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := vm_fault_t_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_vm_fault_t+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += vm_fault_t_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_vm_fault_t=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/VM_FAULT_RETRY_pc || mkdir -p ${TEST_DIR}/VM_FAULT_RETRY_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/VM_FAULT_RETRY_pc/VM_FAULT_RETRY_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/mm.h>

int
main (void)
{

		#ifndef VM_FAULT_RETRY
			vm_fault_t x;
			x = VM_FAULT_RETRY;
		#endif

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/VM_FAULT_RETRY_pc/VM_FAULT_RETRY_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/VM_FAULT_RETRY_pc || mkdir -p ${TEST_DIR}/VM_FAULT_RETRY_pc

	file=${TEST_DIR}/VM_FAULT_RETRY_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/VM_FAULT_RETRY_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/VM_FAULT_RETRY_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := VM_FAULT_RETRY_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_VM_FAULT_RETRY+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += VM_FAULT_RETRY_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_VM_FAULT_RETRY=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/i_pages_pc || mkdir -p ${TEST_DIR}/i_pages_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/i_pages_pc/i_pages_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>

int
main (void)
{

		struct address_space mapping = {};
		void *i_pages;

		i_pages = &mapping.i_pages;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/i_pages_pc/i_pages_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/i_pages_pc || mkdir -p ${TEST_DIR}/i_pages_pc

	file=${TEST_DIR}/i_pages_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/i_pages_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/i_pages_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := i_pages_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_i_pages+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += i_pages_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_i_pages=unused
		fi

fi






	# 4.18


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/inode_timespec64_pc || mkdir -p ${TEST_DIR}/inode_timespec64_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/inode_timespec64_pc/inode_timespec64_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>

int
main (void)
{

		struct inode *inode = NULL;
		struct timespec64 ts = {0, 1};

		inode->i_atime = ts;
		(void)inode;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/inode_timespec64_pc/inode_timespec64_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/inode_timespec64_pc || mkdir -p ${TEST_DIR}/inode_timespec64_pc

	file=${TEST_DIR}/inode_timespec64_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/inode_timespec64_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/inode_timespec64_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := inode_timespec64_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_inode_timespec64+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += inode_timespec64_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_inode_timespec64=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/alloc_file_pseudo_pc || mkdir -p ${TEST_DIR}/alloc_file_pseudo_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/alloc_file_pseudo_pc/alloc_file_pseudo_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/file.h>

int
main (void)
{

		struct file *file;
		file = alloc_file_pseudo(NULL, NULL, "[test]",
					 00000002, NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/alloc_file_pseudo_pc/alloc_file_pseudo_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/alloc_file_pseudo_pc || mkdir -p ${TEST_DIR}/alloc_file_pseudo_pc

	file=${TEST_DIR}/alloc_file_pseudo_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/alloc_file_pseudo_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/alloc_file_pseudo_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := alloc_file_pseudo_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_alloc_file_pseudo+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += alloc_file_pseudo_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_alloc_file_pseudo=unused
		fi

fi






	# 4.20


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/radix_tree_tag_set_pc || mkdir -p ${TEST_DIR}/radix_tree_tag_set_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/radix_tree_tag_set_pc/radix_tree_tag_set_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>
		#include <linux/radix-tree.h>

int
main (void)
{

		radix_tree_tag_set(NULL, 0, PAGECACHE_TAG_DIRTY);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/radix_tree_tag_set_pc/radix_tree_tag_set_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/radix_tree_tag_set_pc || mkdir -p ${TEST_DIR}/radix_tree_tag_set_pc

	file=${TEST_DIR}/radix_tree_tag_set_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/radix_tree_tag_set_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/radix_tree_tag_set_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := radix_tree_tag_set_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_radix_tree_tag_set+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += radix_tree_tag_set_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_radix_tree_tag_set=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/uapi_linux_mount_pc || mkdir -p ${TEST_DIR}/uapi_linux_mount_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/uapi_linux_mount_pc/uapi_linux_mount_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <uapi/linux/mount.h>

int
main (void)
{

		int x = MS_RDONLY;
		(void)x;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/uapi_linux_mount_pc/uapi_linux_mount_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/uapi_linux_mount_pc || mkdir -p ${TEST_DIR}/uapi_linux_mount_pc

	file=${TEST_DIR}/uapi_linux_mount_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/uapi_linux_mount_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/uapi_linux_mount_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := uapi_linux_mount_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_uapi_linux_mount+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += uapi_linux_mount_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_uapi_linux_mount=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/hash_lock_isa_spinlock_t_pc || mkdir -p ${TEST_DIR}/hash_lock_isa_spinlock_t_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/hash_lock_isa_spinlock_t_pc/hash_lock_isa_spinlock_t_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/sunrpc/cache.h>

int
main (void)
{

		spinlock_t *lock = &(((struct cache_detail *)0)->hash_lock);
		spin_lock(lock);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/hash_lock_isa_spinlock_t_pc/hash_lock_isa_spinlock_t_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/hash_lock_isa_spinlock_t_pc || mkdir -p ${TEST_DIR}/hash_lock_isa_spinlock_t_pc

	file=${TEST_DIR}/hash_lock_isa_spinlock_t_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/hash_lock_isa_spinlock_t_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/hash_lock_isa_spinlock_t_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := hash_lock_isa_spinlock_t_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_hash_lock_isa_spinlock_t+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += hash_lock_isa_spinlock_t_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_hash_lock_isa_spinlock_t=unused
		fi

fi






	# 5.0


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/genl_family_has_resv_start_op_pc || mkdir -p ${TEST_DIR}/genl_family_has_resv_start_op_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/genl_family_has_resv_start_op_pc/genl_family_has_resv_start_op_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <net/genetlink.h>

int
main (void)
{

		static const struct genl_family family = {
			.resv_start_op = 42,
		};
		(void)family;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/genl_family_has_resv_start_op_pc/genl_family_has_resv_start_op_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/genl_family_has_resv_start_op_pc || mkdir -p ${TEST_DIR}/genl_family_has_resv_start_op_pc

	file=${TEST_DIR}/genl_family_has_resv_start_op_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/genl_family_has_resv_start_op_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/genl_family_has_resv_start_op_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := genl_family_has_resv_start_op_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_genl_family_has_resv_start_op+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += genl_family_has_resv_start_op_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_genl_family_has_resv_start_op=unused
		fi

fi






	# 5.1


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/struct_bvec_iter_all_pc || mkdir -p ${TEST_DIR}/struct_bvec_iter_all_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/struct_bvec_iter_all_pc/struct_bvec_iter_all_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/bvec.h>

int
main (void)
{

		struct bvec_iter_all iter;
		(void)iter;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/struct_bvec_iter_all_pc/struct_bvec_iter_all_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/struct_bvec_iter_all_pc || mkdir -p ${TEST_DIR}/struct_bvec_iter_all_pc

	file=${TEST_DIR}/struct_bvec_iter_all_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/struct_bvec_iter_all_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/struct_bvec_iter_all_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := struct_bvec_iter_all_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_struct_bvec_iter_all+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += struct_bvec_iter_all_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_struct_bvec_iter_all=unused
		fi

fi






	# 5.2


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/keyring_search_4args_pc || mkdir -p ${TEST_DIR}/keyring_search_4args_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/keyring_search_4args_pc/keyring_search_4args_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/key.h>

int
main (void)
{

		key_ref_t keyring;
		keyring_search(keyring, NULL, NULL, false);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/keyring_search_4args_pc/keyring_search_4args_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/keyring_search_4args_pc || mkdir -p ${TEST_DIR}/keyring_search_4args_pc

	file=${TEST_DIR}/keyring_search_4args_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/keyring_search_4args_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/keyring_search_4args_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := keyring_search_4args_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_keyring_search_4args+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += keyring_search_4args_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_keyring_search_4args=unused
		fi

fi






	# 5.3


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/bye_bio_bi_phys_segments_pc || mkdir -p ${TEST_DIR}/bye_bio_bi_phys_segments_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/bye_bio_bi_phys_segments_pc/bye_bio_bi_phys_segments_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/bio.h>

int
main (void)
{

		struct bio *bio = NULL;
		bio->bi_phys_segments++;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/bye_bio_bi_phys_segments_pc/bye_bio_bi_phys_segments_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/bye_bio_bi_phys_segments_pc || mkdir -p ${TEST_DIR}/bye_bio_bi_phys_segments_pc

	file=${TEST_DIR}/bye_bio_bi_phys_segments_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/bye_bio_bi_phys_segments_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/bye_bio_bi_phys_segments_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := bye_bio_bi_phys_segments_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_bye_bio_bi_phys_segments+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += bye_bio_bi_phys_segments_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_bye_bio_bi_phys_segments=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/lock_manager_ops_lm_compare_owner_pc || mkdir -p ${TEST_DIR}/lock_manager_ops_lm_compare_owner_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/lock_manager_ops_lm_compare_owner_pc/lock_manager_ops_lm_compare_owner_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>

int
main (void)
{

		struct lock_manager_operations lm_ops;
		lm_ops.lm_compare_owner = NULL;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/lock_manager_ops_lm_compare_owner_pc/lock_manager_ops_lm_compare_owner_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/lock_manager_ops_lm_compare_owner_pc || mkdir -p ${TEST_DIR}/lock_manager_ops_lm_compare_owner_pc

	file=${TEST_DIR}/lock_manager_ops_lm_compare_owner_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/lock_manager_ops_lm_compare_owner_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/lock_manager_ops_lm_compare_owner_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := lock_manager_ops_lm_compare_owner_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_lock_manager_ops_lm_compare_owner+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += lock_manager_ops_lm_compare_owner_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_lock_manager_ops_lm_compare_owner=unused
		fi

fi






	# 5.5


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/fscrypt_digested_name_pc || mkdir -p ${TEST_DIR}/fscrypt_digested_name_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/fscrypt_digested_name_pc/fscrypt_digested_name_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fscrypt.h>

int
main (void)
{

		struct fscrypt_digested_name fname;

		fname.hash = 0;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/fscrypt_digested_name_pc/fscrypt_digested_name_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/fscrypt_digested_name_pc || mkdir -p ${TEST_DIR}/fscrypt_digested_name_pc

	file=${TEST_DIR}/fscrypt_digested_name_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/fscrypt_digested_name_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/fscrypt_digested_name_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := fscrypt_digested_name_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_fscrypt_digested_name+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += fscrypt_digested_name_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_fscrypt_digested_name=unused
		fi

fi






	# 5.7


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/fscrypt_dummy_context_enabled_pc || mkdir -p ${TEST_DIR}/fscrypt_dummy_context_enabled_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/fscrypt_dummy_context_enabled_pc/fscrypt_dummy_context_enabled_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fscrypt.h>

int
main (void)
{

		fscrypt_dummy_context_enabled(NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/fscrypt_dummy_context_enabled_pc/fscrypt_dummy_context_enabled_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/fscrypt_dummy_context_enabled_pc || mkdir -p ${TEST_DIR}/fscrypt_dummy_context_enabled_pc

	file=${TEST_DIR}/fscrypt_dummy_context_enabled_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/fscrypt_dummy_context_enabled_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/fscrypt_dummy_context_enabled_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := fscrypt_dummy_context_enabled_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_fscrypt_dummy_context_enabled+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += fscrypt_dummy_context_enabled_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_fscrypt_dummy_context_enabled=unused
		fi

fi






	# 5.8


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/kthread_use_mm_pc || mkdir -p ${TEST_DIR}/kthread_use_mm_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/kthread_use_mm_pc/kthread_use_mm_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/kthread.h>

int
main (void)
{

		kthread_use_mm(NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/kthread_use_mm_pc/kthread_use_mm_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/kthread_use_mm_pc || mkdir -p ${TEST_DIR}/kthread_use_mm_pc

	file=${TEST_DIR}/kthread_use_mm_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/kthread_use_mm_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/kthread_use_mm_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := kthread_use_mm_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_kthread_use_mm+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += kthread_use_mm_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_kthread_use_mm=unused
		fi

fi






	# 5.9


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/fscrypt_fname_alloc_buffer_pc || mkdir -p ${TEST_DIR}/fscrypt_fname_alloc_buffer_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/fscrypt_fname_alloc_buffer_pc/fscrypt_fname_alloc_buffer_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fscrypt.h>

int
main (void)
{

		fscrypt_fname_alloc_buffer(0, NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/fscrypt_fname_alloc_buffer_pc/fscrypt_fname_alloc_buffer_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/fscrypt_fname_alloc_buffer_pc || mkdir -p ${TEST_DIR}/fscrypt_fname_alloc_buffer_pc

	file=${TEST_DIR}/fscrypt_fname_alloc_buffer_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/fscrypt_fname_alloc_buffer_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/fscrypt_fname_alloc_buffer_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := fscrypt_fname_alloc_buffer_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_fscrypt_fname_alloc_buffer+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += fscrypt_fname_alloc_buffer_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_fscrypt_fname_alloc_buffer=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/fscrypt_set_context_pc || mkdir -p ${TEST_DIR}/fscrypt_set_context_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/fscrypt_set_context_pc/fscrypt_set_context_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fscrypt.h>

int
main (void)
{

		fscrypt_set_context(NULL, NULL);
		fscrypt_prepare_new_inode(NULL, NULL, NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/fscrypt_set_context_pc/fscrypt_set_context_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/fscrypt_set_context_pc || mkdir -p ${TEST_DIR}/fscrypt_set_context_pc

	file=${TEST_DIR}/fscrypt_set_context_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/fscrypt_set_context_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/fscrypt_set_context_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := fscrypt_set_context_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_fscrypt_set_context+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += fscrypt_set_context_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_fscrypt_set_context=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/fname_is_nokey_name_pc || mkdir -p ${TEST_DIR}/fname_is_nokey_name_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/fname_is_nokey_name_pc/fname_is_nokey_name_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fscrypt.h>

int
main (void)
{

		struct fscrypt_name fname;

		fname.is_nokey_name = true;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/fname_is_nokey_name_pc/fname_is_nokey_name_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/fname_is_nokey_name_pc || mkdir -p ${TEST_DIR}/fname_is_nokey_name_pc

	file=${TEST_DIR}/fname_is_nokey_name_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/fname_is_nokey_name_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/fname_is_nokey_name_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := fname_is_nokey_name_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_fname_is_nokey_name+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += fname_is_nokey_name_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_fname_is_nokey_name=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/fscrypt_set_test_dummy_encryption_pc || mkdir -p ${TEST_DIR}/fscrypt_set_test_dummy_encryption_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/fscrypt_set_test_dummy_encryption_pc/fscrypt_set_test_dummy_encryption_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fscrypt.h>

int
main (void)
{

		char *arg = "arg";
		fscrypt_set_test_dummy_encryption(NULL, arg, NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/fscrypt_set_test_dummy_encryption_pc/fscrypt_set_test_dummy_encryption_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/fscrypt_set_test_dummy_encryption_pc || mkdir -p ${TEST_DIR}/fscrypt_set_test_dummy_encryption_pc

	file=${TEST_DIR}/fscrypt_set_test_dummy_encryption_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/fscrypt_set_test_dummy_encryption_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/fscrypt_set_test_dummy_encryption_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := fscrypt_set_test_dummy_encryption_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_fscrypt_set_test_dummy_encryption+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += fscrypt_set_test_dummy_encryption_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_fscrypt_set_test_dummy_encryption=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/fscrypt_free_dummy_policy_pc || mkdir -p ${TEST_DIR}/fscrypt_free_dummy_policy_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/fscrypt_free_dummy_policy_pc/fscrypt_free_dummy_policy_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fscrypt.h>

int
main (void)
{

		fscrypt_free_dummy_policy(NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/fscrypt_free_dummy_policy_pc/fscrypt_free_dummy_policy_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/fscrypt_free_dummy_policy_pc || mkdir -p ${TEST_DIR}/fscrypt_free_dummy_policy_pc

	file=${TEST_DIR}/fscrypt_free_dummy_policy_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/fscrypt_free_dummy_policy_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/fscrypt_free_dummy_policy_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := fscrypt_free_dummy_policy_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_fscrypt_free_dummy_policy+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += fscrypt_free_dummy_policy_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_fscrypt_free_dummy_policy=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/iter_file_splice_write_pc || mkdir -p ${TEST_DIR}/iter_file_splice_write_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/iter_file_splice_write_pc/iter_file_splice_write_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>

int
main (void)
{

		(void)iter_file_splice_write(NULL, NULL, NULL, 1, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/iter_file_splice_write_pc/iter_file_splice_write_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/iter_file_splice_write_pc || mkdir -p ${TEST_DIR}/iter_file_splice_write_pc

	file=${TEST_DIR}/iter_file_splice_write_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/iter_file_splice_write_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/iter_file_splice_write_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := iter_file_splice_write_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_iter_file_splice_write+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += iter_file_splice_write_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_iter_file_splice_write=unused
		fi

fi






	# 5.10


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/bdi_has_debug_stats_pc || mkdir -p ${TEST_DIR}/bdi_has_debug_stats_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/bdi_has_debug_stats_pc/bdi_has_debug_stats_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/backing-dev-defs.h>

int
main (void)
{

		struct backing_dev_info info;

		info.debug_stats = NULL;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/bdi_has_debug_stats_pc/bdi_has_debug_stats_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/bdi_has_debug_stats_pc || mkdir -p ${TEST_DIR}/bdi_has_debug_stats_pc

	file=${TEST_DIR}/bdi_has_debug_stats_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/bdi_has_debug_stats_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/bdi_has_debug_stats_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := bdi_has_debug_stats_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_bdi_has_debug_stats+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += bdi_has_debug_stats_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_bdi_has_debug_stats=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/fscrypt_is_no_key_name_pc || mkdir -p ${TEST_DIR}/fscrypt_is_no_key_name_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/fscrypt_is_no_key_name_pc/fscrypt_is_no_key_name_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fscrypt.h>

int
main (void)
{

		fscrypt_is_nokey_name(NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/fscrypt_is_no_key_name_pc/fscrypt_is_no_key_name_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/fscrypt_is_no_key_name_pc || mkdir -p ${TEST_DIR}/fscrypt_is_no_key_name_pc

	file=${TEST_DIR}/fscrypt_is_no_key_name_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/fscrypt_is_no_key_name_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/fscrypt_is_no_key_name_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := fscrypt_is_no_key_name_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_fscrypt_is_no_key_name+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += fscrypt_is_no_key_name_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_fscrypt_is_no_key_name=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/fscrypt_prepare_readdir_pc || mkdir -p ${TEST_DIR}/fscrypt_prepare_readdir_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/fscrypt_prepare_readdir_pc/fscrypt_prepare_readdir_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fscrypt.h>

int
main (void)
{

		fscrypt_prepare_readdir(NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/fscrypt_prepare_readdir_pc/fscrypt_prepare_readdir_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/fscrypt_prepare_readdir_pc || mkdir -p ${TEST_DIR}/fscrypt_prepare_readdir_pc

	file=${TEST_DIR}/fscrypt_prepare_readdir_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/fscrypt_prepare_readdir_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/fscrypt_prepare_readdir_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := fscrypt_prepare_readdir_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_fscrypt_prepare_readdir+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += fscrypt_prepare_readdir_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_fscrypt_prepare_readdir=unused
		fi

fi






	# 5.11


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/bio_set_dev_pc || mkdir -p ${TEST_DIR}/bio_set_dev_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/bio_set_dev_pc/bio_set_dev_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/bio.h>

int
main (void)
{

		struct bio *bio = NULL;
		struct block_device *bdev = NULL;

		bio_set_dev(bio, bdev);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/bio_set_dev_pc/bio_set_dev_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/bio_set_dev_pc || mkdir -p ${TEST_DIR}/bio_set_dev_pc

	file=${TEST_DIR}/bio_set_dev_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/bio_set_dev_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/bio_set_dev_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := bio_set_dev_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_bio_set_dev+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += bio_set_dev_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_bio_set_dev=unused
		fi

fi






	# 5.12


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/inode_ops_has_user_namespace_argument_pc || mkdir -p ${TEST_DIR}/inode_ops_has_user_namespace_argument_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/inode_ops_has_user_namespace_argument_pc/inode_ops_has_user_namespace_argument_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>

int
main (void)
{

		struct inode_operations *iops = NULL;
		struct user_namespace *user_ns = NULL;

		iops->getattr(user_ns, NULL, NULL, 0, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/inode_ops_has_user_namespace_argument_pc/inode_ops_has_user_namespace_argument_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/inode_ops_has_user_namespace_argument_pc || mkdir -p ${TEST_DIR}/inode_ops_has_user_namespace_argument_pc

	file=${TEST_DIR}/inode_ops_has_user_namespace_argument_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/inode_ops_has_user_namespace_argument_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/inode_ops_has_user_namespace_argument_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := inode_ops_has_user_namespace_argument_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_inode_ops_has_user_namespace_argument+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += inode_ops_has_user_namespace_argument_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_inode_ops_has_user_namespace_argument=unused
		fi

fi






	# 5.13


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/copy_page_from_iter_atomic_pc || mkdir -p ${TEST_DIR}/copy_page_from_iter_atomic_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/copy_page_from_iter_atomic_pc/copy_page_from_iter_atomic_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/uio.h>

int
main (void)
{

		copy_page_from_iter_atomic(NULL, 0, 0, NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/copy_page_from_iter_atomic_pc/copy_page_from_iter_atomic_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/copy_page_from_iter_atomic_pc || mkdir -p ${TEST_DIR}/copy_page_from_iter_atomic_pc

	file=${TEST_DIR}/copy_page_from_iter_atomic_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/copy_page_from_iter_atomic_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/copy_page_from_iter_atomic_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := copy_page_from_iter_atomic_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_copy_page_from_iter_atomic+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += copy_page_from_iter_atomic_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_copy_page_from_iter_atomic=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/fileattr_set_pc || mkdir -p ${TEST_DIR}/fileattr_set_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/fileattr_set_pc/fileattr_set_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>

int
main (void)
{

		struct inode_operations *iops = NULL;
		iops->fileattr_get(NULL, NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/fileattr_set_pc/fileattr_set_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/fileattr_set_pc || mkdir -p ${TEST_DIR}/fileattr_set_pc

	file=${TEST_DIR}/fileattr_set_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/fileattr_set_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/fileattr_set_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := fileattr_set_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_fileattr_set+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += fileattr_set_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_fileattr_set=unused
		fi

fi






	# 5.15


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/get_acl_rcu_argument_pc || mkdir -p ${TEST_DIR}/get_acl_rcu_argument_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/get_acl_rcu_argument_pc/get_acl_rcu_argument_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>

int
main (void)
{

		struct inode_operations *iops = NULL;

		iops->get_acl((struct inode *)NULL, 0, false);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/get_acl_rcu_argument_pc/get_acl_rcu_argument_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/get_acl_rcu_argument_pc || mkdir -p ${TEST_DIR}/get_acl_rcu_argument_pc

	file=${TEST_DIR}/get_acl_rcu_argument_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/get_acl_rcu_argument_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/get_acl_rcu_argument_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := get_acl_rcu_argument_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_get_acl_rcu_argument+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += get_acl_rcu_argument_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_get_acl_rcu_argument=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/fault_in_iov_iter_readable_pc || mkdir -p ${TEST_DIR}/fault_in_iov_iter_readable_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/fault_in_iov_iter_readable_pc/fault_in_iov_iter_readable_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/uio.h>

int
main (void)
{

		fault_in_iov_iter_readable(NULL, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/fault_in_iov_iter_readable_pc/fault_in_iov_iter_readable_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/fault_in_iov_iter_readable_pc || mkdir -p ${TEST_DIR}/fault_in_iov_iter_readable_pc

	file=${TEST_DIR}/fault_in_iov_iter_readable_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/fault_in_iov_iter_readable_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/fault_in_iov_iter_readable_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := fault_in_iov_iter_readable_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_fault_in_iov_iter_readable+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += fault_in_iov_iter_readable_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_fault_in_iov_iter_readable=unused
		fi

fi






	# 5.16


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/security_dentry_init_security_xattr_name_arg_pc || mkdir -p ${TEST_DIR}/security_dentry_init_security_xattr_name_arg_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/security_dentry_init_security_xattr_name_arg_pc/security_dentry_init_security_xattr_name_arg_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/security.h>

int
main (void)
{

		struct dentry *dentry = NULL;
		int mode = 0;
		const struct qstr *name = NULL;
		const char *xattr_name = NULL;
		void **ctx = NULL;
		u32 *ctxlen = 0;
		int rc = security_dentry_init_security(dentry, mode, name, &xattr_name,
						       ctx, ctxlen);
		(void)rc;


  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/security_dentry_init_security_xattr_name_arg_pc/security_dentry_init_security_xattr_name_arg_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/security_dentry_init_security_xattr_name_arg_pc || mkdir -p ${TEST_DIR}/security_dentry_init_security_xattr_name_arg_pc

	file=${TEST_DIR}/security_dentry_init_security_xattr_name_arg_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/security_dentry_init_security_xattr_name_arg_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/security_dentry_init_security_xattr_name_arg_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := security_dentry_init_security_xattr_name_arg_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_security_dentry_init_security_xattr_name_arg+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += security_dentry_init_security_xattr_name_arg_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_security_dentry_init_security_xattr_name_arg=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/folio_memcg_lock_pc || mkdir -p ${TEST_DIR}/folio_memcg_lock_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/folio_memcg_lock_pc/folio_memcg_lock_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/memcontrol.h>

int
main (void)
{

		folio_memcg_lock(NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/folio_memcg_lock_pc/folio_memcg_lock_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/folio_memcg_lock_pc || mkdir -p ${TEST_DIR}/folio_memcg_lock_pc

	file=${TEST_DIR}/folio_memcg_lock_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/folio_memcg_lock_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/folio_memcg_lock_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := folio_memcg_lock_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_folio_memcg_lock+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += folio_memcg_lock_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_folio_memcg_lock=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/kiocb_ki_complete_2args_pc || mkdir -p ${TEST_DIR}/kiocb_ki_complete_2args_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/kiocb_ki_complete_2args_pc/kiocb_ki_complete_2args_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>

		static void complete_fn(struct kiocb *iocb, long ret)
		{
			(void)iocb;
			(void)ret;
		}

int
main (void)
{

		struct kiocb *kio = NULL;

		kio->ki_complete = complete_fn;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/kiocb_ki_complete_2args_pc/kiocb_ki_complete_2args_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/kiocb_ki_complete_2args_pc || mkdir -p ${TEST_DIR}/kiocb_ki_complete_2args_pc

	file=${TEST_DIR}/kiocb_ki_complete_2args_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/kiocb_ki_complete_2args_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/kiocb_ki_complete_2args_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := kiocb_ki_complete_2args_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_kiocb_ki_complete_2args+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += kiocb_ki_complete_2args_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_kiocb_ki_complete_2args=unused
		fi

fi






	# 5.17


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/address_spaace_operaions_invalidate_folio_pc || mkdir -p ${TEST_DIR}/address_spaace_operaions_invalidate_folio_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/address_spaace_operaions_invalidate_folio_pc/address_spaace_operaions_invalidate_folio_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>

int
main (void)
{

		struct address_space_operations *aops = NULL;
		struct folio *folio = NULL;
		aops->invalidate_folio(folio, 0, PAGE_SIZE);


  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/address_spaace_operaions_invalidate_folio_pc/address_spaace_operaions_invalidate_folio_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/address_spaace_operaions_invalidate_folio_pc || mkdir -p ${TEST_DIR}/address_spaace_operaions_invalidate_folio_pc

	file=${TEST_DIR}/address_spaace_operaions_invalidate_folio_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/address_spaace_operaions_invalidate_folio_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/address_spaace_operaions_invalidate_folio_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := address_spaace_operaions_invalidate_folio_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_address_spaace_operaions_invalidate_folio+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += address_spaace_operaions_invalidate_folio_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_address_spaace_operaions_invalidate_folio=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/address_spaace_operaions_dirty_folio_pc || mkdir -p ${TEST_DIR}/address_spaace_operaions_dirty_folio_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/address_spaace_operaions_dirty_folio_pc/address_spaace_operaions_dirty_folio_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>

int
main (void)
{

		struct address_space_operations *aops = NULL;
		struct address_space *mapping = NULL;
		struct folio *folio = NULL;
		bool dirty = aops->dirty_folio(mapping, folio);
		(void) dirty;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/address_spaace_operaions_dirty_folio_pc/address_spaace_operaions_dirty_folio_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/address_spaace_operaions_dirty_folio_pc || mkdir -p ${TEST_DIR}/address_spaace_operaions_dirty_folio_pc

	file=${TEST_DIR}/address_spaace_operaions_dirty_folio_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/address_spaace_operaions_dirty_folio_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/address_spaace_operaions_dirty_folio_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := address_spaace_operaions_dirty_folio_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_address_spaace_operaions_dirty_folio+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += address_spaace_operaions_dirty_folio_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_address_spaace_operaions_dirty_folio=unused
		fi

fi






	# 5.18


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/alloc_inode_sb_pc || mkdir -p ${TEST_DIR}/alloc_inode_sb_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/alloc_inode_sb_pc/alloc_inode_sb_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>

int
main (void)
{

		struct super_block *sb = NULL;
		struct kmem_cache *cache = NULL;

		(void)alloc_inode_sb(sb, cache, GFP_NOFS);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/alloc_inode_sb_pc/alloc_inode_sb_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/alloc_inode_sb_pc || mkdir -p ${TEST_DIR}/alloc_inode_sb_pc

	file=${TEST_DIR}/alloc_inode_sb_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/alloc_inode_sb_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/alloc_inode_sb_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := alloc_inode_sb_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_alloc_inode_sb+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += alloc_inode_sb_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_alloc_inode_sb=unused
		fi

fi






	# 5.19


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/grab_cache_page_write_begin_with_flags_pc || mkdir -p ${TEST_DIR}/grab_cache_page_write_begin_with_flags_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/grab_cache_page_write_begin_with_flags_pc/grab_cache_page_write_begin_with_flags_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/pagemap.h>

int
main (void)
{

		struct address_space *mapping = NULL;
		(void)grab_cache_page_write_begin(mapping, 0, 1);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/grab_cache_page_write_begin_with_flags_pc/grab_cache_page_write_begin_with_flags_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/grab_cache_page_write_begin_with_flags_pc || mkdir -p ${TEST_DIR}/grab_cache_page_write_begin_with_flags_pc

	file=${TEST_DIR}/grab_cache_page_write_begin_with_flags_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/grab_cache_page_write_begin_with_flags_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/grab_cache_page_write_begin_with_flags_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := grab_cache_page_write_begin_with_flags_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_grab_cache_page_write_begin_with_flags+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += grab_cache_page_write_begin_with_flags_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_grab_cache_page_write_begin_with_flags=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/address_space_operations_read_folio_pc || mkdir -p ${TEST_DIR}/address_space_operations_read_folio_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/address_space_operations_read_folio_pc/address_space_operations_read_folio_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>

int
main (void)
{

		struct address_space_operations *aops = NULL;
		struct file *file = NULL;
		struct folio *folio = NULL;
		int err = aops->read_folio(file, folio);
		(void)err;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/address_space_operations_read_folio_pc/address_space_operations_read_folio_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/address_space_operations_read_folio_pc || mkdir -p ${TEST_DIR}/address_space_operations_read_folio_pc

	file=${TEST_DIR}/address_space_operations_read_folio_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/address_space_operations_read_folio_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/address_space_operations_read_folio_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := address_space_operations_read_folio_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_address_space_operations_read_folio+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += address_space_operations_read_folio_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_address_space_operations_read_folio=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/read_cache_page_filler_with_file_pc || mkdir -p ${TEST_DIR}/read_cache_page_filler_with_file_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/read_cache_page_filler_with_file_pc/read_cache_page_filler_with_file_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/pagemap.h>
		static inline int _filler(struct file *file, struct folio *f)
		{
			return 0;
		}

int
main (void)
{

		struct address_space *mapping = NULL;
		struct file *file = NULL;
		struct page *page = read_cache_page(mapping, 0, _filler, file);
		(void)page;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/read_cache_page_filler_with_file_pc/read_cache_page_filler_with_file_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/read_cache_page_filler_with_file_pc || mkdir -p ${TEST_DIR}/read_cache_page_filler_with_file_pc

	file=${TEST_DIR}/read_cache_page_filler_with_file_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/read_cache_page_filler_with_file_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/read_cache_page_filler_with_file_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := read_cache_page_filler_with_file_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_read_cache_page_filler_with_file+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += read_cache_page_filler_with_file_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_read_cache_page_filler_with_file=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/address_space_operations_release_folio_pc || mkdir -p ${TEST_DIR}/address_space_operations_release_folio_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/address_space_operations_release_folio_pc/address_space_operations_release_folio_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>

int
main (void)
{

		struct address_space_operations *aops = NULL;
		struct folio *folio = NULL;
		int err = aops->release_folio(folio, GFP_KERNEL);
		(void)err;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/address_space_operations_release_folio_pc/address_space_operations_release_folio_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/address_space_operations_release_folio_pc || mkdir -p ${TEST_DIR}/address_space_operations_release_folio_pc

	file=${TEST_DIR}/address_space_operations_release_folio_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/address_space_operations_release_folio_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/address_space_operations_release_folio_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := address_space_operations_release_folio_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_address_space_operations_release_folio+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += address_space_operations_release_folio_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_address_space_operations_release_folio=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/lsmcontext_init_pc || mkdir -p ${TEST_DIR}/lsmcontext_init_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/lsmcontext_init_pc/lsmcontext_init_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/security.h>

int
main (void)
{

		struct lsmcontext ctx = {};

		lsmcontext_init(&ctx, "", 0, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/lsmcontext_init_pc/lsmcontext_init_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/lsmcontext_init_pc || mkdir -p ${TEST_DIR}/lsmcontext_init_pc

	file=${TEST_DIR}/lsmcontext_init_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/lsmcontext_init_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/lsmcontext_init_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := lsmcontext_init_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_lsmcontext_init+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += lsmcontext_init_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_lsmcontext_init=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/security_dentry_init_security_with_ctx_pc || mkdir -p ${TEST_DIR}/security_dentry_init_security_with_ctx_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/security_dentry_init_security_with_ctx_pc/security_dentry_init_security_with_ctx_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/security.h>

int
main (void)
{

		struct dentry *dentry = NULL;
		const struct qstr *name = NULL;
		struct lsmcontext *ctx = NULL;
		const char *xattr_name = "";

		(void)security_dentry_init_security(dentry, 0, name,
						    &xattr_name, ctx);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/security_dentry_init_security_with_ctx_pc/security_dentry_init_security_with_ctx_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/security_dentry_init_security_with_ctx_pc || mkdir -p ${TEST_DIR}/security_dentry_init_security_with_ctx_pc

	file=${TEST_DIR}/security_dentry_init_security_with_ctx_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/security_dentry_init_security_with_ctx_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/security_dentry_init_security_with_ctx_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := security_dentry_init_security_with_ctx_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_security_dentry_init_security_with_ctx+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += security_dentry_init_security_with_ctx_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_security_dentry_init_security_with_ctx=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/filemap_get_folios_pc || mkdir -p ${TEST_DIR}/filemap_get_folios_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/filemap_get_folios_pc/filemap_get_folios_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/pagemap.h>

int
main (void)
{

		struct address_space *m = NULL;
		pgoff_t start = 0;
		struct folio_batch *fbatch = NULL;
		(void)filemap_get_folios(m, &start, ULONG_MAX, fbatch);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/filemap_get_folios_pc/filemap_get_folios_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/filemap_get_folios_pc || mkdir -p ${TEST_DIR}/filemap_get_folios_pc

	file=${TEST_DIR}/filemap_get_folios_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/filemap_get_folios_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/filemap_get_folios_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := filemap_get_folios_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_filemap_get_folios+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += filemap_get_folios_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_filemap_get_folios=unused
		fi

fi






	# 6.0


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/no_llseek_pc || mkdir -p ${TEST_DIR}/no_llseek_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/no_llseek_pc/no_llseek_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>

int
main (void)
{

		static const struct file_operations fops = {
			.llseek = &no_llseek,
		};
		(void)fops;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/no_llseek_pc/no_llseek_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/no_llseek_pc || mkdir -p ${TEST_DIR}/no_llseek_pc

	file=${TEST_DIR}/no_llseek_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/no_llseek_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/no_llseek_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := no_llseek_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_no_llseek+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += no_llseek_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_no_llseek=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/dquot_transfer_pc || mkdir -p ${TEST_DIR}/dquot_transfer_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/dquot_transfer_pc/dquot_transfer_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/quotaops.h>

int
main (void)
{

		struct user_namespace *userns = NULL;
		struct inode *inode = NULL;
		struct iattr *iattr = NULL;
		int err __attribute__ ((unused));

		err = dquot_transfer(userns, inode, iattr);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/dquot_transfer_pc/dquot_transfer_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/dquot_transfer_pc || mkdir -p ${TEST_DIR}/dquot_transfer_pc

	file=${TEST_DIR}/dquot_transfer_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/dquot_transfer_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/dquot_transfer_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := dquot_transfer_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_dquot_transfer+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += dquot_transfer_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_dquot_transfer=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/address_space_operations_migrate_folio_pc || mkdir -p ${TEST_DIR}/address_space_operations_migrate_folio_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/address_space_operations_migrate_folio_pc/address_space_operations_migrate_folio_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>

int
main (void)
{

		struct address_space_operations *aops = NULL;
		struct address_space *m = NULL;
		struct folio *src = NULL;
		struct folio *dst = NULL;
		int err = aops->migrate_folio(m, dst, src, MIGRATE_ASYNC);
		(void)err;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/address_space_operations_migrate_folio_pc/address_space_operations_migrate_folio_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/address_space_operations_migrate_folio_pc || mkdir -p ${TEST_DIR}/address_space_operations_migrate_folio_pc

	file=${TEST_DIR}/address_space_operations_migrate_folio_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/address_space_operations_migrate_folio_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/address_space_operations_migrate_folio_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := address_space_operations_migrate_folio_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_address_space_operations_migrate_folio+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += address_space_operations_migrate_folio_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_address_space_operations_migrate_folio=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/register_shrinker_format_pc || mkdir -p ${TEST_DIR}/register_shrinker_format_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/register_shrinker_format_pc/register_shrinker_format_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/mm.h>

int
main (void)
{

		if (register_shrinker(NULL, "lustre-%ps", __func__))
			unregister_shrinker(NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/register_shrinker_format_pc/register_shrinker_format_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/register_shrinker_format_pc || mkdir -p ${TEST_DIR}/register_shrinker_format_pc

	file=${TEST_DIR}/register_shrinker_format_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/register_shrinker_format_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/register_shrinker_format_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := register_shrinker_format_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_register_shrinker_format+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += register_shrinker_format_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_register_shrinker_format=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/vfs_setxattr_non_const_value_arg_pc || mkdir -p ${TEST_DIR}/vfs_setxattr_non_const_value_arg_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/vfs_setxattr_non_const_value_arg_pc/vfs_setxattr_non_const_value_arg_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/xattr.h>

int
main (void)
{

		struct dentry *de = NULL;
		const char *name = "an.xattr";
		const void *value = NULL;
		int err = vfs_setxattr(&init_user_ns, de, name, value, 0, 0);
		(void)err;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/vfs_setxattr_non_const_value_arg_pc/vfs_setxattr_non_const_value_arg_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/vfs_setxattr_non_const_value_arg_pc || mkdir -p ${TEST_DIR}/vfs_setxattr_non_const_value_arg_pc

	file=${TEST_DIR}/vfs_setxattr_non_const_value_arg_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/vfs_setxattr_non_const_value_arg_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/vfs_setxattr_non_const_value_arg_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := vfs_setxattr_non_const_value_arg_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_vfs_setxattr_non_const_value_arg+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += vfs_setxattr_non_const_value_arg_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_vfs_setxattr_non_const_value_arg=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/iov_iter_get_pages_alloc2_pc || mkdir -p ${TEST_DIR}/iov_iter_get_pages_alloc2_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/iov_iter_get_pages_alloc2_pc/iov_iter_get_pages_alloc2_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/uio.h>

int
main (void)
{

		struct iov_iter *iter = NULL;
		struct page ***pages = NULL;
		size_t maxsize = 1;
		size_t start;
		size_t result __attribute__ ((unused));
		result = iov_iter_get_pages_alloc2(iter, pages, maxsize, &start);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/iov_iter_get_pages_alloc2_pc/iov_iter_get_pages_alloc2_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/iov_iter_get_pages_alloc2_pc || mkdir -p ${TEST_DIR}/iov_iter_get_pages_alloc2_pc

	file=${TEST_DIR}/iov_iter_get_pages_alloc2_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/iov_iter_get_pages_alloc2_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/iov_iter_get_pages_alloc2_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := iov_iter_get_pages_alloc2_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_iov_iter_get_pages_alloc2+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += iov_iter_get_pages_alloc2_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_iov_iter_get_pages_alloc2=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/user_backed_iter_pc || mkdir -p ${TEST_DIR}/user_backed_iter_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/user_backed_iter_pc/user_backed_iter_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/uio.h>

int
main (void)
{

		struct iov_iter *iter = NULL;
		bool result __attribute__ ((unused));

		result = user_backed_iter(iter);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/user_backed_iter_pc/user_backed_iter_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/user_backed_iter_pc || mkdir -p ${TEST_DIR}/user_backed_iter_pc

	file=${TEST_DIR}/user_backed_iter_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/user_backed_iter_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/user_backed_iter_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := user_backed_iter_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_user_backed_iter+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += user_backed_iter_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_user_backed_iter=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/iov_iter_is_aligned_pc || mkdir -p ${TEST_DIR}/iov_iter_is_aligned_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/iov_iter_is_aligned_pc/iov_iter_is_aligned_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/uio.h>

int
main (void)
{

		struct iov_iter *iter = NULL;
		bool result __attribute__ ((unused));

		result = iov_iter_is_aligned(iter, ~PAGE_MASK, ~PAGE_MASK);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/iov_iter_is_aligned_pc/iov_iter_is_aligned_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/iov_iter_is_aligned_pc || mkdir -p ${TEST_DIR}/iov_iter_is_aligned_pc

	file=${TEST_DIR}/iov_iter_is_aligned_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/iov_iter_is_aligned_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/iov_iter_is_aligned_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := iov_iter_is_aligned_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_iov_iter_is_aligned+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += iov_iter_is_aligned_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_iov_iter_is_aligned=unused
		fi

fi






	# 6.1


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/get_random_u32_and_u64_pc || mkdir -p ${TEST_DIR}/get_random_u32_and_u64_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/get_random_u32_and_u64_pc/get_random_u32_and_u64_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/random.h>

int
main (void)
{

		u32 rand32 = get_random_u32();
		u64 rand64 = get_random_u64();
		(void)rand32;
		(void)rand64;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/get_random_u32_and_u64_pc/get_random_u32_and_u64_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/get_random_u32_and_u64_pc || mkdir -p ${TEST_DIR}/get_random_u32_and_u64_pc

	file=${TEST_DIR}/get_random_u32_and_u64_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/get_random_u32_and_u64_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/get_random_u32_and_u64_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := get_random_u32_and_u64_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_get_random_u32_and_u64+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += get_random_u32_and_u64_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_get_random_u32_and_u64=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/filldir_ctx_return_bool_pc || mkdir -p ${TEST_DIR}/filldir_ctx_return_bool_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/filldir_ctx_return_bool_pc/filldir_ctx_return_bool_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>

int
main (void)
{

		bool filldir(struct dir_context *ctx, const char* name,
			     int i, loff_t off, u64 tmp, unsigned temp)
		{
			return 0;
		}

		struct dir_context ctx = {
			.actor = filldir,
		};

		ctx.actor(NULL, "test", 0, (loff_t) 0, 0, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/filldir_ctx_return_bool_pc/filldir_ctx_return_bool_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/filldir_ctx_return_bool_pc || mkdir -p ${TEST_DIR}/filldir_ctx_return_bool_pc

	file=${TEST_DIR}/filldir_ctx_return_bool_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/filldir_ctx_return_bool_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/filldir_ctx_return_bool_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := filldir_ctx_return_bool_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_filldir_ctx_return_bool+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += filldir_ctx_return_bool_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_filldir_ctx_return_bool=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/filemap_get_folios_contig_pc || mkdir -p ${TEST_DIR}/filemap_get_folios_contig_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/filemap_get_folios_contig_pc/filemap_get_folios_contig_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/pagemap.h>

int
main (void)
{

		struct address_space *m = NULL;
		pgoff_t start = 0;
		struct folio_batch *fbatch = NULL;
		(void)filemap_get_folios_contig(m, &start, ULONG_MAX, fbatch);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/filemap_get_folios_contig_pc/filemap_get_folios_contig_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/filemap_get_folios_contig_pc || mkdir -p ${TEST_DIR}/filemap_get_folios_contig_pc

	file=${TEST_DIR}/filemap_get_folios_contig_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/filemap_get_folios_contig_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/filemap_get_folios_contig_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := filemap_get_folios_contig_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_filemap_get_folios_contig+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += filemap_get_folios_contig_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_filemap_get_folios_contig=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/inode_ops_get_inode_acl_pc || mkdir -p ${TEST_DIR}/inode_ops_get_inode_acl_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/inode_ops_get_inode_acl_pc/inode_ops_get_inode_acl_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>

int
main (void)
{

		struct inode_operations iop;
		iop.get_inode_acl = NULL;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/inode_ops_get_inode_acl_pc/inode_ops_get_inode_acl_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/inode_ops_get_inode_acl_pc || mkdir -p ${TEST_DIR}/inode_ops_get_inode_acl_pc

	file=${TEST_DIR}/inode_ops_get_inode_acl_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/inode_ops_get_inode_acl_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/inode_ops_get_inode_acl_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := inode_ops_get_inode_acl_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_inode_ops_get_inode_acl+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += inode_ops_get_inode_acl_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_inode_ops_get_inode_acl=unused
		fi

fi






	# 6.2


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/get_random_u32_below_pc || mkdir -p ${TEST_DIR}/get_random_u32_below_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/get_random_u32_below_pc/get_random_u32_below_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/random.h>

int
main (void)
{

		u32 rand32 = get_random_u32_below(99);
		(void)rand32;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/get_random_u32_below_pc/get_random_u32_below_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/get_random_u32_below_pc || mkdir -p ${TEST_DIR}/get_random_u32_below_pc

	file=${TEST_DIR}/get_random_u32_below_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/get_random_u32_below_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/get_random_u32_below_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := get_random_u32_below_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_get_random_u32_below+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += get_random_u32_below_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_get_random_u32_below=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/acl_with_dentry_pc || mkdir -p ${TEST_DIR}/acl_with_dentry_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/acl_with_dentry_pc/acl_with_dentry_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>

int
main (void)
{

		struct inode_operations *iops = NULL;
		struct dentry *dentry = NULL;

		iops->get_acl(NULL, dentry, 0);
		(void)dentry;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/acl_with_dentry_pc/acl_with_dentry_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/acl_with_dentry_pc || mkdir -p ${TEST_DIR}/acl_with_dentry_pc

	file=${TEST_DIR}/acl_with_dentry_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/acl_with_dentry_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/acl_with_dentry_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := acl_with_dentry_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_acl_with_dentry+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += acl_with_dentry_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_acl_with_dentry=unused
		fi

fi






	# 6.3


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/inode_ops_getattr_has_mnt_idmap_argument_pc || mkdir -p ${TEST_DIR}/inode_ops_getattr_has_mnt_idmap_argument_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/inode_ops_getattr_has_mnt_idmap_argument_pc/inode_ops_getattr_has_mnt_idmap_argument_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/mount.h>
		#include <linux/fs.h>

int
main (void)
{

		struct inode_operations *iops = NULL;

		iops->getattr((struct mnt_idmap *)NULL,	NULL, NULL, 0, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/inode_ops_getattr_has_mnt_idmap_argument_pc/inode_ops_getattr_has_mnt_idmap_argument_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/inode_ops_getattr_has_mnt_idmap_argument_pc || mkdir -p ${TEST_DIR}/inode_ops_getattr_has_mnt_idmap_argument_pc

	file=${TEST_DIR}/inode_ops_getattr_has_mnt_idmap_argument_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/inode_ops_getattr_has_mnt_idmap_argument_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/inode_ops_getattr_has_mnt_idmap_argument_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := inode_ops_getattr_has_mnt_idmap_argument_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_inode_ops_getattr_has_mnt_idmap_argument+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += inode_ops_getattr_has_mnt_idmap_argument_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_inode_ops_getattr_has_mnt_idmap_argument=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/locks_lock_file_wait_in_filelock_pc || mkdir -p ${TEST_DIR}/locks_lock_file_wait_in_filelock_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/locks_lock_file_wait_in_filelock_pc/locks_lock_file_wait_in_filelock_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/filelock.h>

int
main (void)
{

		locks_lock_file_wait(NULL, NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/locks_lock_file_wait_in_filelock_pc/locks_lock_file_wait_in_filelock_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/locks_lock_file_wait_in_filelock_pc || mkdir -p ${TEST_DIR}/locks_lock_file_wait_in_filelock_pc

	file=${TEST_DIR}/locks_lock_file_wait_in_filelock_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/locks_lock_file_wait_in_filelock_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/locks_lock_file_wait_in_filelock_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := locks_lock_file_wait_in_filelock_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_locks_lock_file_wait_in_filelock+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += locks_lock_file_wait_in_filelock_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_locks_lock_file_wait_in_filelock=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/kernel_cap_t_has_u64_value_pc || mkdir -p ${TEST_DIR}/kernel_cap_t_has_u64_value_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/kernel_cap_t_has_u64_value_pc/kernel_cap_t_has_u64_value_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/cred.h>
		#include <linux/capability.h>

int
main (void)
{

		kernel_cap_t cap __attribute__ ((unused));
		cap.val = 0xffffffffffffffffull;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/kernel_cap_t_has_u64_value_pc/kernel_cap_t_has_u64_value_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/kernel_cap_t_has_u64_value_pc || mkdir -p ${TEST_DIR}/kernel_cap_t_has_u64_value_pc

	file=${TEST_DIR}/kernel_cap_t_has_u64_value_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/kernel_cap_t_has_u64_value_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/kernel_cap_t_has_u64_value_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := kernel_cap_t_has_u64_value_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_kernel_cap_t_has_u64_value+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += kernel_cap_t_has_u64_value_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_kernel_cap_t_has_u64_value=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/folio_batch_reinit_exists_pc || mkdir -p ${TEST_DIR}/folio_batch_reinit_exists_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/folio_batch_reinit_exists_pc/folio_batch_reinit_exists_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/pagevec.h>

int
main (void)
{

		struct folio_batch fbatch __attribute__ ((unused));

		folio_batch_reinit(&fbatch);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/folio_batch_reinit_exists_pc/folio_batch_reinit_exists_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/folio_batch_reinit_exists_pc || mkdir -p ${TEST_DIR}/folio_batch_reinit_exists_pc

	file=${TEST_DIR}/folio_batch_reinit_exists_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/folio_batch_reinit_exists_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/folio_batch_reinit_exists_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := folio_batch_reinit_exists_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_folio_batch_reinit_exists+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += folio_batch_reinit_exists_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_folio_batch_reinit_exists=unused
		fi

fi






	# 6.4


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/iov_iter_iovec_exists_pc || mkdir -p ${TEST_DIR}/iov_iter_iovec_exists_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/iov_iter_iovec_exists_pc/iov_iter_iovec_exists_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/uio.h>

int
main (void)
{

		struct iovec iov __attribute__ ((unused));
		struct iov_iter i = { };

		iov = iov_iter_iovec(&i);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/iov_iter_iovec_exists_pc/iov_iter_iovec_exists_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/iov_iter_iovec_exists_pc || mkdir -p ${TEST_DIR}/iov_iter_iovec_exists_pc

	file=${TEST_DIR}/iov_iter_iovec_exists_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/iov_iter_iovec_exists_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/iov_iter_iovec_exists_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := iov_iter_iovec_exists_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_iov_iter_iovec_exists+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += iov_iter_iovec_exists_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_iov_iter_iovec_exists=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/iov_iter_has___iov_member_pc || mkdir -p ${TEST_DIR}/iov_iter_has___iov_member_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/iov_iter_has___iov_member_pc/iov_iter_has___iov_member_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/uio.h>

int
main (void)
{

		struct iov_iter iter = { };
		size_t len __attribute__ ((unused));

		len = iter.__iov->iov_len;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/iov_iter_has___iov_member_pc/iov_iter_has___iov_member_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/iov_iter_has___iov_member_pc || mkdir -p ${TEST_DIR}/iov_iter_has___iov_member_pc

	file=${TEST_DIR}/iov_iter_has___iov_member_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/iov_iter_has___iov_member_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/iov_iter_has___iov_member_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := iov_iter_has___iov_member_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_iov_iter_has___iov_member+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += iov_iter_has___iov_member_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_iov_iter_has___iov_member=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/class_create_without_module_arg_pc || mkdir -p ${TEST_DIR}/class_create_without_module_arg_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/class_create_without_module_arg_pc/class_create_without_module_arg_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/device/class.h>

int
main (void)
{

		struct class *class;

		class = class_create("empty");
		if (IS_ERR(class))
			return PTR_ERR(class);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/class_create_without_module_arg_pc/class_create_without_module_arg_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/class_create_without_module_arg_pc || mkdir -p ${TEST_DIR}/class_create_without_module_arg_pc

	file=${TEST_DIR}/class_create_without_module_arg_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/class_create_without_module_arg_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/class_create_without_module_arg_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := class_create_without_module_arg_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_class_create_without_module_arg+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += class_create_without_module_arg_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_class_create_without_module_arg=unused
		fi

fi






	# 6.5


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/enum_iter_type_iter_pipe_pc || mkdir -p ${TEST_DIR}/enum_iter_type_iter_pipe_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/enum_iter_type_iter_pipe_pc/enum_iter_type_iter_pipe_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/uio.h>

int
main (void)
{

		enum iter_type iter_type = ITER_PIPE;

		(void)iter_type;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/enum_iter_type_iter_pipe_pc/enum_iter_type_iter_pipe_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/enum_iter_type_iter_pipe_pc || mkdir -p ${TEST_DIR}/enum_iter_type_iter_pipe_pc

	file=${TEST_DIR}/enum_iter_type_iter_pipe_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/enum_iter_type_iter_pipe_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/enum_iter_type_iter_pipe_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := enum_iter_type_iter_pipe_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_enum_iter_type_iter_pipe+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += enum_iter_type_iter_pipe_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_enum_iter_type_iter_pipe=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/get_user_pages_without_vma_pc || mkdir -p ${TEST_DIR}/get_user_pages_without_vma_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/get_user_pages_without_vma_pc/get_user_pages_without_vma_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/mm.h>

int
main (void)
{

		struct page *pages __attribute__ ((unused));

		(void)get_user_pages(0, 0, 0, &pages);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/get_user_pages_without_vma_pc/get_user_pages_without_vma_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/get_user_pages_without_vma_pc || mkdir -p ${TEST_DIR}/get_user_pages_without_vma_pc

	file=${TEST_DIR}/get_user_pages_without_vma_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/get_user_pages_without_vma_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/get_user_pages_without_vma_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := get_user_pages_without_vma_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_get_user_pages_without_vma+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += get_user_pages_without_vma_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_get_user_pages_without_vma=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/struct_folio_batch_exists_pc || mkdir -p ${TEST_DIR}/struct_folio_batch_exists_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/struct_folio_batch_exists_pc/struct_folio_batch_exists_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/pagevec.h>

int
main (void)
{

		struct folio_batch fbatch __attribute__ ((unused));

		folio_batch_init(&fbatch);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/struct_folio_batch_exists_pc/struct_folio_batch_exists_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/struct_folio_batch_exists_pc || mkdir -p ${TEST_DIR}/struct_folio_batch_exists_pc

	file=${TEST_DIR}/struct_folio_batch_exists_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/struct_folio_batch_exists_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/struct_folio_batch_exists_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := struct_folio_batch_exists_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_struct_folio_batch_exists+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += struct_folio_batch_exists_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_struct_folio_batch_exists=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/struct_pagevec_exists_pc || mkdir -p ${TEST_DIR}/struct_pagevec_exists_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/struct_pagevec_exists_pc/struct_pagevec_exists_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/pagevec.h>

int
main (void)
{

		struct pagevec *pvec = NULL;
		(void)pvec;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/struct_pagevec_exists_pc/struct_pagevec_exists_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/struct_pagevec_exists_pc || mkdir -p ${TEST_DIR}/struct_pagevec_exists_pc

	file=${TEST_DIR}/struct_pagevec_exists_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/struct_pagevec_exists_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/struct_pagevec_exists_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := struct_pagevec_exists_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_struct_pagevec_exists+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += struct_pagevec_exists_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_struct_pagevec_exists=unused
		fi

fi






	# 6.6


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/flush_scheduled_work_warning_pc || mkdir -p ${TEST_DIR}/flush_scheduled_work_warning_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/flush_scheduled_work_warning_pc/flush_scheduled_work_warning_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/workqueue.h>

int
main (void)
{

		__flush_workqueue(system_wq);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/flush_scheduled_work_warning_pc/flush_scheduled_work_warning_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/flush_scheduled_work_warning_pc || mkdir -p ${TEST_DIR}/flush_scheduled_work_warning_pc

	file=${TEST_DIR}/flush_scheduled_work_warning_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/flush_scheduled_work_warning_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/flush_scheduled_work_warning_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := flush_scheduled_work_warning_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_flush_scheduled_work_warning+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += flush_scheduled_work_warning_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_flush_scheduled_work_warning=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/inode_get_ctime_exists_pc || mkdir -p ${TEST_DIR}/inode_get_ctime_exists_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/inode_get_ctime_exists_pc/inode_get_ctime_exists_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>

int
main (void)
{

		struct inode *inode = NULL;
		struct timespec64 ts __attribute__ ((unused));

		ts = inode_get_ctime(inode);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/inode_get_ctime_exists_pc/inode_get_ctime_exists_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/inode_get_ctime_exists_pc || mkdir -p ${TEST_DIR}/inode_get_ctime_exists_pc

	file=${TEST_DIR}/inode_get_ctime_exists_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/inode_get_ctime_exists_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/inode_get_ctime_exists_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := inode_get_ctime_exists_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_inode_get_ctime_exists+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += inode_get_ctime_exists_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_inode_get_ctime_exists=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/mmap_write_trylock_removed_pc || mkdir -p ${TEST_DIR}/mmap_write_trylock_removed_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/mmap_write_trylock_removed_pc/mmap_write_trylock_removed_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/mmap_lock.h>

int
main (void)
{

		struct mm_struct *mm = NULL;

		(void)mmap_write_trylock(mm);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/mmap_write_trylock_removed_pc/mmap_write_trylock_removed_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/mmap_write_trylock_removed_pc || mkdir -p ${TEST_DIR}/mmap_write_trylock_removed_pc

	file=${TEST_DIR}/mmap_write_trylock_removed_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/mmap_write_trylock_removed_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/mmap_write_trylock_removed_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := mmap_write_trylock_removed_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_mmap_write_trylock_removed+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += mmap_write_trylock_removed_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_mmap_write_trylock_removed=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/generic_fillattr_has_request_mask_arg_pc || mkdir -p ${TEST_DIR}/generic_fillattr_has_request_mask_arg_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/generic_fillattr_has_request_mask_arg_pc/generic_fillattr_has_request_mask_arg_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>

int
main (void)
{

		struct inode *inode = NULL;
		struct mnt_idmap *map = NULL;
		struct kstat *kstat = NULL;

		generic_fillattr(map, 0, inode, kstat);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/generic_fillattr_has_request_mask_arg_pc/generic_fillattr_has_request_mask_arg_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/generic_fillattr_has_request_mask_arg_pc || mkdir -p ${TEST_DIR}/generic_fillattr_has_request_mask_arg_pc

	file=${TEST_DIR}/generic_fillattr_has_request_mask_arg_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/generic_fillattr_has_request_mask_arg_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/generic_fillattr_has_request_mask_arg_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := generic_fillattr_has_request_mask_arg_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_generic_fillattr_has_request_mask_arg+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += generic_fillattr_has_request_mask_arg_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_generic_fillattr_has_request_mask_arg=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/struct_nsproxy_count_refcount_t_pc || mkdir -p ${TEST_DIR}/struct_nsproxy_count_refcount_t_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/struct_nsproxy_count_refcount_t_pc/struct_nsproxy_count_refcount_t_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/nsproxy.h>

int
main (void)
{

		struct nsproxy *nsproxy = NULL;

		refcount_dec(&nsproxy->count);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/struct_nsproxy_count_refcount_t_pc/struct_nsproxy_count_refcount_t_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/struct_nsproxy_count_refcount_t_pc || mkdir -p ${TEST_DIR}/struct_nsproxy_count_refcount_t_pc

	file=${TEST_DIR}/struct_nsproxy_count_refcount_t_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/struct_nsproxy_count_refcount_t_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/struct_nsproxy_count_refcount_t_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := struct_nsproxy_count_refcount_t_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_struct_nsproxy_count_refcount_t+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += struct_nsproxy_count_refcount_t_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_struct_nsproxy_count_refcount_t=unused
		fi

fi






	# 6.7


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/inode_get_mtime_exists_pc || mkdir -p ${TEST_DIR}/inode_get_mtime_exists_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/inode_get_mtime_exists_pc/inode_get_mtime_exists_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>

int
main (void)
{

		struct inode *inode = NULL;
		time64_t sec __attribute__ ((unused));

		sec = inode_get_mtime_sec(inode);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/inode_get_mtime_exists_pc/inode_get_mtime_exists_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/inode_get_mtime_exists_pc || mkdir -p ${TEST_DIR}/inode_get_mtime_exists_pc

	file=${TEST_DIR}/inode_get_mtime_exists_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/inode_get_mtime_exists_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/inode_get_mtime_exists_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := inode_get_mtime_exists_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_inode_get_mtime_exists+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += inode_get_mtime_exists_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_inode_get_mtime_exists=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/shrinker_alloc_exists_pc || mkdir -p ${TEST_DIR}/shrinker_alloc_exists_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/shrinker_alloc_exists_pc/shrinker_alloc_exists_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/shrinker.h>

int
main (void)
{

		struct shrinker *shrink __attribute__ ((unused));

		shrink = shrinker_alloc(0, "%s", "whoami");

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/shrinker_alloc_exists_pc/shrinker_alloc_exists_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/shrinker_alloc_exists_pc || mkdir -p ${TEST_DIR}/shrinker_alloc_exists_pc

	file=${TEST_DIR}/shrinker_alloc_exists_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/shrinker_alloc_exists_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/shrinker_alloc_exists_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := shrinker_alloc_exists_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_shrinker_alloc_exists+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += shrinker_alloc_exists_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_shrinker_alloc_exists=unused
		fi

fi






	# 6.8


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/dentry_d_children_pc || mkdir -p ${TEST_DIR}/dentry_d_children_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/dentry_d_children_pc/dentry_d_children_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/dcache.h>

int
main (void)
{

		struct dentry *dentry = NULL;

		return hlist_empty(&dentry->d_children);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/dentry_d_children_pc/dentry_d_children_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/dentry_d_children_pc || mkdir -p ${TEST_DIR}/dentry_d_children_pc

	file=${TEST_DIR}/dentry_d_children_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/dentry_d_children_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/dentry_d_children_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := dentry_d_children_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_dentry_d_children+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += dentry_d_children_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_dentry_d_children=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/generic_error_remove_folio_pc || mkdir -p ${TEST_DIR}/generic_error_remove_folio_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/generic_error_remove_folio_pc/generic_error_remove_folio_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/mm.h>

int
main (void)
{

		struct address_space *mapping = NULL;
		struct folio *folio = NULL;
		int err = generic_error_remove_folio(mapping, folio);

		(void) err;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/generic_error_remove_folio_pc/generic_error_remove_folio_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/generic_error_remove_folio_pc || mkdir -p ${TEST_DIR}/generic_error_remove_folio_pc

	file=${TEST_DIR}/generic_error_remove_folio_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/generic_error_remove_folio_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/generic_error_remove_folio_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := generic_error_remove_folio_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_generic_error_remove_folio+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += generic_error_remove_folio_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_generic_error_remove_folio=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/lsmcontext_has_id_pc || mkdir -p ${TEST_DIR}/lsmcontext_has_id_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/lsmcontext_has_id_pc/lsmcontext_has_id_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/security.h>

int
main (void)
{

		((struct lsmcontext *)1)->id = 0;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/lsmcontext_has_id_pc/lsmcontext_has_id_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/lsmcontext_has_id_pc || mkdir -p ${TEST_DIR}/lsmcontext_has_id_pc

	file=${TEST_DIR}/lsmcontext_has_id_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/lsmcontext_has_id_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/lsmcontext_has_id_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := lsmcontext_has_id_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_lsmcontext_has_id+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += lsmcontext_has_id_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_lsmcontext_has_id=unused
		fi

fi






	# 6.9


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/struct_file_lock_core_pc || mkdir -p ${TEST_DIR}/struct_file_lock_core_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/struct_file_lock_core_pc/struct_file_lock_core_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/filelock.h>

int
main (void)
{

		struct file_lock_core *flc = NULL;

		flc->flc_flags = 0;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/struct_file_lock_core_pc/struct_file_lock_core_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/struct_file_lock_core_pc || mkdir -p ${TEST_DIR}/struct_file_lock_core_pc

	file=${TEST_DIR}/struct_file_lock_core_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/struct_file_lock_core_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/struct_file_lock_core_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := struct_file_lock_core_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_struct_file_lock_core+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += struct_file_lock_core_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_struct_file_lock_core=unused
		fi

fi






	# kernel patch to extend integrity interface


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/bio_integrity_prep_fn_pc || mkdir -p ${TEST_DIR}/bio_integrity_prep_fn_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/bio_integrity_prep_fn_pc/bio_integrity_prep_fn_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/bio.h>

int
main (void)
{

		bio_integrity_prep_fn(NULL, NULL, NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/bio_integrity_prep_fn_pc/bio_integrity_prep_fn_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/bio_integrity_prep_fn_pc || mkdir -p ${TEST_DIR}/bio_integrity_prep_fn_pc

	file=${TEST_DIR}/bio_integrity_prep_fn_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/bio_integrity_prep_fn_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/bio_integrity_prep_fn_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.


	# Test case source
	echo "obj-m := bio_integrity_prep_fn_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_bio_integrity_prep_fn+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += bio_integrity_prep_fn_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_bio_integrity_prep_fn=unused
		fi

fi






			if test "x$enable_zfs" = xyes
then :



	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/zfs_nvpair_const_pc || mkdir -p ${TEST_DIR}/zfs_nvpair_const_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/zfs_nvpair_const_pc/zfs_nvpair_const_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


			#include <sys/nvpair.h>

int
main (void)
{

			nvpair_t *nvp = NULL;
			nvlist_t *nvl = NULL;
			const char *name = nvpair_name(nvp);
			nvlist_lookup_string(nvl, name, &name);
			nvlist_lookup_nvlist(nvl, name, &nvl);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/zfs_nvpair_const_pc/zfs_nvpair_const_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/zfs_nvpair_const_pc || mkdir -p ${TEST_DIR}/zfs_nvpair_const_pc

	file=${TEST_DIR}/zfs_nvpair_const_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/zfs_nvpair_const_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/zfs_nvpair_const_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := zfs_nvpair_const_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_zfs_nvpair_const+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += zfs_nvpair_const_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_zfs_nvpair_const=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/zfs_arc_prune_func_uint64_pc || mkdir -p ${TEST_DIR}/zfs_arc_prune_func_uint64_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/zfs_arc_prune_func_uint64_pc/zfs_arc_prune_func_uint64_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


			#include <sys/arc.h>

int
main (void)
{

			void arc_prune_func(uint64_t bytes, void *priv) {}
			arc_prune_t *arc_p __attribute__ ((unused)) =
				arc_add_prune_callback(arc_prune_func, NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/zfs_arc_prune_func_uint64_pc/zfs_arc_prune_func_uint64_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/zfs_arc_prune_func_uint64_pc || mkdir -p ${TEST_DIR}/zfs_arc_prune_func_uint64_pc

	file=${TEST_DIR}/zfs_arc_prune_func_uint64_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/zfs_arc_prune_func_uint64_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/zfs_arc_prune_func_uint64_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := zfs_arc_prune_func_uint64_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_zfs_arc_prune_func_uint64+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += zfs_arc_prune_func_uint64_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_zfs_arc_prune_func_uint64=unused
		fi

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/dmu_buf_will_fill_3args_pc || mkdir -p ${TEST_DIR}/dmu_buf_will_fill_3args_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/dmu_buf_will_fill_3args_pc/dmu_buf_will_fill_3args_pc.c

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


			#include <sys/dbuf.h>

int
main (void)
{

			dmu_buf_t *db = NULL;
			dmu_tx_t *tx = NULL;
			dmu_buf_will_fill(db, tx, B_TRUE);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF
# for in-kernel test case #defines:
if test x = "xin_kernel" ; then
	sed -i --regexp-extended \
	    -e 's:#define HAVE_OFED_COMPAT_RDMA :// External build only: #define HAVE_OFED_COMPAT_RDMA :g' \
	    -e 's/(^a-zA-Z0-9_)HAVE_OFED_/\1IN_KERNEL_HAVE_OFED_/g' \
		${TEST_DIR}/dmu_buf_will_fill_3args_pc/dmu_buf_will_fill_3args_pc.c
fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/dmu_buf_will_fill_3args_pc || mkdir -p ${TEST_DIR}/dmu_buf_will_fill_3args_pc

	file=${TEST_DIR}/dmu_buf_will_fill_3args_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/dmu_buf_will_fill_3args_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	NEED_MODULE_TESTED="yes"
	if test "x" = "xexternal"; then
		XTRA_SYM="$EXT_O2IB_SYMBOLS"
		if test "x$EXTERNAL_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
		fi
	fi
	if test "x" = "xin_kernel"; then
		XTRA_SYM="$INT_O2IB_SYMBOLS"
		if test "x$BUILT_IN_KO2IBLND" = "xno" ; then
			NEED_MODULE_TESTED="no"
	fi	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/dmu_buf_will_fill_3args_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
KBUILD_EXTRA_SYMBOLS += ${XTRA_SYM}
ifneq (\$(PSYM),)
KBUILD_EXTRA_SYMBOLS += \$(PSYM)
endif

ccflags-y := -Werror-implicit-function-declaration
_EOF

	# Additional custom CFLAGS as requested.
	echo "ccflags-y += -Werror" >>$file

	# Test case source
	echo "obj-m := dmu_buf_will_fill_3args_pc.o" >>$file

	# Include the test case in the build, only if the result is not cached

	if test ${lb_cv_test_dmu_buf_will_fill_3args+y}
then :

		# cached - result is known

else $as_nop

		if test "x$NEED_MODULE_TESTED" != "xno" ; then
			echo "obj-m += dmu_buf_will_fill_3args_pc/" >>${TEST_DIR}/Makefile
			LB2_MODULES_COUNT=$((LB2_MODULES_COUNT + 1))
		else
			lb_cv_test_dmu_buf_will_fill_3args=unused
		fi

fi






fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	# Phase 1 - Compilation only, final linking is skipped.
	if test $((LB2_MODULES_COUNT + 0)) -gt 0
then :

		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: building ${LB2_MODULES_COUNT} linux kernel compile tests for 'lustre'" >&5
printf "%s\n" "$as_me: building ${LB2_MODULES_COUNT} linux kernel compile tests for 'lustre'" >&6;}

	D="$(realpath ${TEST_DIR})"
	L="$D/build.log.lustre"
	J=${TEST_JOBS:-$(nproc)}

	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: KBUILD_MODPOST_NOFINAL=\"yes\" make modules CC=\"$CC\" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV" >&5
printf "%s\n" "$as_me: KBUILD_MODPOST_NOFINAL=\"yes\" make modules CC=\"$CC\" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV" >&6;}

	{ ac_try='KBUILD_MODPOST_NOFINAL="yes"
		make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >${L} 2>&1'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }
	if test -f ${L}
then :
  if test -f ${TEST_DIR}/Makefile
then :
  mv ${TEST_DIR}/Makefile ${TEST_DIR}/Makefile.compile.lustre
fi
else $as_nop
  as_fn_error $? "*** Unable to compile test source ... for available lustre kapi interfaces" "$LINENO" 5

fi

		for dir in $(awk '/^obj-m/ { print $3 }' \
		    ${TEST_DIR}/Makefile.compile.lustre); do
			name=${dir%/}
			touch ${TEST_DIR}/$name/$name.tested
		done
		LB2_MODULES_COUNT=0

else $as_nop

		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: all linux kernel compile test results for 'lustre' are in-cache" >&5
printf "%s\n" "$as_me: all linux kernel compile test results for 'lustre' are in-cache" >&6;}

fi


			# Collect parallel compile tests results



	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/config_MODULES_pc
	O=${T}/config_MODULES_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_config_MODULES+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"config_MODULES\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_config_MODULES+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for config_MODULES was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Linux kernel was built with CONFIG_MODULES" >&5
printf %s "checking if Linux kernel was built with CONFIG_MODULES... " >&6; }
if test ${lb_cv_test_config_MODULES+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_config_MODULES=yes
else $as_nop
  lb_cv_test_config_MODULES=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_config_MODULES" >&5
printf "%s\n" "$lb_cv_test_config_MODULES" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_config_MODULES" = xyes
then :

else $as_nop
  as_fn_error $? "module support is required to build Lustre kernel modules." "$LINENO" 5


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/config_MODVERSIONS_pc
	O=${T}/config_MODVERSIONS_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_config_MODVERSIONS+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"config_MODVERSIONS\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_config_MODVERSIONS+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for config_MODVERSIONS was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Linux kernel was built with CONFIG_MODVERSIONS" >&5
printf %s "checking if Linux kernel was built with CONFIG_MODVERSIONS... " >&6; }
if test ${lb_cv_test_config_MODVERSIONS+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_config_MODVERSIONS=yes
else $as_nop
  lb_cv_test_config_MODVERSIONS=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_config_MODVERSIONS" >&5
printf "%s\n" "$lb_cv_test_config_MODVERSIONS" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_config_MODVERSIONS" = xyes
then :

fi





	# 3.11


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/ktime_get_ts64_pc
	O=${T}/ktime_get_ts64_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_ktime_get_ts64+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"ktime_get_ts64\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_ktime_get_ts64+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for ktime_get_ts64 was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if function 'ktime_get_ts64' exist" >&5
printf %s "checking if function 'ktime_get_ts64' exist... " >&6; }
if test ${lb_cv_test_ktime_get_ts64+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_ktime_get_ts64=yes
else $as_nop
  lb_cv_test_ktime_get_ts64=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_ktime_get_ts64" >&5
printf "%s\n" "$lb_cv_test_ktime_get_ts64" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_ktime_get_ts64" = xyes
then :

printf "%s\n" "#define HAVE_KTIME_GET_TS64 1" >>confdefs.h


fi



	# 3.12


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/prepare_to_wait_event_pc
	O=${T}/prepare_to_wait_event_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_prepare_to_wait_event+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"prepare_to_wait_event\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_prepare_to_wait_event+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for prepare_to_wait_event was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if function 'prepare_to_wait_event' exist" >&5
printf %s "checking if function 'prepare_to_wait_event' exist... " >&6; }
if test ${lb_cv_test_prepare_to_wait_event+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_prepare_to_wait_event=yes
else $as_nop
  lb_cv_test_prepare_to_wait_event=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_prepare_to_wait_event" >&5
printf "%s\n" "$lb_cv_test_prepare_to_wait_event" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_prepare_to_wait_event" = xyes
then :

printf "%s\n" "#define HAVE_PREPARE_TO_WAIT_EVENT 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/kernel_param_ops_pc
	O=${T}/kernel_param_ops_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_kernel_param_ops+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"kernel_param_ops\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_kernel_param_ops+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for kernel_param_ops was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'struct kernel_param_ops' exist" >&5
printf %s "checking if 'struct kernel_param_ops' exist... " >&6; }
if test ${lb_cv_test_kernel_param_ops+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_kernel_param_ops=yes
else $as_nop
  lb_cv_test_kernel_param_ops=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_kernel_param_ops" >&5
printf "%s\n" "$lb_cv_test_kernel_param_ops" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_kernel_param_ops" = xyes
then :

printf "%s\n" "#define HAVE_KERNEL_PARAM_OPS 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/ktime_add_pc
	O=${T}/ktime_add_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_ktime_add+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"ktime_add\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_ktime_add+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for ktime_add was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if function 'ktime_add' exist" >&5
printf %s "checking if function 'ktime_add' exist... " >&6; }
if test ${lb_cv_test_ktime_add+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_ktime_add=yes
else $as_nop
  lb_cv_test_ktime_add=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_ktime_add" >&5
printf "%s\n" "$lb_cv_test_ktime_add" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_ktime_add" = xyes
then :

printf "%s\n" "#define HAVE_KTIME_ADD 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/ktime_after_pc
	O=${T}/ktime_after_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_ktime_after+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"ktime_after\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_ktime_after+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for ktime_after was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if function 'ktime_after' exist" >&5
printf %s "checking if function 'ktime_after' exist... " >&6; }
if test ${lb_cv_test_ktime_after+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_ktime_after=yes
else $as_nop
  lb_cv_test_ktime_after=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_ktime_after" >&5
printf "%s\n" "$lb_cv_test_ktime_after" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_ktime_after" = xyes
then :

printf "%s\n" "#define HAVE_KTIME_AFTER 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/ktime_before_pc
	O=${T}/ktime_before_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_ktime_before+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"ktime_before\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_ktime_before+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for ktime_before was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if function 'ktime_before' exist" >&5
printf %s "checking if function 'ktime_before' exist... " >&6; }
if test ${lb_cv_test_ktime_before+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_ktime_before=yes
else $as_nop
  lb_cv_test_ktime_before=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_ktime_before" >&5
printf "%s\n" "$lb_cv_test_ktime_before" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_ktime_before" = xyes
then :

printf "%s\n" "#define HAVE_KTIME_BEFORE 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/ktime_compare_pc
	O=${T}/ktime_compare_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_ktime_compare+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"ktime_compare\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_ktime_compare+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for ktime_compare was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if function 'ktime_compare' exist" >&5
printf %s "checking if function 'ktime_compare' exist... " >&6; }
if test ${lb_cv_test_ktime_compare+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_ktime_compare=yes
else $as_nop
  lb_cv_test_ktime_compare=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_ktime_compare" >&5
printf "%s\n" "$lb_cv_test_ktime_compare" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_ktime_compare" = xyes
then :

printf "%s\n" "#define HAVE_KTIME_COMPARE 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/shrinker_count_objects_pc
	O=${T}/shrinker_count_objects_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_shrinker_count_objects+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"shrinker_count_objects\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_shrinker_count_objects+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for shrinker_count_objects was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if shrinker has 'count_objects'" >&5
printf %s "checking if shrinker has 'count_objects'... " >&6; }
if test ${lb_cv_test_shrinker_count_objects+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_shrinker_count_objects=yes
else $as_nop
  lb_cv_test_shrinker_count_objects=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_shrinker_count_objects" >&5
printf "%s\n" "$lb_cv_test_shrinker_count_objects" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_shrinker_count_objects" = xyes
then :

printf "%s\n" "#define HAVE_SHRINKER_COUNT 1" >>confdefs.h


fi



	# 3.13


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/match_wildcard_pc
	O=${T}/match_wildcard_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_match_wildcard+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"match_wildcard\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_match_wildcard+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for match_wildcard was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if function 'match_wildcard' exist" >&5
printf %s "checking if function 'match_wildcard' exist... " >&6; }
if test ${lb_cv_test_match_wildcard+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_match_wildcard=yes
else $as_nop
  lb_cv_test_match_wildcard=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_match_wildcard" >&5
printf "%s\n" "$lb_cv_test_match_wildcard" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_match_wildcard" = xyes
then :

printf "%s\n" "#define HAVE_MATCH_WILDCARD 1" >>confdefs.h


fi



	# 3.14


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/mapping_exiting_exists_pc
	O=${T}/mapping_exiting_exists_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_mapping_exiting_exists+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"mapping_exiting_exists\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_mapping_exiting_exists+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for mapping_exiting_exists was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if enum mapping_flags has AS_EXITING flag" >&5
printf %s "checking if enum mapping_flags has AS_EXITING flag... " >&6; }
if test ${lb_cv_test_mapping_exiting_exists+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_mapping_exiting_exists=yes
else $as_nop
  lb_cv_test_mapping_exiting_exists=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_mapping_exiting_exists" >&5
printf "%s\n" "$lb_cv_test_mapping_exiting_exists" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_mapping_exiting_exists" = xyes
then :

printf "%s\n" "#define HAVE_MAPPING_AS_EXITING_FLAG 1" >>confdefs.h


fi



	# 3.15


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/iov_iter_has_type_member_pc
	O=${T}/iov_iter_has_type_member_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_iov_iter_has_type_member+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"iov_iter_has_type_member\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_iov_iter_has_type_member+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for iov_iter_has_type_member was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if iov_iter has member type" >&5
printf %s "checking if iov_iter has member type... " >&6; }
if test ${lb_cv_test_iov_iter_has_type_member+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_iov_iter_has_type_member=yes
else $as_nop
  lb_cv_test_iov_iter_has_type_member=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_iov_iter_has_type_member" >&5
printf "%s\n" "$lb_cv_test_iov_iter_has_type_member" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_iov_iter_has_type_member" = xyes
then :

printf "%s\n" "#define HAVE_IOV_ITER_HAS_TYPE_MEMBER 1" >>confdefs.h


fi



	# 3.16


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/glob_match_pc
	O=${T}/glob_match_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_glob_match+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"glob_match\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_glob_match+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for glob_match was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'glob_match()' exist" >&5
printf %s "checking if 'glob_match()' exist... " >&6; }
if test ${lb_cv_test_glob_match+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_glob_match=yes
else $as_nop
  lb_cv_test_glob_match=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_glob_match" >&5
printf "%s\n" "$lb_cv_test_glob_match" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_glob_match" = xyes
then :

printf "%s\n" "#define HAVE_GLOB 1" >>confdefs.h


fi



	# 3.17


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/hlist_add_after_pc
	O=${T}/hlist_add_after_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_hlist_add_after+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"hlist_add_after\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_hlist_add_after+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for hlist_add_after was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if function 'hlist_add_after' exist" >&5
printf %s "checking if function 'hlist_add_after' exist... " >&6; }
if test ${lb_cv_test_hlist_add_after+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_hlist_add_after=yes
else $as_nop
  lb_cv_test_hlist_add_after=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_hlist_add_after" >&5
printf "%s\n" "$lb_cv_test_hlist_add_after" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_hlist_add_after" = xyes
then :

printf "%s\n" "#define HAVE_HLIST_ADD_AFTER 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/timespec64_pc
	O=${T}/timespec64_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_timespec64+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"timespec64\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_timespec64+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for timespec64 was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'struct timespec64' exist" >&5
printf %s "checking if 'struct timespec64' exist... " >&6; }
if test ${lb_cv_test_timespec64+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_timespec64=yes
else $as_nop
  lb_cv_test_timespec64=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_timespec64" >&5
printf "%s\n" "$lb_cv_test_timespec64" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_timespec64" = xyes
then :

printf "%s\n" "#define HAVE_TIMESPEC64 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/ktime_get_ns_pc
	O=${T}/ktime_get_ns_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_ktime_get_ns+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"ktime_get_ns\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_ktime_get_ns+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for ktime_get_ns was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking does function 'ktime_get_ns' exist" >&5
printf %s "checking does function 'ktime_get_ns' exist... " >&6; }
if test ${lb_cv_test_ktime_get_ns+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_ktime_get_ns=yes
else $as_nop
  lb_cv_test_ktime_get_ns=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_ktime_get_ns" >&5
printf "%s\n" "$lb_cv_test_ktime_get_ns" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_ktime_get_ns" = xyes
then :

else $as_nop

printf "%s\n" "#define NEED_KTIME_GET_NS 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/ktime_get_real_ts64_pc
	O=${T}/ktime_get_real_ts64_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_ktime_get_real_ts64+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"ktime_get_real_ts64\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_ktime_get_real_ts64+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for ktime_get_real_ts64 was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if function 'ktime_get_real_ts64' exist" >&5
printf %s "checking if function 'ktime_get_real_ts64' exist... " >&6; }
if test ${lb_cv_test_ktime_get_real_ts64+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_ktime_get_real_ts64=yes
else $as_nop
  lb_cv_test_ktime_get_real_ts64=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_ktime_get_real_ts64" >&5
printf "%s\n" "$lb_cv_test_ktime_get_real_ts64" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_ktime_get_real_ts64" = xyes
then :

printf "%s\n" "#define HAVE_KTIME_GET_REAL_TS64 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/ktime_get_real_seconds_pc
	O=${T}/ktime_get_real_seconds_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_ktime_get_real_seconds+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"ktime_get_real_seconds\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_ktime_get_real_seconds+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for ktime_get_real_seconds was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if function 'ktime_get_real_ts64' exist" >&5
printf %s "checking if function 'ktime_get_real_ts64' exist... " >&6; }
if test ${lb_cv_test_ktime_get_real_seconds+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_ktime_get_real_seconds=yes
else $as_nop
  lb_cv_test_ktime_get_real_seconds=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_ktime_get_real_seconds" >&5
printf "%s\n" "$lb_cv_test_ktime_get_real_seconds" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_ktime_get_real_seconds" = xyes
then :

printf "%s\n" "#define HAVE_KTIME_GET_REAL_SECONDS 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/ktime_get_real_ns_pc
	O=${T}/ktime_get_real_ns_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_ktime_get_real_ns+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"ktime_get_real_ns\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_ktime_get_real_ns+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for ktime_get_real_ns was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if function 'ktime_get_real_ns' exist" >&5
printf %s "checking if function 'ktime_get_real_ns' exist... " >&6; }
if test ${lb_cv_test_ktime_get_real_ns+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_ktime_get_real_ns=yes
else $as_nop
  lb_cv_test_ktime_get_real_ns=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_ktime_get_real_ns" >&5
printf "%s\n" "$lb_cv_test_ktime_get_real_ns" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_ktime_get_real_ns" = xyes
then :

else $as_nop

printf "%s\n" "#define NEED_KTIME_GET_REAL_NS 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/ktime_to_timespec64_pc
	O=${T}/ktime_to_timespec64_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_ktime_to_timespec64+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"ktime_to_timespec64\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_ktime_to_timespec64+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for ktime_to_timespec64 was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if function 'ktime_to_timespec64' exist" >&5
printf %s "checking if function 'ktime_to_timespec64' exist... " >&6; }
if test ${lb_cv_test_ktime_to_timespec64+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_ktime_to_timespec64=yes
else $as_nop
  lb_cv_test_ktime_to_timespec64=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_ktime_to_timespec64" >&5
printf "%s\n" "$lb_cv_test_ktime_to_timespec64" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_ktime_to_timespec64" = xyes
then :

printf "%s\n" "#define HAVE_KTIME_TO_TIMESPEC64 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/timespec64_sub_pc
	O=${T}/timespec64_sub_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_timespec64_sub+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"timespec64_sub\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_timespec64_sub+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for timespec64_sub was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if function 'timespec64_sub' exist" >&5
printf %s "checking if function 'timespec64_sub' exist... " >&6; }
if test ${lb_cv_test_timespec64_sub+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_timespec64_sub=yes
else $as_nop
  lb_cv_test_timespec64_sub=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_timespec64_sub" >&5
printf "%s\n" "$lb_cv_test_timespec64_sub" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_timespec64_sub" = xyes
then :

printf "%s\n" "#define HAVE_TIMESPEC64_SUB 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/timespec64_to_ktime_pc
	O=${T}/timespec64_to_ktime_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_timespec64_to_ktime+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"timespec64_to_ktime\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_timespec64_to_ktime+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for timespec64_to_ktime was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if function 'timespec64_to_ktime' exist" >&5
printf %s "checking if function 'timespec64_to_ktime' exist... " >&6; }
if test ${lb_cv_test_timespec64_to_ktime+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_timespec64_to_ktime=yes
else $as_nop
  lb_cv_test_timespec64_to_ktime=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_timespec64_to_ktime" >&5
printf "%s\n" "$lb_cv_test_timespec64_to_ktime" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_timespec64_to_ktime" = xyes
then :

printf "%s\n" "#define HAVE_TIMESPEC64_TO_KTIME 1" >>confdefs.h


fi



	# 3.19


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/ktime_get_seconds_pc
	O=${T}/ktime_get_seconds_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_ktime_get_seconds+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"ktime_get_seconds\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_ktime_get_seconds+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for ktime_get_seconds was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if function 'ktime_get_seconds' exist" >&5
printf %s "checking if function 'ktime_get_seconds' exist... " >&6; }
if test ${lb_cv_test_ktime_get_seconds+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_ktime_get_seconds=yes
else $as_nop
  lb_cv_test_ktime_get_seconds=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_ktime_get_seconds" >&5
printf "%s\n" "$lb_cv_test_ktime_get_seconds" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_ktime_get_seconds" = xyes
then :

printf "%s\n" "#define HAVE_KTIME_GET_SECONDS 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/wait_woken_pc
	O=${T}/wait_woken_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_wait_woken+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"wait_woken\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_wait_woken+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for wait_woken was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if function 'wait_woken' exist" >&5
printf %s "checking if function 'wait_woken' exist... " >&6; }
if test ${lb_cv_test_wait_woken+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_wait_woken=yes
else $as_nop
  lb_cv_test_wait_woken=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_wait_woken" >&5
printf "%s\n" "$lb_cv_test_wait_woken" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_wait_woken" = xyes
then :

printf "%s\n" "#define HAVE_WAIT_WOKEN 1" >>confdefs.h


fi



	# 4.0


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/ktime_ms_delta_pc
	O=${T}/ktime_ms_delta_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_ktime_ms_delta+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"ktime_ms_delta\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_ktime_ms_delta+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for ktime_ms_delta was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if function 'ktime_ms_delta' exist" >&5
printf %s "checking if function 'ktime_ms_delta' exist... " >&6; }
if test ${lb_cv_test_ktime_ms_delta+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_ktime_ms_delta=yes
else $as_nop
  lb_cv_test_ktime_ms_delta=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_ktime_ms_delta" >&5
printf "%s\n" "$lb_cv_test_ktime_ms_delta" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_ktime_ms_delta" = xyes
then :

printf "%s\n" "#define HAVE_KTIME_MS_DELTA 1" >>confdefs.h


fi



	# 4.1


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/kernel_param_lock_pc
	O=${T}/kernel_param_lock_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_kernel_param_lock+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"kernel_param_lock\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_kernel_param_lock+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for kernel_param_lock was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if function 'kernel_param_unlock' exist" >&5
printf %s "checking if function 'kernel_param_unlock' exist... " >&6; }
if test ${lb_cv_test_kernel_param_lock+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_kernel_param_lock=yes
else $as_nop
  lb_cv_test_kernel_param_lock=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_kernel_param_lock" >&5
printf "%s\n" "$lb_cv_test_kernel_param_lock" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_kernel_param_lock" = xyes
then :

printf "%s\n" "#define HAVE_KERNEL_PARAM_LOCK 1" >>confdefs.h


fi



	# 4.2


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/strscpy_exists_pc
	O=${T}/strscpy_exists_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_strscpy_exists+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"strscpy_exists\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_strscpy_exists+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for strscpy_exists was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if kernel strscpy is available" >&5
printf %s "checking if kernel strscpy is available... " >&6; }
if test ${lb_cv_test_strscpy_exists+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_strscpy_exists=yes
else $as_nop
  lb_cv_test_strscpy_exists=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_strscpy_exists" >&5
printf "%s\n" "$lb_cv_test_strscpy_exists" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_strscpy_exists" = xyes
then :

printf "%s\n" "#define HAVE_STRSCPY 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/topology_sibling_cpumask_pc
	O=${T}/topology_sibling_cpumask_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_topology_sibling_cpumask+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"topology_sibling_cpumask\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_topology_sibling_cpumask+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for topology_sibling_cpumask was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if function 'topology_sibling_cpumask' exist" >&5
printf %s "checking if function 'topology_sibling_cpumask' exist... " >&6; }
if test ${lb_cv_test_topology_sibling_cpumask+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_topology_sibling_cpumask=yes
else $as_nop
  lb_cv_test_topology_sibling_cpumask=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_topology_sibling_cpumask" >&5
printf "%s\n" "$lb_cv_test_topology_sibling_cpumask" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_topology_sibling_cpumask" = xyes
then :

printf "%s\n" "#define HAVE_TOPOLOGY_SIBLING_CPUMASK 1" >>confdefs.h


fi



	# 4.4


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/kstrtobool_from_user_pc
	O=${T}/kstrtobool_from_user_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_kstrtobool_from_user+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"kstrtobool_from_user\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_kstrtobool_from_user+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for kstrtobool_from_user was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Linux kernel has 'kstrtobool_from_user'" >&5
printf %s "checking if Linux kernel has 'kstrtobool_from_user'... " >&6; }
if test ${lb_cv_test_kstrtobool_from_user+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_kstrtobool_from_user=yes
else $as_nop
  lb_cv_test_kstrtobool_from_user=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_kstrtobool_from_user" >&5
printf "%s\n" "$lb_cv_test_kstrtobool_from_user" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_kstrtobool_from_user" = xyes
then :

printf "%s\n" "#define HAVE_KSTRTOBOOL_FROM_USER 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/cb_start_pc
	O=${T}/cb_start_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_cb_start+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"cb_start\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_cb_start+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for cb_start was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if struct genl_ops has start callback" >&5
printf %s "checking if struct genl_ops has start callback... " >&6; }
if test ${lb_cv_test_cb_start+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_cb_start=yes
else $as_nop
  lb_cv_test_cb_start=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_cb_start" >&5
printf "%s\n" "$lb_cv_test_cb_start" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_cb_start" = xyes
then :

printf "%s\n" "#define HAVE_NETLINK_CALLBACK_START 1" >>confdefs.h


fi



	# 4.5


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/crypto_hash_helpers_pc
	O=${T}/crypto_hash_helpers_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_crypto_hash_helpers+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"crypto_hash_helpers\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_crypto_hash_helpers+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for crypto_hash_helpers was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if crypto hash helper functions exist" >&5
printf %s "checking if crypto hash helper functions exist... " >&6; }
if test ${lb_cv_test_crypto_hash_helpers+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_crypto_hash_helpers=yes
else $as_nop
  lb_cv_test_crypto_hash_helpers=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_crypto_hash_helpers" >&5
printf "%s\n" "$lb_cv_test_crypto_hash_helpers" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_crypto_hash_helpers" = xyes
then :

printf "%s\n" "#define HAVE_CRYPTO_HASH_HELPERS 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/rhashtable_replace_fast_pc
	O=${T}/rhashtable_replace_fast_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_rhashtable_replace_fast+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"rhashtable_replace_fast\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_rhashtable_replace_fast+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for rhashtable_replace_fast was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'rhashtable_replace_fast' exists" >&5
printf %s "checking if 'rhashtable_replace_fast' exists... " >&6; }
if test ${lb_cv_test_rhashtable_replace_fast+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_rhashtable_replace_fast=yes
else $as_nop
  lb_cv_test_rhashtable_replace_fast=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_rhashtable_replace_fast" >&5
printf "%s\n" "$lb_cv_test_rhashtable_replace_fast" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_rhashtable_replace_fast" = xyes
then :

printf "%s\n" "#define HAVE_RHASHTABLE_REPLACE 1" >>confdefs.h


fi



	# 4.6


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/broken_hash_64_pc
	O=${T}/broken_hash_64_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_broken_hash_64+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"broken_hash_64\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_broken_hash_64+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for broken_hash_64 was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if kernel has fixed hash_64()" >&5
printf %s "checking if kernel has fixed hash_64()... " >&6; }
if test ${lb_cv_test_broken_hash_64+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_broken_hash_64=yes
else $as_nop
  lb_cv_test_broken_hash_64=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_broken_hash_64" >&5
printf "%s\n" "$lb_cv_test_broken_hash_64" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_broken_hash_64" = xyes
then :

printf "%s\n" "#define HAVE_BROKEN_HASH_64 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/stacktrace_ops_address_return_int_pc
	O=${T}/stacktrace_ops_address_return_int_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_stacktrace_ops_address_return_int+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"stacktrace_ops_address_return_int\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_stacktrace_ops_address_return_int+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for stacktrace_ops_address_return_int was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'struct stacktrace_ops' address function returns an int" >&5
printf %s "checking if 'struct stacktrace_ops' address function returns an int... " >&6; }
if test ${lb_cv_test_stacktrace_ops_address_return_int+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_stacktrace_ops_address_return_int=yes
else $as_nop
  lb_cv_test_stacktrace_ops_address_return_int=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_stacktrace_ops_address_return_int" >&5
printf "%s\n" "$lb_cv_test_stacktrace_ops_address_return_int" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_stacktrace_ops_address_return_int" = xyes
then :

printf "%s\n" "#define STACKTRACE_OPS_ADDRESS_RETURN_INT 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/get_user_pages_6arg_pc
	O=${T}/get_user_pages_6arg_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_get_user_pages_6arg+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"get_user_pages_6arg\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_get_user_pages_6arg+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for get_user_pages_6arg was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'get_user_pages()' takes 6 arguments" >&5
printf %s "checking if 'get_user_pages()' takes 6 arguments... " >&6; }
if test ${lb_cv_test_get_user_pages_6arg+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_get_user_pages_6arg=yes
else $as_nop
  lb_cv_test_get_user_pages_6arg=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_get_user_pages_6arg" >&5
printf "%s\n" "$lb_cv_test_get_user_pages_6arg" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_get_user_pages_6arg" = xyes
then :

printf "%s\n" "#define HAVE_GET_USER_PAGES_6ARG 1" >>confdefs.h


fi





	UNIQUE_ID=$(echo linux/stringhash.h | tr /. __)

	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	as_lb_test=`printf "%s\n" "lb_cv_test_${UNIQUE_ID}" | $as_tr_sh`

	D="$(realpath ${TEST_DIR})"
	T=${D}/${UNIQUE_ID}_pc
	O=${T}/${UNIQUE_ID}_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if eval test \${$as_lb_test+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"${UNIQUE_ID}\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if eval test \${$as_lb_test+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for ${UNIQUE_ID} was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for linux header linux/stringhash.h" >&5
printf %s "checking for linux header linux/stringhash.h... " >&6; }
if eval test \${$as_lb_test+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  eval "$as_lb_test=yes"
else $as_nop
  eval "$as_lb_test=no"
fi
fi
eval ac_res=\$$as_lb_test
	       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if eval test \"x\$"$as_lb_test"\" = x"yes"
then :

printf "%s\n" "#define HAVE_STRINGHASH 1" >>confdefs.h


fi




	# 4.7


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/rhashtable_insert_fast_pc
	O=${T}/rhashtable_insert_fast_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_rhashtable_insert_fast+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"rhashtable_insert_fast\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_rhashtable_insert_fast+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for rhashtable_insert_fast was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if internal '__rhashtable_insert_fast()' returns int" >&5
printf %s "checking if internal '__rhashtable_insert_fast()' returns int... " >&6; }
if test ${lb_cv_test_rhashtable_insert_fast+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_rhashtable_insert_fast=yes
else $as_nop
  lb_cv_test_rhashtable_insert_fast=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_rhashtable_insert_fast" >&5
printf "%s\n" "$lb_cv_test_rhashtable_insert_fast" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_rhashtable_insert_fast" = xyes
then :

printf "%s\n" "#define HAVE_HASHTABLE_INSERT_FAST_RETURN_INT 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/rhashtable_walk_init_pc
	O=${T}/rhashtable_walk_init_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_rhashtable_walk_init+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"rhashtable_walk_init\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_rhashtable_walk_init+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for rhashtable_walk_init was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'rhashtable_walk_init' has 3 args" >&5
printf %s "checking if 'rhashtable_walk_init' has 3 args... " >&6; }
if test ${lb_cv_test_rhashtable_walk_init+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_rhashtable_walk_init=yes
else $as_nop
  lb_cv_test_rhashtable_walk_init=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_rhashtable_walk_init" >&5
printf "%s\n" "$lb_cv_test_rhashtable_walk_init" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_rhashtable_walk_init" = xyes
then :

printf "%s\n" "#define HAVE_3ARG_RHASHTABLE_WALK_INIT 1" >>confdefs.h


fi



	# 4.8


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/rhashtable_lookup_pc
	O=${T}/rhashtable_lookup_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_rhashtable_lookup+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"rhashtable_lookup\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_rhashtable_lookup+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for rhashtable_lookup was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'rhashtable_lookup' exist" >&5
printf %s "checking if 'rhashtable_lookup' exist... " >&6; }
if test ${lb_cv_test_rhashtable_lookup+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_rhashtable_lookup=yes
else $as_nop
  lb_cv_test_rhashtable_lookup=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_rhashtable_lookup" >&5
printf "%s\n" "$lb_cv_test_rhashtable_lookup" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_rhashtable_lookup" = xyes
then :

printf "%s\n" "#define HAVE_RHASHTABLE_LOOKUP 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/rhtable_pc
	O=${T}/rhtable_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_rhtable+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"rhtable\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_rhtable+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for rhtable was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'struct rhltable' exist" >&5
printf %s "checking if 'struct rhltable' exist... " >&6; }
if test ${lb_cv_test_rhtable+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_rhtable=yes
else $as_nop
  lb_cv_test_rhtable=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_rhtable" >&5
printf "%s\n" "$lb_cv_test_rhtable" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_rhtable" = xyes
then :

printf "%s\n" "#define HAVE_RHLTABLE 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/stacktrace_ops_pc
	O=${T}/stacktrace_ops_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_stacktrace_ops+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"stacktrace_ops\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_stacktrace_ops+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for stacktrace_ops was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'struct stacktrace_ops' exists" >&5
printf %s "checking if 'struct stacktrace_ops' exists... " >&6; }
if test ${lb_cv_test_stacktrace_ops+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_stacktrace_ops=yes
else $as_nop
  lb_cv_test_stacktrace_ops=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_stacktrace_ops" >&5
printf "%s\n" "$lb_cv_test_stacktrace_ops" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_stacktrace_ops" = xyes
then :

printf "%s\n" "#define HAVE_STACKTRACE_OPS 1" >>confdefs.h


fi



	# 4.9


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/get_user_pages_gup_flags_pc
	O=${T}/get_user_pages_gup_flags_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_get_user_pages_gup_flags+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"get_user_pages_gup_flags\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_get_user_pages_gup_flags+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for get_user_pages_gup_flags was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'get_user_pages()' takes gup_flags in arguments" >&5
printf %s "checking if 'get_user_pages()' takes gup_flags in arguments... " >&6; }
if test ${lb_cv_test_get_user_pages_gup_flags+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_get_user_pages_gup_flags=yes
else $as_nop
  lb_cv_test_get_user_pages_gup_flags=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_get_user_pages_gup_flags" >&5
printf "%s\n" "$lb_cv_test_get_user_pages_gup_flags" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_get_user_pages_gup_flags" = xyes
then :

printf "%s\n" "#define HAVE_GET_USER_PAGES_GUP_FLAGS 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/rhashtable_walk_enter_pc
	O=${T}/rhashtable_walk_enter_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_rhashtable_walk_enter+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"rhashtable_walk_enter\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_rhashtable_walk_enter+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for rhashtable_walk_enter was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'rhashtable_walk_enter' exists" >&5
printf %s "checking if 'rhashtable_walk_enter' exists... " >&6; }
if test ${lb_cv_test_rhashtable_walk_enter+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_rhashtable_walk_enter=yes
else $as_nop
  lb_cv_test_rhashtable_walk_enter=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_rhashtable_walk_enter" >&5
printf "%s\n" "$lb_cv_test_rhashtable_walk_enter" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_rhashtable_walk_enter" = xyes
then :

printf "%s\n" "#define HAVE_RHASHTABLE_WALK_ENTER 1" >>confdefs.h


fi



	# 4.10


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/cpu_hotplug_state_machine_pc
	O=${T}/cpu_hotplug_state_machine_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_cpu_hotplug_state_machine+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"cpu_hotplug_state_machine\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_cpu_hotplug_state_machine+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for cpu_hotplug_state_machine was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if libcfs supports CPU hotplug state machine" >&5
printf %s "checking if libcfs supports CPU hotplug state machine... " >&6; }
if test ${lb_cv_test_cpu_hotplug_state_machine+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_cpu_hotplug_state_machine=yes
else $as_nop
  lb_cv_test_cpu_hotplug_state_machine=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_cpu_hotplug_state_machine" >&5
printf "%s\n" "$lb_cv_test_cpu_hotplug_state_machine" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_cpu_hotplug_state_machine" = xyes
then :

printf "%s\n" "#define HAVE_HOTPLUG_STATE_MACHINE 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/nla_put_u64_64bit_pc
	O=${T}/nla_put_u64_64bit_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_nla_put_u64_64bit+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"nla_put_u64_64bit\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_nla_put_u64_64bit+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for nla_put_u64_64bit was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'nla_put_u64_64bit()' exists" >&5
printf %s "checking if 'nla_put_u64_64bit()' exists... " >&6; }
if test ${lb_cv_test_nla_put_u64_64bit+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_nla_put_u64_64bit=yes
else $as_nop
  lb_cv_test_nla_put_u64_64bit=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_nla_put_u64_64bit" >&5
printf "%s\n" "$lb_cv_test_nla_put_u64_64bit" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_nla_put_u64_64bit" = xyes
then :

printf "%s\n" "#define HAVE_NLA_PUT_U64_64BIT 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/node_nr_writeback_exists_pc
	O=${T}/node_nr_writeback_exists_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_node_nr_writeback_exists+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"node_nr_writeback_exists\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_node_nr_writeback_exists+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for node_nr_writeback_exists was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if NR_WRITEBACK node_stat_item enum is available" >&5
printf %s "checking if NR_WRITEBACK node_stat_item enum is available... " >&6; }
if test ${lb_cv_test_node_nr_writeback_exists+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_node_nr_writeback_exists=yes
else $as_nop
  lb_cv_test_node_nr_writeback_exists=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_node_nr_writeback_exists" >&5
printf "%s\n" "$lb_cv_test_node_nr_writeback_exists" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_node_nr_writeback_exists" = xyes
then :

printf "%s\n" "#define HAVE_NODE_NR_WRITEBACK 1" >>confdefs.h


fi



	# 4.11


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/netlink_ext_ack_pc
	O=${T}/netlink_ext_ack_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_netlink_ext_ack+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"netlink_ext_ack\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_netlink_ext_ack+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for netlink_ext_ack was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Netlink supports netlink_ext_ack" >&5
printf %s "checking if Netlink supports netlink_ext_ack... " >&6; }
if test ${lb_cv_test_netlink_ext_ack+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_netlink_ext_ack=yes
else $as_nop
  lb_cv_test_netlink_ext_ack=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_netlink_ext_ack" >&5
printf "%s\n" "$lb_cv_test_netlink_ext_ack" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_netlink_ext_ack" = xyes
then :

printf "%s\n" "#define HAVE_NL_PARSE_WITH_EXT_ACK 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/rhashtable_lookup_get_insert_fast_pc
	O=${T}/rhashtable_lookup_get_insert_fast_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_rhashtable_lookup_get_insert_fast+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"rhashtable_lookup_get_insert_fast\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_rhashtable_lookup_get_insert_fast+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for rhashtable_lookup_get_insert_fast was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'rhashtable_lookup_get_insert_fast' exist" >&5
printf %s "checking if 'rhashtable_lookup_get_insert_fast' exist... " >&6; }
if test ${lb_cv_test_rhashtable_lookup_get_insert_fast+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_rhashtable_lookup_get_insert_fast=yes
else $as_nop
  lb_cv_test_rhashtable_lookup_get_insert_fast=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_rhashtable_lookup_get_insert_fast" >&5
printf "%s\n" "$lb_cv_test_rhashtable_lookup_get_insert_fast" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_rhashtable_lookup_get_insert_fast" = xyes
then :

printf "%s\n" "#define HAVE_RHASHTABLE_LOOKUP_GET_INSERT_FAST 1" >>confdefs.h


fi





	UNIQUE_ID=$(echo linux/sched/signal.h | tr /. __)

	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	as_lb_test=`printf "%s\n" "lb_cv_test_${UNIQUE_ID}" | $as_tr_sh`

	D="$(realpath ${TEST_DIR})"
	T=${D}/${UNIQUE_ID}_pc
	O=${T}/${UNIQUE_ID}_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if eval test \${$as_lb_test+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"${UNIQUE_ID}\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if eval test \${$as_lb_test+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for ${UNIQUE_ID} was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for linux header linux/sched/signal.h" >&5
printf %s "checking for linux header linux/sched/signal.h... " >&6; }
if eval test \${$as_lb_test+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  eval "$as_lb_test=yes"
else $as_nop
  eval "$as_lb_test=no"
fi
fi
eval ac_res=\$$as_lb_test
	       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if eval test \"x\$"$as_lb_test"\" = x"yes"
then :

printf "%s\n" "#define HAVE_SCHED_HEADERS 1" >>confdefs.h


fi






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/kref_read_pc
	O=${T}/kref_read_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_kref_read+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"kref_read\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_kref_read+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for kref_read was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'kref_read' exists" >&5
printf %s "checking if 'kref_read' exists... " >&6; }
if test ${lb_cv_test_kref_read+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_kref_read=yes
else $as_nop
  lb_cv_test_kref_read=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_kref_read" >&5
printf "%s\n" "$lb_cv_test_kref_read" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_kref_read" = xyes
then :

printf "%s\n" "#define HAVE_KREF_READ 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/rht_bucket_var_pc
	O=${T}/rht_bucket_var_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_rht_bucket_var+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"rht_bucket_var\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_rht_bucket_var+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for rht_bucket_var was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'rht_bucket_var' exists" >&5
printf %s "checking if 'rht_bucket_var' exists... " >&6; }
if test ${lb_cv_test_rht_bucket_var+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_rht_bucket_var=yes
else $as_nop
  lb_cv_test_rht_bucket_var=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_rht_bucket_var" >&5
printf "%s\n" "$lb_cv_test_rht_bucket_var" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_rht_bucket_var" = xyes
then :

printf "%s\n" "#define HAVE_RHT_BUCKET_VAR 1" >>confdefs.h


fi



	# 4.12


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/cpu_read_lock_pc
	O=${T}/cpu_read_lock_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_cpu_read_lock+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"cpu_read_lock\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_cpu_read_lock+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for cpu_read_lock was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'cpus_read_unlock' exist" >&5
printf %s "checking if 'cpus_read_unlock' exist... " >&6; }
if test ${lb_cv_test_cpu_read_lock+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_cpu_read_lock=yes
else $as_nop
  lb_cv_test_cpu_read_lock=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_cpu_read_lock" >&5
printf "%s\n" "$lb_cv_test_cpu_read_lock" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_cpu_read_lock" = xyes
then :

printf "%s\n" "#define HAVE_CPUS_READ_LOCK 1" >>confdefs.h


fi





	UNIQUE_ID=$(echo linux/processor.h | tr /. __)

	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	as_lb_test=`printf "%s\n" "lb_cv_test_${UNIQUE_ID}" | $as_tr_sh`

	D="$(realpath ${TEST_DIR})"
	T=${D}/${UNIQUE_ID}_pc
	O=${T}/${UNIQUE_ID}_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if eval test \${$as_lb_test+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"${UNIQUE_ID}\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if eval test \${$as_lb_test+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for ${UNIQUE_ID} was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for linux header linux/processor.h" >&5
printf %s "checking for linux header linux/processor.h... " >&6; }
if eval test \${$as_lb_test+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  eval "$as_lb_test=yes"
else $as_nop
  eval "$as_lb_test=no"
fi
fi
eval ac_res=\$$as_lb_test
	       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if eval test \"x\$"$as_lb_test"\" = x"yes"
then :

printf "%s\n" "#define HAVE_PROCESSOR_H 1" >>confdefs.h


fi






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/wait_queue_task_list_pc
	O=${T}/wait_queue_task_list_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_wait_queue_task_list+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"wait_queue_task_list\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_wait_queue_task_list+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for wait_queue_task_list was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if linux wait_queue_head list_head is named head" >&5
printf %s "checking if linux wait_queue_head list_head is named head... " >&6; }
if test ${lb_cv_test_wait_queue_task_list+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_wait_queue_task_list=yes
else $as_nop
  lb_cv_test_wait_queue_task_list=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_wait_queue_task_list" >&5
printf "%s\n" "$lb_cv_test_wait_queue_task_list" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_wait_queue_task_list" = xyes
then :

printf "%s\n" "#define HAVE_WAIT_QUEUE_ENTRY_LIST 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/struct_wait_bit_queue_entry_exists_pc
	O=${T}/struct_wait_bit_queue_entry_exists_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_struct_wait_bit_queue_entry_exists+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"struct_wait_bit_queue_entry_exists\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_struct_wait_bit_queue_entry_exists+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for struct_wait_bit_queue_entry_exists was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if struct wait_bit_queue_entry exists" >&5
printf %s "checking if struct wait_bit_queue_entry exists... " >&6; }
if test ${lb_cv_test_struct_wait_bit_queue_entry_exists+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_struct_wait_bit_queue_entry_exists=yes
else $as_nop
  lb_cv_test_struct_wait_bit_queue_entry_exists=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_struct_wait_bit_queue_entry_exists" >&5
printf "%s\n" "$lb_cv_test_struct_wait_bit_queue_entry_exists" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_struct_wait_bit_queue_entry_exists" = xyes
then :

printf "%s\n" "#define HAVE_WAIT_BIT_QUEUE_ENTRY 1" >>confdefs.h


fi





	UNIQUE_ID=$(echo linux/refcount.h | tr /. __)

	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	as_lb_test=`printf "%s\n" "lb_cv_test_${UNIQUE_ID}" | $as_tr_sh`

	D="$(realpath ${TEST_DIR})"
	T=${D}/${UNIQUE_ID}_pc
	O=${T}/${UNIQUE_ID}_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if eval test \${$as_lb_test+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"${UNIQUE_ID}\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if eval test \${$as_lb_test+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for ${UNIQUE_ID} was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for linux header linux/refcount.h" >&5
printf %s "checking for linux header linux/refcount.h... " >&6; }
if eval test \${$as_lb_test+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  eval "$as_lb_test=yes"
else $as_nop
  eval "$as_lb_test=no"
fi
fi
eval ac_res=\$$as_lb_test
	       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if eval test \"x\$"$as_lb_test"\" = x"yes"
then :

printf "%s\n" "#define HAVE_REFCOUNT_T 1" >>confdefs.h


fi






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/memalloc_noreclaim_pc
	O=${T}/memalloc_noreclaim_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_memalloc_noreclaim+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"memalloc_noreclaim\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_memalloc_noreclaim+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for memalloc_noreclaim was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if memalloc_noreclaim_{save,restore} exist" >&5
printf %s "checking if memalloc_noreclaim_{save,restore} exist... " >&6; }
if test ${lb_cv_test_memalloc_noreclaim+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_memalloc_noreclaim=yes
else $as_nop
  lb_cv_test_memalloc_noreclaim=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_memalloc_noreclaim" >&5
printf "%s\n" "$lb_cv_test_memalloc_noreclaim" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_memalloc_noreclaim" = xyes
then :

printf "%s\n" "#define HAVE_MEMALLOC_RECLAIM 1" >>confdefs.h


fi



	# 4.13


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/nla_strdup_pc
	O=${T}/nla_strdup_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_nla_strdup+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"nla_strdup\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_nla_strdup+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for nla_strdup was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'nla_strdup()' exists" >&5
printf %s "checking if 'nla_strdup()' exists... " >&6; }
if test ${lb_cv_test_nla_strdup+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_nla_strdup=yes
else $as_nop
  lb_cv_test_nla_strdup=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_nla_strdup" >&5
printf "%s\n" "$lb_cv_test_nla_strdup" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_nla_strdup" = xyes
then :

printf "%s\n" "#define HAVE_NLA_STRDUP 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/wait_queue_entry_pc
	O=${T}/wait_queue_entry_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_wait_queue_entry+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"wait_queue_entry\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_wait_queue_entry+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for wait_queue_entry was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'wait_queue_entry_t' exists" >&5
printf %s "checking if 'wait_queue_entry_t' exists... " >&6; }
if test ${lb_cv_test_wait_queue_entry+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_wait_queue_entry=yes
else $as_nop
  lb_cv_test_wait_queue_entry=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_wait_queue_entry" >&5
printf "%s\n" "$lb_cv_test_wait_queue_entry" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_wait_queue_entry" = xyes
then :

printf "%s\n" "#define HAVE_WAIT_QUEUE_ENTRY 1" >>confdefs.h


fi



	# 4.14


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/define_timer_pc
	O=${T}/define_timer_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_define_timer+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"define_timer\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_define_timer+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for define_timer was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if DEFINE_TIMER takes only 2 arguments" >&5
printf %s "checking if DEFINE_TIMER takes only 2 arguments... " >&6; }
if test ${lb_cv_test_define_timer+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_define_timer=yes
else $as_nop
  lb_cv_test_define_timer=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_define_timer" >&5
printf "%s\n" "$lb_cv_test_define_timer" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_define_timer" = xyes
then :

printf "%s\n" "#define HAVE_NEW_DEFINE_TIMER 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/kernel_write_match_pc
	O=${T}/kernel_write_match_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_kernel_write_match+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"kernel_write_match\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_kernel_write_match+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for kernel_write_match was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'kernel_write' matches other read/write helpers" >&5
printf %s "checking if 'kernel_write' matches other read/write helpers... " >&6; }
if test ${lb_cv_test_kernel_write_match+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_kernel_write_match=yes
else $as_nop
  lb_cv_test_kernel_write_match=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_kernel_write_match" >&5
printf "%s\n" "$lb_cv_test_kernel_write_match" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_kernel_write_match" = xyes
then :

printf "%s\n" "#define HAVE_NEW_KERNEL_WRITE 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/kernel_read_pc
	O=${T}/kernel_read_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_kernel_read+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"kernel_read\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_kernel_read+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for kernel_read was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'kernel_read()' has loff_t *pos as last parameter" >&5
printf %s "checking if 'kernel_read()' has loff_t *pos as last parameter... " >&6; }
if test ${lb_cv_test_kernel_read+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_kernel_read=yes
else $as_nop
  lb_cv_test_kernel_read=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_kernel_read" >&5
printf "%s\n" "$lb_cv_test_kernel_read" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_kernel_read" = xyes
then :

printf "%s\n" "#define HAVE_KERNEL_READ_LAST_POSP 1" >>confdefs.h


fi



	# 4.15


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/bitmap_to_arr32_pc
	O=${T}/bitmap_to_arr32_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_bitmap_to_arr32+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"bitmap_to_arr32\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_bitmap_to_arr32+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for bitmap_to_arr32 was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'bitmap_to_arr32()' exist" >&5
printf %s "checking if 'bitmap_to_arr32()' exist... " >&6; }
if test ${lb_cv_test_bitmap_to_arr32+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_bitmap_to_arr32=yes
else $as_nop
  lb_cv_test_bitmap_to_arr32=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_bitmap_to_arr32" >&5
printf "%s\n" "$lb_cv_test_bitmap_to_arr32" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_bitmap_to_arr32" = xyes
then :

printf "%s\n" "#define HAVE_BITMAP_TO_ARR32 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/timer_setup_pc
	O=${T}/timer_setup_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_timer_setup+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"timer_setup\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_timer_setup+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for timer_setup was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if setup_timer has been replaced with timer_setup" >&5
printf %s "checking if setup_timer has been replaced with timer_setup... " >&6; }
if test ${lb_cv_test_timer_setup+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_timer_setup=yes
else $as_nop
  lb_cv_test_timer_setup=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_timer_setup" >&5
printf "%s\n" "$lb_cv_test_timer_setup" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_timer_setup" = xyes
then :

printf "%s\n" "#define HAVE_TIMER_SETUP 1" >>confdefs.h


fi



	# 4.16


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/kernel_old_timeval_pc
	O=${T}/kernel_old_timeval_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_kernel_old_timeval+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"kernel_old_timeval\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_kernel_old_timeval+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for kernel_old_timeval was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'ns_to_timespec64()' exist" >&5
printf %s "checking if 'ns_to_timespec64()' exist... " >&6; }
if test ${lb_cv_test_kernel_old_timeval+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_kernel_old_timeval=yes
else $as_nop
  lb_cv_test_kernel_old_timeval=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_kernel_old_timeval" >&5
printf "%s\n" "$lb_cv_test_kernel_old_timeval" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_kernel_old_timeval" = xyes
then :

printf "%s\n" "#define HAVE_NS_TO_TIMESPEC64 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/wait_var_event_pc
	O=${T}/wait_var_event_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_wait_var_event+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"wait_var_event\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_wait_var_event+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for wait_var_event was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'wait_var_event' exist" >&5
printf %s "checking if 'wait_var_event' exist... " >&6; }
if test ${lb_cv_test_wait_var_event+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_wait_var_event=yes
else $as_nop
  lb_cv_test_wait_var_event=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_wait_var_event" >&5
printf "%s\n" "$lb_cv_test_wait_var_event" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_wait_var_event" = xyes
then :

printf "%s\n" "#define HAVE_WAIT_VAR_EVENT 1" >>confdefs.h


fi



	# 4.17


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/bitmap_alloc_pc
	O=${T}/bitmap_alloc_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_bitmap_alloc+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"bitmap_alloc\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_bitmap_alloc+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for bitmap_alloc was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Linux bitmap memory management exist" >&5
printf %s "checking if Linux bitmap memory management exist... " >&6; }
if test ${lb_cv_test_bitmap_alloc+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_bitmap_alloc=yes
else $as_nop
  lb_cv_test_bitmap_alloc=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_bitmap_alloc" >&5
printf "%s\n" "$lb_cv_test_bitmap_alloc" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_bitmap_alloc" = xyes
then :

printf "%s\n" "#define HAVE_BITMAP_ALLOC 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/clear_and_wake_up_bit_pc
	O=${T}/clear_and_wake_up_bit_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_clear_and_wake_up_bit+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"clear_and_wake_up_bit\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_clear_and_wake_up_bit+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for clear_and_wake_up_bit was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'clear_and_wake_up_bit' exist" >&5
printf %s "checking if 'clear_and_wake_up_bit' exist... " >&6; }
if test ${lb_cv_test_clear_and_wake_up_bit+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_clear_and_wake_up_bit=yes
else $as_nop
  lb_cv_test_clear_and_wake_up_bit=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_clear_and_wake_up_bit" >&5
printf "%s\n" "$lb_cv_test_clear_and_wake_up_bit" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_clear_and_wake_up_bit" = xyes
then :

printf "%s\n" "#define HAVE_CLEAR_AND_WAKE_UP_BIT 1" >>confdefs.h


fi



	# 4.18


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/tcp_sock_set_nodelay_exists_pc
	O=${T}/tcp_sock_set_nodelay_exists_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_tcp_sock_set_nodelay_exists+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"tcp_sock_set_nodelay_exists\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_tcp_sock_set_nodelay_exists+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for tcp_sock_set_nodelay_exists was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'tcp_sock_set_nodelay()' exists" >&5
printf %s "checking if 'tcp_sock_set_nodelay()' exists... " >&6; }
if test ${lb_cv_test_tcp_sock_set_nodelay_exists+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_tcp_sock_set_nodelay_exists=yes
else $as_nop
  lb_cv_test_tcp_sock_set_nodelay_exists=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_tcp_sock_set_nodelay_exists" >&5
printf "%s\n" "$lb_cv_test_tcp_sock_set_nodelay_exists" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_tcp_sock_set_nodelay_exists" = xyes
then :

printf "%s\n" "#define HAVE_TCP_SOCK_SET_NODELAY 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/tcp_sock_set_keepidle_exists_pc
	O=${T}/tcp_sock_set_keepidle_exists_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_tcp_sock_set_keepidle_exists+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"tcp_sock_set_keepidle_exists\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_tcp_sock_set_keepidle_exists+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for tcp_sock_set_keepidle_exists was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'tcp_sock_set_keepidle()' exists" >&5
printf %s "checking if 'tcp_sock_set_keepidle()' exists... " >&6; }
if test ${lb_cv_test_tcp_sock_set_keepidle_exists+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_tcp_sock_set_keepidle_exists=yes
else $as_nop
  lb_cv_test_tcp_sock_set_keepidle_exists=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_tcp_sock_set_keepidle_exists" >&5
printf "%s\n" "$lb_cv_test_tcp_sock_set_keepidle_exists" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_tcp_sock_set_keepidle_exists" = xyes
then :

printf "%s\n" "#define HAVE_TCP_SOCK_SET_KEEPIDLE 1" >>confdefs.h


fi



	# 4.19


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/xarray_support_pc
	O=${T}/xarray_support_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_xarray_support+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"xarray_support\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_xarray_support+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for xarray_support was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if page cache uses Xarray" >&5
printf %s "checking if page cache uses Xarray... " >&6; }
if test ${lb_cv_test_xarray_support+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_xarray_support=yes
else $as_nop
  lb_cv_test_xarray_support=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_xarray_support" >&5
printf "%s\n" "$lb_cv_test_xarray_support" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_xarray_support" = xyes
then :

printf "%s\n" "#define HAVE_XARRAY_SUPPORT 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/netlink_dump_ext_ack_pc
	O=${T}/netlink_dump_ext_ack_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_netlink_dump_ext_ack+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"netlink_dump_ext_ack\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_netlink_dump_ext_ack+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for netlink_dump_ext_ack was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Netlink dump handlers support ext_ack" >&5
printf %s "checking if Netlink dump handlers support ext_ack... " >&6; }
if test ${lb_cv_test_netlink_dump_ext_ack+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_netlink_dump_ext_ack=yes
else $as_nop
  lb_cv_test_netlink_dump_ext_ack=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_netlink_dump_ext_ack" >&5
printf "%s\n" "$lb_cv_test_netlink_dump_ext_ack" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_netlink_dump_ext_ack" = xyes
then :

printf "%s\n" "#define HAVE_NL_DUMP_WITH_EXT_ACK 1" >>confdefs.h


fi



	# 4.20


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/macro_iov_iter_type_exists_pc
	O=${T}/macro_iov_iter_type_exists_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_macro_iov_iter_type_exists+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"macro_iov_iter_type_exists\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_macro_iov_iter_type_exists+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for macro_iov_iter_type_exists was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if iov_iter_type exists" >&5
printf %s "checking if iov_iter_type exists... " >&6; }
if test ${lb_cv_test_macro_iov_iter_type_exists+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_macro_iov_iter_type_exists=yes
else $as_nop
  lb_cv_test_macro_iov_iter_type_exists=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_macro_iov_iter_type_exists" >&5
printf "%s\n" "$lb_cv_test_macro_iov_iter_type_exists" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_macro_iov_iter_type_exists" = xyes
then :

printf "%s\n" "#define HAVE_IOV_ITER_TYPE 1" >>confdefs.h


fi



	# 5.0


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/totalram_pages_pc
	O=${T}/totalram_pages_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_totalram_pages+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"totalram_pages\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_totalram_pages+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for totalram_pages was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if totalram_pages is a function" >&5
printf %s "checking if totalram_pages is a function... " >&6; }
if test ${lb_cv_test_totalram_pages+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_totalram_pages=yes
else $as_nop
  lb_cv_test_totalram_pages=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_totalram_pages" >&5
printf "%s\n" "$lb_cv_test_totalram_pages" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_totalram_pages" = xyes
then :

printf "%s\n" "#define HAVE_TOTALRAM_PAGES_AS_FUNC 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/get_request_key_auth_exported_pc
	O=${T}/get_request_key_auth_exported_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_get_request_key_auth_exported+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"get_request_key_auth_exported\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_get_request_key_auth_exported+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for get_request_key_auth_exported was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if get_request_key_auth() is available" >&5
printf %s "checking if get_request_key_auth() is available... " >&6; }
if test ${lb_cv_test_get_request_key_auth_exported+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_get_request_key_auth_exported=yes
else $as_nop
  lb_cv_test_get_request_key_auth_exported=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_get_request_key_auth_exported" >&5
printf "%s\n" "$lb_cv_test_get_request_key_auth_exported" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_get_request_key_auth_exported" = xyes
then :

printf "%s\n" "#define HAVE_GET_REQUEST_KEY_AUTH 1" >>confdefs.h


fi



	# 5.2


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/kobj_type_default_groups_pc
	O=${T}/kobj_type_default_groups_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_kobj_type_default_groups+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"kobj_type_default_groups\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_kobj_type_default_groups+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for kobj_type_default_groups was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if struct kobj_type have 'default_groups' member" >&5
printf %s "checking if struct kobj_type have 'default_groups' member... " >&6; }
if test ${lb_cv_test_kobj_type_default_groups+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_kobj_type_default_groups=yes
else $as_nop
  lb_cv_test_kobj_type_default_groups=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_kobj_type_default_groups" >&5
printf "%s\n" "$lb_cv_test_kobj_type_default_groups" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_kobj_type_default_groups" = xyes
then :

printf "%s\n" "#define HAVE_KOBJ_TYPE_DEFAULT_GROUPS 1" >>confdefs.h


fi




	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if uid_keyring exists" >&5
printf %s "checking if uid_keyring exists... " >&6; }


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/user_uid_keyring_exists_pc
	O=${T}/user_uid_keyring_exists_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_user_uid_keyring_exists+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"user_uid_keyring_exists\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_user_uid_keyring_exists+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for user_uid_keyring_exists was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for user_uid_keyring_exists" >&5
printf %s "checking for user_uid_keyring_exists... " >&6; }
if test ${lb_cv_test_user_uid_keyring_exists+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_user_uid_keyring_exists=yes
else $as_nop
  lb_cv_test_user_uid_keyring_exists=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_user_uid_keyring_exists" >&5
printf "%s\n" "$lb_cv_test_user_uid_keyring_exists" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_user_uid_keyring_exists" = xyes
then :

printf "%s\n" "#define HAVE_USER_UID_KEYRING 1" >>confdefs.h


fi




	# 5.3


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/lookup_user_key_exported_pc
	O=${T}/lookup_user_key_exported_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_lookup_user_key_exported+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"lookup_user_key_exported\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_lookup_user_key_exported+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for lookup_user_key_exported was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if lookup_user_key() is available" >&5
printf %s "checking if lookup_user_key() is available... " >&6; }
if test ${lb_cv_test_lookup_user_key_exported+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_lookup_user_key_exported=yes
else $as_nop
  lb_cv_test_lookup_user_key_exported=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_lookup_user_key_exported" >&5
printf "%s\n" "$lb_cv_test_lookup_user_key_exported" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_lookup_user_key_exported" = xyes
then :

printf "%s\n" "#define HAVE_LOOKUP_USER_KEY 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/cache_detail_writers_atomic_pc
	O=${T}/cache_detail_writers_atomic_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_cache_detail_writers_atomic+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"cache_detail_writers_atomic\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_cache_detail_writers_atomic+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for cache_detail_writers_atomic was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if struct cache_detail has writers" >&5
printf %s "checking if struct cache_detail has writers... " >&6; }
if test ${lb_cv_test_cache_detail_writers_atomic+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_cache_detail_writers_atomic=yes
else $as_nop
  lb_cv_test_cache_detail_writers_atomic=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_cache_detail_writers_atomic" >&5
printf "%s\n" "$lb_cv_test_cache_detail_writers_atomic" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_cache_detail_writers_atomic" = xyes
then :

printf "%s\n" "#define HAVE_CACHE_DETAIL_WRITERS 1" >>confdefs.h


fi



	# 5.4


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/genl_dumpit_info_pc
	O=${T}/genl_dumpit_info_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_genl_dumpit_info+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"genl_dumpit_info\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_genl_dumpit_info+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for genl_dumpit_info was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if struct genl_dumpit_info has family field" >&5
printf %s "checking if struct genl_dumpit_info has family field... " >&6; }
if test ${lb_cv_test_genl_dumpit_info+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_genl_dumpit_info=yes
else $as_nop
  lb_cv_test_genl_dumpit_info=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_genl_dumpit_info" >&5
printf "%s\n" "$lb_cv_test_genl_dumpit_info" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_genl_dumpit_info" = xyes
then :

printf "%s\n" "#define HAVE_GENL_DUMPIT_INFO 1" >>confdefs.h


fi



	# 5.6


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/proc_ops_pc
	O=${T}/proc_ops_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_proc_ops+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"proc_ops\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_proc_ops+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for proc_ops was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if struct proc_ops exists" >&5
printf %s "checking if struct proc_ops exists... " >&6; }
if test ${lb_cv_test_proc_ops+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_proc_ops=yes
else $as_nop
  lb_cv_test_proc_ops=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_proc_ops" >&5
printf "%s\n" "$lb_cv_test_proc_ops" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_proc_ops" = xyes
then :

printf "%s\n" "#define HAVE_PROC_OPS 1" >>confdefs.h


fi



	# 5.7


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/tcp_sock_set_quickack_exists_pc
	O=${T}/tcp_sock_set_quickack_exists_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_tcp_sock_set_quickack_exists+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"tcp_sock_set_quickack_exists\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_tcp_sock_set_quickack_exists+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for tcp_sock_set_quickack_exists was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'tcp_sock_set_quickack()' exists" >&5
printf %s "checking if 'tcp_sock_set_quickack()' exists... " >&6; }
if test ${lb_cv_test_tcp_sock_set_quickack_exists+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_tcp_sock_set_quickack_exists=yes
else $as_nop
  lb_cv_test_tcp_sock_set_quickack_exists=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_tcp_sock_set_quickack_exists" >&5
printf "%s\n" "$lb_cv_test_tcp_sock_set_quickack_exists" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_tcp_sock_set_quickack_exists" = xyes
then :

printf "%s\n" "#define HAVE_TCP_SOCK_SET_QUICKACK 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/tcp_sock_set_keepintvl_exists_pc
	O=${T}/tcp_sock_set_keepintvl_exists_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_tcp_sock_set_keepintvl_exists+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"tcp_sock_set_keepintvl_exists\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_tcp_sock_set_keepintvl_exists+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for tcp_sock_set_keepintvl_exists was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'tcp_sock_set_keepintvl()' exists" >&5
printf %s "checking if 'tcp_sock_set_keepintvl()' exists... " >&6; }
if test ${lb_cv_test_tcp_sock_set_keepintvl_exists+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_tcp_sock_set_keepintvl_exists=yes
else $as_nop
  lb_cv_test_tcp_sock_set_keepintvl_exists=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_tcp_sock_set_keepintvl_exists" >&5
printf "%s\n" "$lb_cv_test_tcp_sock_set_keepintvl_exists" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_tcp_sock_set_keepintvl_exists" = xyes
then :

printf "%s\n" "#define HAVE_TCP_SOCK_SET_KEEPINTVL 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/tcp_sock_set_keepcnt_exists_pc
	O=${T}/tcp_sock_set_keepcnt_exists_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_tcp_sock_set_keepcnt_exists+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"tcp_sock_set_keepcnt_exists\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_tcp_sock_set_keepcnt_exists+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for tcp_sock_set_keepcnt_exists was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'tcp_sock_set_keepcnt()' exists" >&5
printf %s "checking if 'tcp_sock_set_keepcnt()' exists... " >&6; }
if test ${lb_cv_test_tcp_sock_set_keepcnt_exists+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_tcp_sock_set_keepcnt_exists=yes
else $as_nop
  lb_cv_test_tcp_sock_set_keepcnt_exists=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_tcp_sock_set_keepcnt_exists" >&5
printf "%s\n" "$lb_cv_test_tcp_sock_set_keepcnt_exists" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_tcp_sock_set_keepcnt_exists" = xyes
then :

printf "%s\n" "#define HAVE_TCP_SOCK_SET_KEEPCNT 1" >>confdefs.h


fi



	# 5.8


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/ip6_set_pref_test_pc
	O=${T}/ip6_set_pref_test_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_ip6_set_pref_test+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"ip6_set_pref_test\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_ip6_set_pref_test+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for ip6_set_pref_test was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ip6_sock_set_addr_preferences() exists" >&5
printf %s "checking if ip6_sock_set_addr_preferences() exists... " >&6; }
if test ${lb_cv_test_ip6_set_pref_test+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_ip6_set_pref_test=yes
else $as_nop
  lb_cv_test_ip6_set_pref_test=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_ip6_set_pref_test" >&5
printf "%s\n" "$lb_cv_test_ip6_set_pref_test" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_ip6_set_pref_test" = xyes
then :

printf "%s\n" "#define HAVE_IP6_SET_PREF 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/ip_set_tos_test_pc
	O=${T}/ip_set_tos_test_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_ip_set_tos_test+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"ip_set_tos_test\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_ip_set_tos_test+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for ip_set_tos_test was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ip_sock_set_tos() exists" >&5
printf %s "checking if ip_sock_set_tos() exists... " >&6; }
if test ${lb_cv_test_ip_set_tos_test+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_ip_set_tos_test=yes
else $as_nop
  lb_cv_test_ip_set_tos_test=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_ip_set_tos_test" >&5
printf "%s\n" "$lb_cv_test_ip_set_tos_test" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_ip_set_tos_test" = xyes
then :

printf "%s\n" "#define HAVE_IP_SET_TOS 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/vmalloc_2args_pc
	O=${T}/vmalloc_2args_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_vmalloc_2args+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"vmalloc_2args\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_vmalloc_2args+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for vmalloc_2args was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if __vmalloc has 2 args" >&5
printf %s "checking if __vmalloc has 2 args... " >&6; }
if test ${lb_cv_test_vmalloc_2args+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_vmalloc_2args=yes
else $as_nop
  lb_cv_test_vmalloc_2args=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_vmalloc_2args" >&5
printf "%s\n" "$lb_cv_test_vmalloc_2args" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_vmalloc_2args" = xyes
then :

printf "%s\n" "#define HAVE_VMALLOC_2ARGS 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/nr_unstable_nfs_exists_pc
	O=${T}/nr_unstable_nfs_exists_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_nr_unstable_nfs_exists+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"nr_unstable_nfs_exists\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_nr_unstable_nfs_exists+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for nr_unstable_nfs_exists was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if NR_UNSTABLE_NFS still in use" >&5
printf %s "checking if NR_UNSTABLE_NFS still in use... " >&6; }
if test ${lb_cv_test_nr_unstable_nfs_exists+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_nr_unstable_nfs_exists=yes
else $as_nop
  lb_cv_test_nr_unstable_nfs_exists=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_nr_unstable_nfs_exists" >&5
printf "%s\n" "$lb_cv_test_nr_unstable_nfs_exists" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_nr_unstable_nfs_exists" = xyes
then :

printf "%s\n" "#define HAVE_NR_UNSTABLE_NFS 1" >>confdefs.h


fi




	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if NR_UNSTABLE_NFS is defined but DEPRECATED" >&5
printf %s "checking if NR_UNSTABLE_NFS is defined but DEPRECATED... " >&6; }
	if grep -q -E "NFS unstable pages - DEPRECATED DO NOT USE" "$LINUX/include/linux/mmzone.h" 2>/dev/null
then :


printf "%s\n" "#define HAVE_NR_UNSTABLE_NFS_DEPRECATED 1" >>confdefs.h

		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }

else $as_nop

		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }

fi



	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/kernel_setsockopt_exists_pc
	O=${T}/kernel_setsockopt_exists_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_kernel_setsockopt_exists+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"kernel_setsockopt_exists\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_kernel_setsockopt_exists+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for kernel_setsockopt_exists was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if kernel_setsockopt still in use" >&5
printf %s "checking if kernel_setsockopt still in use... " >&6; }
if test ${lb_cv_test_kernel_setsockopt_exists+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_kernel_setsockopt_exists=yes
else $as_nop
  lb_cv_test_kernel_setsockopt_exists=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_kernel_setsockopt_exists" >&5
printf "%s\n" "$lb_cv_test_kernel_setsockopt_exists" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_kernel_setsockopt_exists" = xyes
then :

printf "%s\n" "#define HAVE_KERNEL_SETSOCKOPT 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/key_need_unlink_exists_pc
	O=${T}/key_need_unlink_exists_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_key_need_unlink_exists+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"key_need_unlink_exists\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_key_need_unlink_exists+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for key_need_unlink_exists was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if KEY_NEED_UNLINK exists" >&5
printf %s "checking if KEY_NEED_UNLINK exists... " >&6; }
if test ${lb_cv_test_key_need_unlink_exists+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_key_need_unlink_exists=yes
else $as_nop
  lb_cv_test_key_need_unlink_exists=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_key_need_unlink_exists" >&5
printf "%s\n" "$lb_cv_test_key_need_unlink_exists" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_key_need_unlink_exists" = xyes
then :

printf "%s\n" "#define HAVE_KEY_NEED_UNLINK 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/security_release_secctx_1arg_pc
	O=${T}/security_release_secctx_1arg_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_security_release_secctx_1arg+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"security_release_secctx_1arg\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_security_release_secctx_1arg+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for security_release_secctx_1arg was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if security_release_secctx has 1 arg" >&5
printf %s "checking if security_release_secctx has 1 arg... " >&6; }
if test ${lb_cv_test_security_release_secctx_1arg+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_security_release_secctx_1arg=yes
else $as_nop
  lb_cv_test_security_release_secctx_1arg=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_security_release_secctx_1arg" >&5
printf "%s\n" "$lb_cv_test_security_release_secctx_1arg" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_security_release_secctx_1arg" = xyes
then :

printf "%s\n" "#define HAVE_SEC_RELEASE_SECCTX_1ARG 1" >>confdefs.h


fi



	# 5.10


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/kfree_sensitive_exists_pc
	O=${T}/kfree_sensitive_exists_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_kfree_sensitive_exists+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"kfree_sensitive_exists\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_kfree_sensitive_exists+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for kfree_sensitive_exists was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if kfree_sensitive() is available" >&5
printf %s "checking if kfree_sensitive() is available... " >&6; }
if test ${lb_cv_test_kfree_sensitive_exists+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_kfree_sensitive_exists=yes
else $as_nop
  lb_cv_test_kfree_sensitive_exists=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_kfree_sensitive_exists" >&5
printf "%s\n" "$lb_cv_test_kfree_sensitive_exists" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_kfree_sensitive_exists" = xyes
then :

printf "%s\n" "#define HAVE_KFREE_SENSITIVE 1" >>confdefs.h


fi





	UNIQUE_ID=$(echo crypto/sha2.h | tr /. __)

	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	as_lb_test=`printf "%s\n" "lb_cv_test_${UNIQUE_ID}" | $as_tr_sh`

	D="$(realpath ${TEST_DIR})"
	T=${D}/${UNIQUE_ID}_pc
	O=${T}/${UNIQUE_ID}_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if eval test \${$as_lb_test+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"${UNIQUE_ID}\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if eval test \${$as_lb_test+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for ${UNIQUE_ID} was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for linux header crypto/sha2.h" >&5
printf %s "checking for linux header crypto/sha2.h... " >&6; }
if eval test \${$as_lb_test+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  eval "$as_lb_test=yes"
else $as_nop
  eval "$as_lb_test=no"
fi
fi
eval ac_res=\$$as_lb_test
	       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if eval test \"x\$"$as_lb_test"\" = x"yes"
then :

printf "%s\n" "#define HAVE_CRYPTO_SHA2_HEADER 1" >>confdefs.h


fi






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/list_cmp_func_t_exists_pc
	O=${T}/list_cmp_func_t_exists_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_list_cmp_func_t_exists+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"list_cmp_func_t_exists\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_list_cmp_func_t_exists+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for list_cmp_func_t_exists was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if list_cmp_func_t type is defined" >&5
printf %s "checking if list_cmp_func_t type is defined... " >&6; }
if test ${lb_cv_test_list_cmp_func_t_exists+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_list_cmp_func_t_exists=yes
else $as_nop
  lb_cv_test_list_cmp_func_t_exists=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_list_cmp_func_t_exists" >&5
printf "%s\n" "$lb_cv_test_list_cmp_func_t_exists" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_list_cmp_func_t_exists" = xyes
then :

printf "%s\n" "#define HAVE_LIST_CMP_FUNC_T 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/nla_strlcpy_pc
	O=${T}/nla_strlcpy_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_nla_strlcpy+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"nla_strlcpy\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_nla_strlcpy+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for nla_strlcpy was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'nla_strlcpy()' still exists" >&5
printf %s "checking if 'nla_strlcpy()' still exists... " >&6; }
if test ${lb_cv_test_nla_strlcpy+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_nla_strlcpy=yes
else $as_nop
  lb_cv_test_nla_strlcpy=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_nla_strlcpy" >&5
printf "%s\n" "$lb_cv_test_nla_strlcpy" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_nla_strlcpy" = xyes
then :

printf "%s\n" "#define HAVE_NLA_STRLCPY 1" >>confdefs.h


fi



	# 5.12


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/linux_fortify_string_header_pc
	O=${T}/linux_fortify_string_header_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_linux_fortify_string_header+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"linux_fortify_string_header\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_linux_fortify_string_header+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for linux_fortify_string_header was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if linux/fortify-string.h header available" >&5
printf %s "checking if linux/fortify-string.h header available... " >&6; }
if test ${lb_cv_test_linux_fortify_string_header+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_linux_fortify_string_header=yes
else $as_nop
  lb_cv_test_linux_fortify_string_header=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_linux_fortify_string_header" >&5
printf "%s\n" "$lb_cv_test_linux_fortify_string_header" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_linux_fortify_string_header" = xyes
then :

printf "%s\n" "#define HAVE_LINUX_FORTIFY_STRING_HEADER 1" >>confdefs.h


fi





	UNIQUE_ID=$(echo crypto/internal/cipher.h | tr /. __)

	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	as_lb_test=`printf "%s\n" "lb_cv_test_${UNIQUE_ID}" | $as_tr_sh`

	D="$(realpath ${TEST_DIR})"
	T=${D}/${UNIQUE_ID}_pc
	O=${T}/${UNIQUE_ID}_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if eval test \${$as_lb_test+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"${UNIQUE_ID}\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if eval test \${$as_lb_test+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for ${UNIQUE_ID} was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for linux header crypto/internal/cipher.h" >&5
printf %s "checking for linux header crypto/internal/cipher.h... " >&6; }
if eval test \${$as_lb_test+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  eval "$as_lb_test=yes"
else $as_nop
  eval "$as_lb_test=no"
fi
fi
eval ac_res=\$$as_lb_test
	       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if eval test \"x\$"$as_lb_test"\" = x"yes"
then :

printf "%s\n" "#define HAVE_CIPHER_H 1" >>confdefs.h


fi




	# 5.13


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/task_is_running_pc
	O=${T}/task_is_running_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_task_is_running+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"task_is_running\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_task_is_running+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for task_is_running was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if task_is_running() is defined" >&5
printf %s "checking if task_is_running() is defined... " >&6; }
if test ${lb_cv_test_task_is_running+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_task_is_running=yes
else $as_nop
  lb_cv_test_task_is_running=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_task_is_running" >&5
printf "%s\n" "$lb_cv_test_task_is_running" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_task_is_running" = xyes
then :

printf "%s\n" "#define HAVE_TASK_IS_RUNNING 1" >>confdefs.h


fi



	# 5.14


	UNIQUE_ID=$(echo linux/stdarg.h | tr /. __)

	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	as_lb_test=`printf "%s\n" "lb_cv_test_${UNIQUE_ID}" | $as_tr_sh`

	D="$(realpath ${TEST_DIR})"
	T=${D}/${UNIQUE_ID}_pc
	O=${T}/${UNIQUE_ID}_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if eval test \${$as_lb_test+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"${UNIQUE_ID}\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if eval test \${$as_lb_test+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for ${UNIQUE_ID} was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for linux header linux/stdarg.h" >&5
printf %s "checking for linux header linux/stdarg.h... " >&6; }
if eval test \${$as_lb_test+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  eval "$as_lb_test=yes"
else $as_nop
  eval "$as_lb_test=no"
fi
fi
eval ac_res=\$$as_lb_test
	       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if eval test \"x\$"$as_lb_test"\" = x"yes"
then :

printf "%s\n" "#define HAVE_LINUX_STDARG_HEADER 1" >>confdefs.h


fi






	UNIQUE_ID=$(echo linux/panic_notifier.h | tr /. __)

	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	as_lb_test=`printf "%s\n" "lb_cv_test_${UNIQUE_ID}" | $as_tr_sh`

	D="$(realpath ${TEST_DIR})"
	T=${D}/${UNIQUE_ID}_pc
	O=${T}/${UNIQUE_ID}_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if eval test \${$as_lb_test+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"${UNIQUE_ID}\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if eval test \${$as_lb_test+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for ${UNIQUE_ID} was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for linux header linux/panic_notifier.h" >&5
printf %s "checking for linux header linux/panic_notifier.h... " >&6; }
if eval test \${$as_lb_test+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  eval "$as_lb_test=yes"
else $as_nop
  eval "$as_lb_test=no"
fi
fi
eval ac_res=\$$as_lb_test
	       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if eval test \"x\$"$as_lb_test"\" = x"yes"
then :

printf "%s\n" "#define HAVE_PANIC_NOTIFIER_H 1" >>confdefs.h


fi




	# 5.15


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/param_set_uint_minmax_pc
	O=${T}/param_set_uint_minmax_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_param_set_uint_minmax+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"param_set_uint_minmax\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_param_set_uint_minmax+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for param_set_uint_minmax was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if function 'param_set_uint_minmax' exist" >&5
printf %s "checking if function 'param_set_uint_minmax' exist... " >&6; }
if test ${lb_cv_test_param_set_uint_minmax+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_param_set_uint_minmax=yes
else $as_nop
  lb_cv_test_param_set_uint_minmax=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_param_set_uint_minmax" >&5
printf "%s\n" "$lb_cv_test_param_set_uint_minmax" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_param_set_uint_minmax" = xyes
then :

printf "%s\n" "#define HAVE_PARAM_SET_UINT_MINMAX 1" >>confdefs.h


fi



	# 5.17


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/pde_data_pc
	O=${T}/pde_data_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_pde_data+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"pde_data\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_pde_data+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for pde_data was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if function 'pde_data' exist" >&5
printf %s "checking if function 'pde_data' exist... " >&6; }
if test ${lb_cv_test_pde_data+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_pde_data=yes
else $as_nop
  lb_cv_test_pde_data=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_pde_data" >&5
printf "%s\n" "$lb_cv_test_pde_data" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_pde_data" = xyes
then :

printf "%s\n" "#define HAVE_pde_data 1" >>confdefs.h


else $as_nop

printf "%s\n" "#define pde_data(inode) PDE_DATA(inode)" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/bio_alloc_with_bdev_pc
	O=${T}/bio_alloc_with_bdev_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_bio_alloc_with_bdev+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"bio_alloc_with_bdev\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_bio_alloc_with_bdev+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for bio_alloc_with_bdev was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if bio_alloc() takes a struct block_device" >&5
printf %s "checking if bio_alloc() takes a struct block_device... " >&6; }
if test ${lb_cv_test_bio_alloc_with_bdev+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_bio_alloc_with_bdev=yes
else $as_nop
  lb_cv_test_bio_alloc_with_bdev=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_bio_alloc_with_bdev" >&5
printf "%s\n" "$lb_cv_test_bio_alloc_with_bdev" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_bio_alloc_with_bdev" = xyes
then :

printf "%s\n" "#define HAVE_BIO_ALLOC_WITH_BDEV 1" >>confdefs.h


fi



	# 6.2


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/timer_delete_sync_pc
	O=${T}/timer_delete_sync_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_timer_delete_sync+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"timer_delete_sync\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_timer_delete_sync+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for timer_delete_sync was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if timer_delete_sync() is available" >&5
printf %s "checking if timer_delete_sync() is available... " >&6; }
if test ${lb_cv_test_timer_delete_sync+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_timer_delete_sync=yes
else $as_nop
  lb_cv_test_timer_delete_sync=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_timer_delete_sync" >&5
printf "%s\n" "$lb_cv_test_timer_delete_sync" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_timer_delete_sync" = xyes
then :

printf "%s\n" "#define HAVE_TIMER_DELETE_SYNC 1" >>confdefs.h


else $as_nop

printf "%s\n" "#define timer_delete_sync(t) del_timer_sync(t)" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/timer_delete_pc
	O=${T}/timer_delete_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_timer_delete+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"timer_delete\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_timer_delete+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for timer_delete was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if timer_delete() is available" >&5
printf %s "checking if timer_delete() is available... " >&6; }
if test ${lb_cv_test_timer_delete+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_timer_delete=yes
else $as_nop
  lb_cv_test_timer_delete=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_timer_delete" >&5
printf "%s\n" "$lb_cv_test_timer_delete" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_timer_delete" = xyes
then :

printf "%s\n" "#define HAVE_TIMER_DELETE 1" >>confdefs.h


else $as_nop

printf "%s\n" "#define timer_delete(t) del_timer(t)" >>confdefs.h


fi









	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/external_rdma_create_id_4args_pc
	O=${T}/external_rdma_create_id_4args_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_external_rdma_create_id_4args+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"external_rdma_create_id_4args\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_external_rdma_create_id_4args+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for external_rdma_create_id_4args was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X'# else statement not available
		'" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking (external) if 'rdma_create_id' wants four args" >&5
printf %s "checking (external) if 'rdma_create_id' wants four args... " >&6; }
if test ${lb_cv_test_external_rdma_create_id_4args+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_external_rdma_create_id_4args=yes
else $as_nop
  lb_cv_test_external_rdma_create_id_4args=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_external_rdma_create_id_4args" >&5
printf "%s\n" "$lb_cv_test_external_rdma_create_id_4args" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_external_rdma_create_id_4args" = xyes
then :

printf "%s\n" "#define HAVE_OFED_RDMA_CREATE_ID_4ARG 1" >>confdefs.h

fi



	# in-kernel tests ... NOTE: IN_KERNEL_ here matches sed in Makefile.in

	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/in_kernel_rdma_create_id_4args_pc
	O=${T}/in_kernel_rdma_create_id_4args_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_in_kernel_rdma_create_id_4args+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"in_kernel_rdma_create_id_4args\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_in_kernel_rdma_create_id_4args+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for in_kernel_rdma_create_id_4args was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X'# else statement not available
		'" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking (in-kernel) if 'rdma_create_id' wants four args" >&5
printf %s "checking (in-kernel) if 'rdma_create_id' wants four args... " >&6; }
if test ${lb_cv_test_in_kernel_rdma_create_id_4args+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_in_kernel_rdma_create_id_4args=yes
else $as_nop
  lb_cv_test_in_kernel_rdma_create_id_4args=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_in_kernel_rdma_create_id_4args" >&5
printf "%s\n" "$lb_cv_test_in_kernel_rdma_create_id_4args" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_in_kernel_rdma_create_id_4args" = xyes
then :

printf "%s\n" "#define IN_KERNEL_HAVE_OFED_RDMA_CREATE_ID_4ARG 1" >>confdefs.h

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/external_rdma_create_id_5args_pc
	O=${T}/external_rdma_create_id_5args_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_external_rdma_create_id_5args+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"external_rdma_create_id_5args\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_external_rdma_create_id_5args+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for external_rdma_create_id_5args was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X'# else statement not available
		'" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking (external) if 'rdma_create_id' wants five args" >&5
printf %s "checking (external) if 'rdma_create_id' wants five args... " >&6; }
if test ${lb_cv_test_external_rdma_create_id_5args+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_external_rdma_create_id_5args=yes
else $as_nop
  lb_cv_test_external_rdma_create_id_5args=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_external_rdma_create_id_5args" >&5
printf "%s\n" "$lb_cv_test_external_rdma_create_id_5args" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_external_rdma_create_id_5args" = xyes
then :

printf "%s\n" "#define HAVE_OFED_RDMA_CREATE_ID_5ARG 1" >>confdefs.h

fi



	# in-kernel tests ... NOTE: IN_KERNEL_ here matches sed in Makefile.in

	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/in_kernel_rdma_create_id_5args_pc
	O=${T}/in_kernel_rdma_create_id_5args_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_in_kernel_rdma_create_id_5args+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"in_kernel_rdma_create_id_5args\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_in_kernel_rdma_create_id_5args+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for in_kernel_rdma_create_id_5args was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X'# else statement not available
		'" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking (in-kernel) if 'rdma_create_id' wants five args" >&5
printf %s "checking (in-kernel) if 'rdma_create_id' wants five args... " >&6; }
if test ${lb_cv_test_in_kernel_rdma_create_id_5args+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_in_kernel_rdma_create_id_5args=yes
else $as_nop
  lb_cv_test_in_kernel_rdma_create_id_5args=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_in_kernel_rdma_create_id_5args" >&5
printf "%s\n" "$lb_cv_test_in_kernel_rdma_create_id_5args" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_in_kernel_rdma_create_id_5args" = xyes
then :

printf "%s\n" "#define IN_KERNEL_HAVE_OFED_RDMA_CREATE_ID_5ARG 1" >>confdefs.h

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/external_ib_cq_init_attr_pc
	O=${T}/external_ib_cq_init_attr_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_external_ib_cq_init_attr+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"external_ib_cq_init_attr\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_external_ib_cq_init_attr+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for external_ib_cq_init_attr was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X'# else statement not available
		'" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking (external) if 'struct ib_cq_init_attr' is used by ib_create_cq" >&5
printf %s "checking (external) if 'struct ib_cq_init_attr' is used by ib_create_cq... " >&6; }
if test ${lb_cv_test_external_ib_cq_init_attr+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_external_ib_cq_init_attr=yes
else $as_nop
  lb_cv_test_external_ib_cq_init_attr=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_external_ib_cq_init_attr" >&5
printf "%s\n" "$lb_cv_test_external_ib_cq_init_attr" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_external_ib_cq_init_attr" = xyes
then :

printf "%s\n" "#define HAVE_OFED_IB_CQ_INIT_ATTR 1" >>confdefs.h

fi



	# in-kernel tests ... NOTE: IN_KERNEL_ here matches sed in Makefile.in

	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/in_kernel_ib_cq_init_attr_pc
	O=${T}/in_kernel_ib_cq_init_attr_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_in_kernel_ib_cq_init_attr+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"in_kernel_ib_cq_init_attr\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_in_kernel_ib_cq_init_attr+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for in_kernel_ib_cq_init_attr was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X'# else statement not available
		'" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking (in-kernel) if 'struct ib_cq_init_attr' is used by ib_create_cq" >&5
printf %s "checking (in-kernel) if 'struct ib_cq_init_attr' is used by ib_create_cq... " >&6; }
if test ${lb_cv_test_in_kernel_ib_cq_init_attr+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_in_kernel_ib_cq_init_attr=yes
else $as_nop
  lb_cv_test_in_kernel_ib_cq_init_attr=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_in_kernel_ib_cq_init_attr" >&5
printf "%s\n" "$lb_cv_test_in_kernel_ib_cq_init_attr" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_in_kernel_ib_cq_init_attr" = xyes
then :

printf "%s\n" "#define IN_KERNEL_HAVE_OFED_IB_CQ_INIT_ATTR 1" >>confdefs.h

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/external_ib_alloc_fast_reg_mr_pc
	O=${T}/external_ib_alloc_fast_reg_mr_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_external_ib_alloc_fast_reg_mr+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"external_ib_alloc_fast_reg_mr\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_external_ib_alloc_fast_reg_mr+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for external_ib_alloc_fast_reg_mr was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X'# else statement not available
		'" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking (external) if 'ib_alloc_fast_reg_mr' exists" >&5
printf %s "checking (external) if 'ib_alloc_fast_reg_mr' exists... " >&6; }
if test ${lb_cv_test_external_ib_alloc_fast_reg_mr+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_external_ib_alloc_fast_reg_mr=yes
else $as_nop
  lb_cv_test_external_ib_alloc_fast_reg_mr=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_external_ib_alloc_fast_reg_mr" >&5
printf "%s\n" "$lb_cv_test_external_ib_alloc_fast_reg_mr" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_external_ib_alloc_fast_reg_mr" = xyes
then :

printf "%s\n" "#define HAVE_OFED_IB_ALLOC_FAST_REG_MR 1" >>confdefs.h

fi



	# in-kernel tests ... NOTE: IN_KERNEL_ here matches sed in Makefile.in

	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/in_kernel_ib_alloc_fast_reg_mr_pc
	O=${T}/in_kernel_ib_alloc_fast_reg_mr_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_in_kernel_ib_alloc_fast_reg_mr+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"in_kernel_ib_alloc_fast_reg_mr\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_in_kernel_ib_alloc_fast_reg_mr+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for in_kernel_ib_alloc_fast_reg_mr was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X'# else statement not available
		'" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking (in-kernel) if 'ib_alloc_fast_reg_mr' exists" >&5
printf %s "checking (in-kernel) if 'ib_alloc_fast_reg_mr' exists... " >&6; }
if test ${lb_cv_test_in_kernel_ib_alloc_fast_reg_mr+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_in_kernel_ib_alloc_fast_reg_mr=yes
else $as_nop
  lb_cv_test_in_kernel_ib_alloc_fast_reg_mr=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_in_kernel_ib_alloc_fast_reg_mr" >&5
printf "%s\n" "$lb_cv_test_in_kernel_ib_alloc_fast_reg_mr" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_in_kernel_ib_alloc_fast_reg_mr" = xyes
then :

printf "%s\n" "#define IN_KERNEL_HAVE_OFED_IB_ALLOC_FAST_REG_MR 1" >>confdefs.h

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/external_ib_get_dma_mr_pc
	O=${T}/external_ib_get_dma_mr_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_external_ib_get_dma_mr+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"external_ib_get_dma_mr\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_external_ib_get_dma_mr+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for external_ib_get_dma_mr was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X'# else statement not available
		'" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking (external) if 'ib_get_dma_mr' exists" >&5
printf %s "checking (external) if 'ib_get_dma_mr' exists... " >&6; }
if test ${lb_cv_test_external_ib_get_dma_mr+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_external_ib_get_dma_mr=yes
else $as_nop
  lb_cv_test_external_ib_get_dma_mr=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_external_ib_get_dma_mr" >&5
printf "%s\n" "$lb_cv_test_external_ib_get_dma_mr" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_external_ib_get_dma_mr" = xyes
then :

printf "%s\n" "#define HAVE_OFED_IB_GET_DMA_MR 1" >>confdefs.h

fi



	# in-kernel tests ... NOTE: IN_KERNEL_ here matches sed in Makefile.in

	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/in_kernel_ib_get_dma_mr_pc
	O=${T}/in_kernel_ib_get_dma_mr_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_in_kernel_ib_get_dma_mr+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"in_kernel_ib_get_dma_mr\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_in_kernel_ib_get_dma_mr+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for in_kernel_ib_get_dma_mr was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X'# else statement not available
		'" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking (in-kernel) if 'ib_get_dma_mr' exists" >&5
printf %s "checking (in-kernel) if 'ib_get_dma_mr' exists... " >&6; }
if test ${lb_cv_test_in_kernel_ib_get_dma_mr+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_in_kernel_ib_get_dma_mr=yes
else $as_nop
  lb_cv_test_in_kernel_ib_get_dma_mr=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_in_kernel_ib_get_dma_mr" >&5
printf "%s\n" "$lb_cv_test_in_kernel_ib_get_dma_mr" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_in_kernel_ib_get_dma_mr" = xyes
then :

printf "%s\n" "#define IN_KERNEL_HAVE_OFED_IB_GET_DMA_MR 1" >>confdefs.h

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/external_ib_rdma_wr_pc
	O=${T}/external_ib_rdma_wr_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_external_ib_rdma_wr+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"external_ib_rdma_wr\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_external_ib_rdma_wr+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for external_ib_rdma_wr was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X'# else statement not available
		'" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking (external) if 'struct ib_rdma_wr' is defined" >&5
printf %s "checking (external) if 'struct ib_rdma_wr' is defined... " >&6; }
if test ${lb_cv_test_external_ib_rdma_wr+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_external_ib_rdma_wr=yes
else $as_nop
  lb_cv_test_external_ib_rdma_wr=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_external_ib_rdma_wr" >&5
printf "%s\n" "$lb_cv_test_external_ib_rdma_wr" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_external_ib_rdma_wr" = xyes
then :

printf "%s\n" "#define HAVE_OFED_IB_RDMA_WR 1" >>confdefs.h

fi



	# in-kernel tests ... NOTE: IN_KERNEL_ here matches sed in Makefile.in

	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/in_kernel_ib_rdma_wr_pc
	O=${T}/in_kernel_ib_rdma_wr_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_in_kernel_ib_rdma_wr+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"in_kernel_ib_rdma_wr\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_in_kernel_ib_rdma_wr+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for in_kernel_ib_rdma_wr was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X'# else statement not available
		'" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking (in-kernel) if 'struct ib_rdma_wr' is defined" >&5
printf %s "checking (in-kernel) if 'struct ib_rdma_wr' is defined... " >&6; }
if test ${lb_cv_test_in_kernel_ib_rdma_wr+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_in_kernel_ib_rdma_wr=yes
else $as_nop
  lb_cv_test_in_kernel_ib_rdma_wr=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_in_kernel_ib_rdma_wr" >&5
printf "%s\n" "$lb_cv_test_in_kernel_ib_rdma_wr" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_in_kernel_ib_rdma_wr" = xyes
then :

printf "%s\n" "#define IN_KERNEL_HAVE_OFED_IB_RDMA_WR 1" >>confdefs.h

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/external_ib_map_mr_sg_4args_pc
	O=${T}/external_ib_map_mr_sg_4args_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_external_ib_map_mr_sg_4args+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"external_ib_map_mr_sg_4args\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_external_ib_map_mr_sg_4args+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for external_ib_map_mr_sg_4args was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X'# else statement not available
		'" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking (external) if 'ib_map_mr_sg' with 4 args exists" >&5
printf %s "checking (external) if 'ib_map_mr_sg' with 4 args exists... " >&6; }
if test ${lb_cv_test_external_ib_map_mr_sg_4args+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_external_ib_map_mr_sg_4args=yes
else $as_nop
  lb_cv_test_external_ib_map_mr_sg_4args=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_external_ib_map_mr_sg_4args" >&5
printf "%s\n" "$lb_cv_test_external_ib_map_mr_sg_4args" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_external_ib_map_mr_sg_4args" = xyes
then :

printf "%s\n" "#define HAVE_OFED_IB_MAP_MR_SG 1" >>confdefs.h

fi



	# in-kernel tests ... NOTE: IN_KERNEL_ here matches sed in Makefile.in

	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/in_kernel_ib_map_mr_sg_4args_pc
	O=${T}/in_kernel_ib_map_mr_sg_4args_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_in_kernel_ib_map_mr_sg_4args+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"in_kernel_ib_map_mr_sg_4args\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_in_kernel_ib_map_mr_sg_4args+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for in_kernel_ib_map_mr_sg_4args was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X'# else statement not available
		'" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking (in-kernel) if 'ib_map_mr_sg' with 4 args exists" >&5
printf %s "checking (in-kernel) if 'ib_map_mr_sg' with 4 args exists... " >&6; }
if test ${lb_cv_test_in_kernel_ib_map_mr_sg_4args+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_in_kernel_ib_map_mr_sg_4args=yes
else $as_nop
  lb_cv_test_in_kernel_ib_map_mr_sg_4args=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_in_kernel_ib_map_mr_sg_4args" >&5
printf "%s\n" "$lb_cv_test_in_kernel_ib_map_mr_sg_4args" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_in_kernel_ib_map_mr_sg_4args" = xyes
then :

printf "%s\n" "#define IN_KERNEL_HAVE_OFED_IB_MAP_MR_SG 1" >>confdefs.h

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/external_ib_map_mr_sg_5args_pc
	O=${T}/external_ib_map_mr_sg_5args_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_external_ib_map_mr_sg_5args+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"external_ib_map_mr_sg_5args\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_external_ib_map_mr_sg_5args+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for external_ib_map_mr_sg_5args was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X'# else statement not available
		'" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking (external) if struct ib_reg_wr exists" >&5
printf %s "checking (external) if struct ib_reg_wr exists... " >&6; }
if test ${lb_cv_test_external_ib_map_mr_sg_5args+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_external_ib_map_mr_sg_5args=yes
else $as_nop
  lb_cv_test_external_ib_map_mr_sg_5args=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_external_ib_map_mr_sg_5args" >&5
printf "%s\n" "$lb_cv_test_external_ib_map_mr_sg_5args" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_external_ib_map_mr_sg_5args" = xyes
then :

printf "%s\n" "#define HAVE_OFED_IB_MAP_MR_SG 1" >>confdefs.h

fi



	# in-kernel tests ... NOTE: IN_KERNEL_ here matches sed in Makefile.in

	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/in_kernel_ib_map_mr_sg_5args_pc
	O=${T}/in_kernel_ib_map_mr_sg_5args_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_in_kernel_ib_map_mr_sg_5args+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"in_kernel_ib_map_mr_sg_5args\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_in_kernel_ib_map_mr_sg_5args+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for in_kernel_ib_map_mr_sg_5args was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X'# else statement not available
		'" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking (in-kernel) if struct ib_reg_wr exists" >&5
printf %s "checking (in-kernel) if struct ib_reg_wr exists... " >&6; }
if test ${lb_cv_test_in_kernel_ib_map_mr_sg_5args+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_in_kernel_ib_map_mr_sg_5args=yes
else $as_nop
  lb_cv_test_in_kernel_ib_map_mr_sg_5args=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_in_kernel_ib_map_mr_sg_5args" >&5
printf "%s\n" "$lb_cv_test_in_kernel_ib_map_mr_sg_5args" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_in_kernel_ib_map_mr_sg_5args" = xyes
then :

printf "%s\n" "#define IN_KERNEL_HAVE_OFED_IB_MAP_MR_SG 1" >>confdefs.h

fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/external_ib_map_mr_sg_5args_pc
	O=${T}/external_ib_map_mr_sg_5args_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_external_ib_map_mr_sg_5args+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"external_ib_map_mr_sg_5args\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_external_ib_map_mr_sg_5args+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for external_ib_map_mr_sg_5args was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X'# else statement not available
		'" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking (external) if 'ib_map_mr_sg()' with 5 args exists" >&5
printf %s "checking (external) if 'ib_map_mr_sg()' with 5 args exists... " >&6; }
if test ${lb_cv_test_external_ib_map_mr_sg_5args+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_external_ib_map_mr_sg_5args=yes
else $as_nop
  lb_cv_test_external_ib_map_mr_sg_5args=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_external_ib_map_mr_sg_5args" >&5
printf "%s\n" "$lb_cv_test_external_ib_map_mr_sg_5args" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_external_ib_map_mr_sg_5args" = xyes
then :

printf "%s\n" "#define HAVE_OFED_IB_MAP_MR_SG_5ARGS 1" >>confdefs.h

fi



	# in-kernel tests ... NOTE: IN_KERNEL_ here matches sed in Makefile.in

	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/in_kernel_ib_map_mr_sg_5args_pc
	O=${T}/in_kernel_ib_map_mr_sg_5args_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_in_kernel_ib_map_mr_sg_5args+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"in_kernel_ib_map_mr_sg_5args\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_in_kernel_ib_map_mr_sg_5args+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for in_kernel_ib_map_mr_sg_5args was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X'# else statement not available
		'" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking (in-kernel) if 'ib_map_mr_sg()' with 5 args exists" >&5
printf %s "checking (in-kernel) if 'ib_map_mr_sg()' with 5 args exists... " >&6; }
if test ${lb_cv_test_in_kernel_ib_map_mr_sg_5args+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_in_kernel_ib_map_mr_sg_5args=yes
else $as_nop
  lb_cv_test_in_kernel_ib_map_mr_sg_5args=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_in_kernel_ib_map_mr_sg_5args" >&5
printf "%s\n" "$lb_cv_test_in_kernel_ib_map_mr_sg_5args" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_in_kernel_ib_map_mr_sg_5args" = xyes
then :

printf "%s\n" "#define IN_KERNEL_HAVE_OFED_IB_MAP_MR_SG_5ARGS 1" >>confdefs.h

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/external_ib_device_attrs_pc
	O=${T}/external_ib_device_attrs_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_external_ib_device_attrs+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"external_ib_device_attrs\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_external_ib_device_attrs+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for external_ib_device_attrs was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X'# else statement not available
		'" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking (external) if 'struct ib_device' has member 'attrs'" >&5
printf %s "checking (external) if 'struct ib_device' has member 'attrs'... " >&6; }
if test ${lb_cv_test_external_ib_device_attrs+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_external_ib_device_attrs=yes
else $as_nop
  lb_cv_test_external_ib_device_attrs=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_external_ib_device_attrs" >&5
printf "%s\n" "$lb_cv_test_external_ib_device_attrs" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_external_ib_device_attrs" = xyes
then :

printf "%s\n" "#define HAVE_OFED_IB_DEVICE_ATTRS 1" >>confdefs.h

fi



	# in-kernel tests ... NOTE: IN_KERNEL_ here matches sed in Makefile.in

	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/in_kernel_ib_device_attrs_pc
	O=${T}/in_kernel_ib_device_attrs_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_in_kernel_ib_device_attrs+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"in_kernel_ib_device_attrs\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_in_kernel_ib_device_attrs+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for in_kernel_ib_device_attrs was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X'# else statement not available
		'" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking (in-kernel) if 'struct ib_device' has member 'attrs'" >&5
printf %s "checking (in-kernel) if 'struct ib_device' has member 'attrs'... " >&6; }
if test ${lb_cv_test_in_kernel_ib_device_attrs+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_in_kernel_ib_device_attrs=yes
else $as_nop
  lb_cv_test_in_kernel_ib_device_attrs=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_in_kernel_ib_device_attrs" >&5
printf "%s\n" "$lb_cv_test_in_kernel_ib_device_attrs" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_in_kernel_ib_device_attrs" = xyes
then :

printf "%s\n" "#define IN_KERNEL_HAVE_OFED_IB_DEVICE_ATTRS 1" >>confdefs.h

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/external_ib_alloc_pd_pc
	O=${T}/external_ib_alloc_pd_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_external_ib_alloc_pd+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"external_ib_alloc_pd\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_external_ib_alloc_pd+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for external_ib_alloc_pd was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X'# else statement not available
		'" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking (external) if 2arg 'ib_alloc_pd' exists" >&5
printf %s "checking (external) if 2arg 'ib_alloc_pd' exists... " >&6; }
if test ${lb_cv_test_external_ib_alloc_pd+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_external_ib_alloc_pd=yes
else $as_nop
  lb_cv_test_external_ib_alloc_pd=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_external_ib_alloc_pd" >&5
printf "%s\n" "$lb_cv_test_external_ib_alloc_pd" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_external_ib_alloc_pd" = xyes
then :

printf "%s\n" "#define HAVE_OFED_IB_ALLOC_PD_2ARGS 1" >>confdefs.h

fi



	# in-kernel tests ... NOTE: IN_KERNEL_ here matches sed in Makefile.in

	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/in_kernel_ib_alloc_pd_pc
	O=${T}/in_kernel_ib_alloc_pd_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_in_kernel_ib_alloc_pd+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"in_kernel_ib_alloc_pd\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_in_kernel_ib_alloc_pd+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for in_kernel_ib_alloc_pd was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X'# else statement not available
		'" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking (in-kernel) if 2arg 'ib_alloc_pd' exists" >&5
printf %s "checking (in-kernel) if 2arg 'ib_alloc_pd' exists... " >&6; }
if test ${lb_cv_test_in_kernel_ib_alloc_pd+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_in_kernel_ib_alloc_pd=yes
else $as_nop
  lb_cv_test_in_kernel_ib_alloc_pd=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_in_kernel_ib_alloc_pd" >&5
printf "%s\n" "$lb_cv_test_in_kernel_ib_alloc_pd" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_in_kernel_ib_alloc_pd" = xyes
then :

printf "%s\n" "#define IN_KERNEL_HAVE_OFED_IB_ALLOC_PD_2ARGS 1" >>confdefs.h

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/external_ib_inc_rkey_pc
	O=${T}/external_ib_inc_rkey_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_external_ib_inc_rkey+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"external_ib_inc_rkey\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_external_ib_inc_rkey+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for external_ib_inc_rkey was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X'# else statement not available
		'" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking (external) if function 'ib_inc_rkey' is defined" >&5
printf %s "checking (external) if function 'ib_inc_rkey' is defined... " >&6; }
if test ${lb_cv_test_external_ib_inc_rkey+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_external_ib_inc_rkey=yes
else $as_nop
  lb_cv_test_external_ib_inc_rkey=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_external_ib_inc_rkey" >&5
printf "%s\n" "$lb_cv_test_external_ib_inc_rkey" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_external_ib_inc_rkey" = xyes
then :

printf "%s\n" "#define HAVE_OFED_IB_INC_RKEY 1" >>confdefs.h

fi



	# in-kernel tests ... NOTE: IN_KERNEL_ here matches sed in Makefile.in

	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/in_kernel_ib_inc_rkey_pc
	O=${T}/in_kernel_ib_inc_rkey_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_in_kernel_ib_inc_rkey+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"in_kernel_ib_inc_rkey\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_in_kernel_ib_inc_rkey+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for in_kernel_ib_inc_rkey was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X'# else statement not available
		'" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking (in-kernel) if function 'ib_inc_rkey' is defined" >&5
printf %s "checking (in-kernel) if function 'ib_inc_rkey' is defined... " >&6; }
if test ${lb_cv_test_in_kernel_ib_inc_rkey+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_in_kernel_ib_inc_rkey=yes
else $as_nop
  lb_cv_test_in_kernel_ib_inc_rkey=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_in_kernel_ib_inc_rkey" >&5
printf "%s\n" "$lb_cv_test_in_kernel_ib_inc_rkey" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_in_kernel_ib_inc_rkey" = xyes
then :

printf "%s\n" "#define IN_KERNEL_HAVE_OFED_IB_INC_RKEY 1" >>confdefs.h

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/external_ib_post_send_recv_const_pc
	O=${T}/external_ib_post_send_recv_const_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_external_ib_post_send_recv_const+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"external_ib_post_send_recv_const\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_external_ib_post_send_recv_const+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for external_ib_post_send_recv_const was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X'# else statement not available
		'" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking (external) if 'ib_post_send() and ib_post_recv()' have const parameters" >&5
printf %s "checking (external) if 'ib_post_send() and ib_post_recv()' have const parameters... " >&6; }
if test ${lb_cv_test_external_ib_post_send_recv_const+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_external_ib_post_send_recv_const=yes
else $as_nop
  lb_cv_test_external_ib_post_send_recv_const=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_external_ib_post_send_recv_const" >&5
printf "%s\n" "$lb_cv_test_external_ib_post_send_recv_const" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_external_ib_post_send_recv_const" = xyes
then :

printf "%s\n" "#define HAVE_OFED_IB_POST_SEND_RECV_CONST 1" >>confdefs.h

fi



	# in-kernel tests ... NOTE: IN_KERNEL_ here matches sed in Makefile.in

	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/in_kernel_ib_post_send_recv_const_pc
	O=${T}/in_kernel_ib_post_send_recv_const_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_in_kernel_ib_post_send_recv_const+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"in_kernel_ib_post_send_recv_const\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_in_kernel_ib_post_send_recv_const+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for in_kernel_ib_post_send_recv_const was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X'# else statement not available
		'" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking (in-kernel) if 'ib_post_send() and ib_post_recv()' have const parameters" >&5
printf %s "checking (in-kernel) if 'ib_post_send() and ib_post_recv()' have const parameters... " >&6; }
if test ${lb_cv_test_in_kernel_ib_post_send_recv_const+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_in_kernel_ib_post_send_recv_const=yes
else $as_nop
  lb_cv_test_in_kernel_ib_post_send_recv_const=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_in_kernel_ib_post_send_recv_const" >&5
printf "%s\n" "$lb_cv_test_in_kernel_ib_post_send_recv_const" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_in_kernel_ib_post_send_recv_const" = xyes
then :

printf "%s\n" "#define IN_KERNEL_HAVE_OFED_IB_POST_SEND_RECV_CONST 1" >>confdefs.h

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/external_sane_ib_dma_map_sg_pc
	O=${T}/external_sane_ib_dma_map_sg_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_external_sane_ib_dma_map_sg+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"external_sane_ib_dma_map_sg\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_external_sane_ib_dma_map_sg+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for external_sane_ib_dma_map_sg was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X'# else statement not available
		module'" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking (external) if if ib_dma_map_sg() is sane" >&5
printf %s "checking (external) if if ib_dma_map_sg() is sane... " >&6; }
if test ${lb_cv_test_external_sane_ib_dma_map_sg+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_external_sane_ib_dma_map_sg=yes
else $as_nop
  lb_cv_test_external_sane_ib_dma_map_sg=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_external_sane_ib_dma_map_sg" >&5
printf "%s\n" "$lb_cv_test_external_sane_ib_dma_map_sg" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_external_sane_ib_dma_map_sg" = xyes
then :

printf "%s\n" "#define HAVE_OFED_IB_DMA_MAP_SG_SANE 1" >>confdefs.h

fi



	# in-kernel tests ... NOTE: IN_KERNEL_ here matches sed in Makefile.in

	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/in_kernel_sane_ib_dma_map_sg_pc
	O=${T}/in_kernel_sane_ib_dma_map_sg_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_in_kernel_sane_ib_dma_map_sg+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"in_kernel_sane_ib_dma_map_sg\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_in_kernel_sane_ib_dma_map_sg+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for in_kernel_sane_ib_dma_map_sg was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X'# else statement not available
		module'" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking (in-kernel) if if ib_dma_map_sg() is sane" >&5
printf %s "checking (in-kernel) if if ib_dma_map_sg() is sane... " >&6; }
if test ${lb_cv_test_in_kernel_sane_ib_dma_map_sg+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_in_kernel_sane_ib_dma_map_sg=yes
else $as_nop
  lb_cv_test_in_kernel_sane_ib_dma_map_sg=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_in_kernel_sane_ib_dma_map_sg" >&5
printf "%s\n" "$lb_cv_test_in_kernel_sane_ib_dma_map_sg" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_in_kernel_sane_ib_dma_map_sg" = xyes
then :

printf "%s\n" "#define IN_KERNEL_HAVE_OFED_IB_DMA_MAP_SG_SANE 1" >>confdefs.h

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/external_ib_device_ops_test_pc
	O=${T}/external_ib_device_ops_test_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_external_ib_device_ops_test+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"external_ib_device_ops_test\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_external_ib_device_ops_test+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for external_ib_device_ops_test was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X'# else statement not available
		'" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking (external) if struct ib_device_ops is defined" >&5
printf %s "checking (external) if struct ib_device_ops is defined... " >&6; }
if test ${lb_cv_test_external_ib_device_ops_test+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_external_ib_device_ops_test=yes
else $as_nop
  lb_cv_test_external_ib_device_ops_test=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_external_ib_device_ops_test" >&5
printf "%s\n" "$lb_cv_test_external_ib_device_ops_test" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_external_ib_device_ops_test" = xyes
then :

printf "%s\n" "#define HAVE_OFED_IB_DEVICE_OPS 1" >>confdefs.h

fi



	# in-kernel tests ... NOTE: IN_KERNEL_ here matches sed in Makefile.in

	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/in_kernel_ib_device_ops_test_pc
	O=${T}/in_kernel_ib_device_ops_test_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_in_kernel_ib_device_ops_test+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"in_kernel_ib_device_ops_test\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_in_kernel_ib_device_ops_test+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for in_kernel_ib_device_ops_test was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X'# else statement not available
		'" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking (in-kernel) if struct ib_device_ops is defined" >&5
printf %s "checking (in-kernel) if struct ib_device_ops is defined... " >&6; }
if test ${lb_cv_test_in_kernel_ib_device_ops_test+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_in_kernel_ib_device_ops_test=yes
else $as_nop
  lb_cv_test_in_kernel_ib_device_ops_test=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_in_kernel_ib_device_ops_test" >&5
printf "%s\n" "$lb_cv_test_in_kernel_ib_device_ops_test" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_in_kernel_ib_device_ops_test" = xyes
then :

printf "%s\n" "#define IN_KERNEL_HAVE_OFED_IB_DEVICE_OPS 1" >>confdefs.h

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/external_ib_sg_dma_address_test_pc
	O=${T}/external_ib_sg_dma_address_test_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_external_ib_sg_dma_address_test+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"external_ib_sg_dma_address_test\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_external_ib_sg_dma_address_test+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for external_ib_sg_dma_address_test was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X'# else statement not available
		'" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking (external) if ib_sg_dma_address wrapper exists" >&5
printf %s "checking (external) if ib_sg_dma_address wrapper exists... " >&6; }
if test ${lb_cv_test_external_ib_sg_dma_address_test+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_external_ib_sg_dma_address_test=yes
else $as_nop
  lb_cv_test_external_ib_sg_dma_address_test=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_external_ib_sg_dma_address_test" >&5
printf "%s\n" "$lb_cv_test_external_ib_sg_dma_address_test" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_external_ib_sg_dma_address_test" = xyes
then :

printf "%s\n" "#define HAVE_OFED_IB_SG_DMA_ADDRESS 1" >>confdefs.h

fi



	# in-kernel tests ... NOTE: IN_KERNEL_ here matches sed in Makefile.in

	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/in_kernel_ib_sg_dma_address_test_pc
	O=${T}/in_kernel_ib_sg_dma_address_test_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_in_kernel_ib_sg_dma_address_test+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"in_kernel_ib_sg_dma_address_test\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_in_kernel_ib_sg_dma_address_test+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for in_kernel_ib_sg_dma_address_test was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X'# else statement not available
		'" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking (in-kernel) if ib_sg_dma_address wrapper exists" >&5
printf %s "checking (in-kernel) if ib_sg_dma_address wrapper exists... " >&6; }
if test ${lb_cv_test_in_kernel_ib_sg_dma_address_test+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_in_kernel_ib_sg_dma_address_test=yes
else $as_nop
  lb_cv_test_in_kernel_ib_sg_dma_address_test=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_in_kernel_ib_sg_dma_address_test" >&5
printf "%s\n" "$lb_cv_test_in_kernel_ib_sg_dma_address_test" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_in_kernel_ib_sg_dma_address_test" = xyes
then :

printf "%s\n" "#define IN_KERNEL_HAVE_OFED_IB_SG_DMA_ADDRESS 1" >>confdefs.h

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/external_rdma_reject_pc
	O=${T}/external_rdma_reject_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_external_rdma_reject+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"external_rdma_reject\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_external_rdma_reject+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for external_rdma_reject was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X'# else statement not available
		'" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking (external) if 4arg 'rdma_reject' exists" >&5
printf %s "checking (external) if 4arg 'rdma_reject' exists... " >&6; }
if test ${lb_cv_test_external_rdma_reject+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_external_rdma_reject=yes
else $as_nop
  lb_cv_test_external_rdma_reject=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_external_rdma_reject" >&5
printf "%s\n" "$lb_cv_test_external_rdma_reject" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_external_rdma_reject" = xyes
then :

printf "%s\n" "#define HAVE_OFED_RDMA_REJECT_4ARGS 1" >>confdefs.h

fi



	# in-kernel tests ... NOTE: IN_KERNEL_ here matches sed in Makefile.in

	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/in_kernel_rdma_reject_pc
	O=${T}/in_kernel_rdma_reject_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_in_kernel_rdma_reject+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"in_kernel_rdma_reject\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_in_kernel_rdma_reject+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for in_kernel_rdma_reject was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X'# else statement not available
		'" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking (in-kernel) if 4arg 'rdma_reject' exists" >&5
printf %s "checking (in-kernel) if 4arg 'rdma_reject' exists... " >&6; }
if test ${lb_cv_test_in_kernel_rdma_reject+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_in_kernel_rdma_reject=yes
else $as_nop
  lb_cv_test_in_kernel_rdma_reject=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_in_kernel_rdma_reject" >&5
printf "%s\n" "$lb_cv_test_in_kernel_rdma_reject" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_in_kernel_rdma_reject" = xyes
then :

printf "%s\n" "#define IN_KERNEL_HAVE_OFED_RDMA_REJECT_4ARGS 1" >>confdefs.h

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/external_ib_fmr_pc
	O=${T}/external_ib_fmr_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_external_ib_fmr+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"external_ib_fmr\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_external_ib_fmr+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for external_ib_fmr was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X'# else statement not available
		'" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking (external) if FMR pools API available" >&5
printf %s "checking (external) if FMR pools API available... " >&6; }
if test ${lb_cv_test_external_ib_fmr+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_external_ib_fmr=yes
else $as_nop
  lb_cv_test_external_ib_fmr=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_external_ib_fmr" >&5
printf "%s\n" "$lb_cv_test_external_ib_fmr" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_external_ib_fmr" = xyes
then :

printf "%s\n" "#define HAVE_OFED_FMR_POOL_API 1" >>confdefs.h

fi



	# in-kernel tests ... NOTE: IN_KERNEL_ here matches sed in Makefile.in

	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/in_kernel_ib_fmr_pc
	O=${T}/in_kernel_ib_fmr_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_in_kernel_ib_fmr+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"in_kernel_ib_fmr\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_in_kernel_ib_fmr+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for in_kernel_ib_fmr was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X'# else statement not available
		'" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking (in-kernel) if FMR pools API available" >&5
printf %s "checking (in-kernel) if FMR pools API available... " >&6; }
if test ${lb_cv_test_in_kernel_ib_fmr+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_in_kernel_ib_fmr=yes
else $as_nop
  lb_cv_test_in_kernel_ib_fmr=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_in_kernel_ib_fmr" >&5
printf "%s\n" "$lb_cv_test_in_kernel_ib_fmr" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_in_kernel_ib_fmr" = xyes
then :

printf "%s\n" "#define IN_KERNEL_HAVE_OFED_FMR_POOL_API 1" >>confdefs.h

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/external_rdma_connect_locked_pc
	O=${T}/external_rdma_connect_locked_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_external_rdma_connect_locked+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"external_rdma_connect_locked\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_external_rdma_connect_locked+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for external_rdma_connect_locked was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X'# else statement not available
		'" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking (external) if 'rdma_connect_locked' exists" >&5
printf %s "checking (external) if 'rdma_connect_locked' exists... " >&6; }
if test ${lb_cv_test_external_rdma_connect_locked+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_external_rdma_connect_locked=yes
else $as_nop
  lb_cv_test_external_rdma_connect_locked=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_external_rdma_connect_locked" >&5
printf "%s\n" "$lb_cv_test_external_rdma_connect_locked" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_external_rdma_connect_locked" = xyes
then :

printf "%s\n" "#define HAVE_OFED_RDMA_CONNECT_LOCKED 1" >>confdefs.h

fi



	# in-kernel tests ... NOTE: IN_KERNEL_ here matches sed in Makefile.in

	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/in_kernel_rdma_connect_locked_pc
	O=${T}/in_kernel_rdma_connect_locked_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_in_kernel_rdma_connect_locked+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"in_kernel_rdma_connect_locked\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_in_kernel_rdma_connect_locked+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for in_kernel_rdma_connect_locked was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X'# else statement not available
		'" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking (in-kernel) if 'rdma_connect_locked' exists" >&5
printf %s "checking (in-kernel) if 'rdma_connect_locked' exists... " >&6; }
if test ${lb_cv_test_in_kernel_rdma_connect_locked+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_in_kernel_rdma_connect_locked=yes
else $as_nop
  lb_cv_test_in_kernel_rdma_connect_locked=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_in_kernel_rdma_connect_locked" >&5
printf "%s\n" "$lb_cv_test_in_kernel_rdma_connect_locked" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_in_kernel_rdma_connect_locked" = xyes
then :

printf "%s\n" "#define IN_KERNEL_HAVE_OFED_RDMA_CONNECT_LOCKED 1" >>confdefs.h

fi





	# 3.15


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/sk_data_ready_pc
	O=${T}/sk_data_ready_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_sk_data_ready+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"sk_data_ready\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_sk_data_ready+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for sk_data_ready was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'sk_data_ready' takes only one argument" >&5
printf %s "checking if 'sk_data_ready' takes only one argument... " >&6; }
if test ${lb_cv_test_sk_data_ready+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_sk_data_ready=yes
else $as_nop
  lb_cv_test_sk_data_ready=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_sk_data_ready" >&5
printf "%s\n" "$lb_cv_test_sk_data_ready" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_sk_data_ready" = xyes
then :

printf "%s\n" "#define HAVE_SK_DATA_READY_ONE_ARG 1" >>confdefs.h


fi



	# 4.x


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/sock_create_kern_net_pc
	O=${T}/sock_create_kern_net_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_sock_create_kern_net+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"sock_create_kern_net\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_sock_create_kern_net+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for sock_create_kern_net was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'sock_create_kern' first parameter is net" >&5
printf %s "checking if 'sock_create_kern' first parameter is net... " >&6; }
if test ${lb_cv_test_sock_create_kern_net+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_sock_create_kern_net=yes
else $as_nop
  lb_cv_test_sock_create_kern_net=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_sock_create_kern_net" >&5
printf "%s\n" "$lb_cv_test_sock_create_kern_net" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_sock_create_kern_net" = xyes
then :

printf "%s\n" "#define HAVE_SOCK_CREATE_KERN_USE_NET 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/sock_not_owned_by_me_pc
	O=${T}/sock_not_owned_by_me_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_sock_not_owned_by_me+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"sock_not_owned_by_me\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_sock_not_owned_by_me+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for sock_not_owned_by_me was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Linux kernel has 'sock_not_owned_by_me'" >&5
printf %s "checking if Linux kernel has 'sock_not_owned_by_me'... " >&6; }
if test ${lb_cv_test_sock_not_owned_by_me+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_sock_not_owned_by_me=yes
else $as_nop
  lb_cv_test_sock_not_owned_by_me=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_sock_not_owned_by_me" >&5
printf "%s\n" "$lb_cv_test_sock_not_owned_by_me" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_sock_not_owned_by_me" = xyes
then :

printf "%s\n" "#define HAVE_SOCK_NOT_OWNED_BY_ME 1" >>confdefs.h


fi



	# 4.6


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/ethtool_link_settings_pc
	O=${T}/ethtool_link_settings_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_ethtool_link_settings+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"ethtool_link_settings\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_ethtool_link_settings+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for ethtool_link_settings was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'ethtool_link_settings' exists" >&5
printf %s "checking if 'ethtool_link_settings' exists... " >&6; }
if test ${lb_cv_test_ethtool_link_settings+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_ethtool_link_settings=yes
else $as_nop
  lb_cv_test_ethtool_link_settings=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_ethtool_link_settings" >&5
printf "%s\n" "$lb_cv_test_ethtool_link_settings" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_ethtool_link_settings" = xyes
then :

printf "%s\n" "#define HAVE_ETHTOOL_LINK_SETTINGS 1" >>confdefs.h


fi



	# 4.14


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/hypervisor_is_type_exists_pc
	O=${T}/hypervisor_is_type_exists_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_hypervisor_is_type_exists+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"hypervisor_is_type_exists\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_hypervisor_is_type_exists+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for hypervisor_is_type_exists was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if hypervisor_is_type function is available" >&5
printf %s "checking if hypervisor_is_type function is available... " >&6; }
if test ${lb_cv_test_hypervisor_is_type_exists+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_hypervisor_is_type_exists=yes
else $as_nop
  lb_cv_test_hypervisor_is_type_exists=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_hypervisor_is_type_exists" >&5
printf "%s\n" "$lb_cv_test_hypervisor_is_type_exists" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_hypervisor_is_type_exists" = xyes
then :

printf "%s\n" "#define HAVE_HYPERVISOR_IS_TYPE 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/oracle_ofed_ext_pc
	O=${T}/oracle_ofed_ext_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_oracle_ofed_ext+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"oracle_ofed_ext\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_oracle_ofed_ext+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for oracle_ofed_ext was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Oracle OFED Extensions are enabled" >&5
printf %s "checking if Oracle OFED Extensions are enabled... " >&6; }
if test ${lb_cv_test_oracle_ofed_ext+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_oracle_ofed_ext=yes
else $as_nop
  lb_cv_test_oracle_ofed_ext=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_oracle_ofed_ext" >&5
printf "%s\n" "$lb_cv_test_oracle_ofed_ext" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_oracle_ofed_ext" = xyes
then :

printf "%s\n" "#define HAVE_ORACLE_OFED_EXTENSIONS 1" >>confdefs.h


fi



	# 4.16


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/netdev_cmd_to_name_pc
	O=${T}/netdev_cmd_to_name_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_netdev_cmd_to_name+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"netdev_cmd_to_name\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_netdev_cmd_to_name+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for netdev_cmd_to_name was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'netdev_cmd_to_name' exist" >&5
printf %s "checking if 'netdev_cmd_to_name' exist... " >&6; }
if test ${lb_cv_test_netdev_cmd_to_name+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_netdev_cmd_to_name=yes
else $as_nop
  lb_cv_test_netdev_cmd_to_name=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_netdev_cmd_to_name" >&5
printf "%s\n" "$lb_cv_test_netdev_cmd_to_name" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_netdev_cmd_to_name" = xyes
then :

printf "%s\n" "#define HAVE_NETDEV_CMD_TO_NAME 1" >>confdefs.h


fi



	# 4.17


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/kern_sock_getname_2args_pc
	O=${T}/kern_sock_getname_2args_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_kern_sock_getname_2args+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"kern_sock_getname_2args\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_kern_sock_getname_2args+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for kern_sock_getname_2args was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'getname' has two args" >&5
printf %s "checking if 'getname' has two args... " >&6; }
if test ${lb_cv_test_kern_sock_getname_2args+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_kern_sock_getname_2args=yes
else $as_nop
  lb_cv_test_kern_sock_getname_2args=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_kern_sock_getname_2args" >&5
printf "%s\n" "$lb_cv_test_kern_sock_getname_2args" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_kern_sock_getname_2args" = xyes
then :

printf "%s\n" "#define HAVE_KERN_SOCK_GETNAME_2ARGS 1" >>confdefs.h


fi



	# 5.3 and 4.18.0-193.el8


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/in_dev_for_each_ifa_rtnl_test_pc
	O=${T}/in_dev_for_each_ifa_rtnl_test_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_in_dev_for_each_ifa_rtnl_test+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"in_dev_for_each_ifa_rtnl_test\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_in_dev_for_each_ifa_rtnl_test+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for in_dev_for_each_ifa_rtnl_test was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'in_dev_for_each_ifa_rtnl' is defined" >&5
printf %s "checking if 'in_dev_for_each_ifa_rtnl' is defined... " >&6; }
if test ${lb_cv_test_in_dev_for_each_ifa_rtnl_test+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_in_dev_for_each_ifa_rtnl_test=yes
else $as_nop
  lb_cv_test_in_dev_for_each_ifa_rtnl_test=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_in_dev_for_each_ifa_rtnl_test" >&5
printf "%s\n" "$lb_cv_test_in_dev_for_each_ifa_rtnl_test" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_in_dev_for_each_ifa_rtnl_test" = xyes
then :

printf "%s\n" "#define HAVE_IN_DEV_FOR_EACH_IFA_RTNL 1" >>confdefs.h


fi




			if test "x$enable_server" != xno
then :



	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/ext4_bread_pc
	O=${T}/ext4_bread_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_ext4_bread+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"ext4_bread\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_ext4_bread+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for ext4_bread was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ext4_bread takes 4 arguments" >&5
printf %s "checking if ext4_bread takes 4 arguments... " >&6; }
if test ${lb_cv_test_ext4_bread+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_ext4_bread=yes
else $as_nop
  lb_cv_test_ext4_bread=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_ext4_bread" >&5
printf "%s\n" "$lb_cv_test_ext4_bread" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_ext4_bread" = xyes
then :

printf "%s\n" "#define HAVE_EXT4_BREAD_4ARGS 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/ext4_info_dquot_pc
	O=${T}/ext4_info_dquot_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_ext4_info_dquot+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"ext4_info_dquot\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_ext4_info_dquot+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for ext4_info_dquot was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if i_dquot is in ext4_inode_info" >&5
printf %s "checking if i_dquot is in ext4_inode_info... " >&6; }
if test ${lb_cv_test_ext4_info_dquot+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_ext4_info_dquot=yes
else $as_nop
  lb_cv_test_ext4_info_dquot=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_ext4_info_dquot" >&5
printf "%s\n" "$lb_cv_test_ext4_info_dquot" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_ext4_info_dquot" = xyes
then :

printf "%s\n" "#define HAVE_EXT4_INFO_DQUOT 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/ext4_i_crypt_info_pc
	O=${T}/ext4_i_crypt_info_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_ext4_i_crypt_info+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"ext4_i_crypt_info\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_ext4_i_crypt_info+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for ext4_i_crypt_info was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if i_crypt_info is in ext4_inode_info" >&5
printf %s "checking if i_crypt_info is in ext4_inode_info... " >&6; }
if test ${lb_cv_test_ext4_i_crypt_info+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_ext4_i_crypt_info=yes
else $as_nop
  lb_cv_test_ext4_i_crypt_info=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_ext4_i_crypt_info" >&5
printf "%s\n" "$lb_cv_test_ext4_i_crypt_info" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_ext4_i_crypt_info" = xyes
then :

printf "%s\n" "#define CONFIG_LDISKFS_FS_ENCRYPTION 1" >>confdefs.h

		test_have_i_crypt_info=yes

else $as_nop
  test_have_i_crypt_info=no

fi


	if test x$test_have_i_crypt_info = xno
then :



	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/config_EXT4_FS_ENCRYPTION_pc
	O=${T}/config_EXT4_FS_ENCRYPTION_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_config_EXT4_FS_ENCRYPTION+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"config_EXT4_FS_ENCRYPTION\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_config_EXT4_FS_ENCRYPTION+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for config_EXT4_FS_ENCRYPTION was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Linux kernel was built with CONFIG_EXT4_FS_ENCRYPTION" >&5
printf %s "checking if Linux kernel was built with CONFIG_EXT4_FS_ENCRYPTION... " >&6; }
if test ${lb_cv_test_config_EXT4_FS_ENCRYPTION+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_config_EXT4_FS_ENCRYPTION=yes
else $as_nop
  lb_cv_test_config_EXT4_FS_ENCRYPTION=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_config_EXT4_FS_ENCRYPTION" >&5
printf "%s\n" "$lb_cv_test_config_EXT4_FS_ENCRYPTION" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_config_EXT4_FS_ENCRYPTION" = xyes
then :

printf "%s\n" "#define CONFIG_LDISKFS_FS_ENCRYPTION 1" >>confdefs.h



fi




fi



	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/ext4_journal_ensure_credits_pc
	O=${T}/ext4_journal_ensure_credits_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_ext4_journal_ensure_credits+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"ext4_journal_ensure_credits\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_ext4_journal_ensure_credits+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for ext4_journal_ensure_credits was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'ext4_journal_ensure_credits' exists" >&5
printf %s "checking if 'ext4_journal_ensure_credits' exists... " >&6; }
if test ${lb_cv_test_ext4_journal_ensure_credits+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_ext4_journal_ensure_credits=yes
else $as_nop
  lb_cv_test_ext4_journal_ensure_credits=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_ext4_journal_ensure_credits" >&5
printf "%s\n" "$lb_cv_test_ext4_journal_ensure_credits" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_ext4_journal_ensure_credits" = xyes
then :

printf "%s\n" "#define HAVE_LDISKFS_JOURNAL_ENSURE_CREDITS 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/ext4_iget_3args_pc
	O=${T}/ext4_iget_3args_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_ext4_iget_3args+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"ext4_iget_3args\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_ext4_iget_3args+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for ext4_iget_3args was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ldiskfs_iget takes a flags argument" >&5
printf %s "checking if ldiskfs_iget takes a flags argument... " >&6; }
if test ${lb_cv_test_ext4_iget_3args+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_ext4_iget_3args=yes
else $as_nop
  lb_cv_test_ext4_iget_3args=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_ext4_iget_3args" >&5
printf "%s\n" "$lb_cv_test_ext4_iget_3args" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_ext4_iget_3args" = xyes
then :

printf "%s\n" "#define HAVE_LDISKFS_IGET_WITH_FLAGS 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/ext4_iget_ea_inode_pc
	O=${T}/ext4_iget_ea_inode_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_ext4_iget_ea_inode+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"ext4_iget_ea_inode\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_ext4_iget_ea_inode+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for ext4_iget_ea_inode was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'EXT4_IGET_EA_INODE' exists" >&5
printf %s "checking if 'EXT4_IGET_EA_INODE' exists... " >&6; }
if test ${lb_cv_test_ext4_iget_ea_inode+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_ext4_iget_ea_inode=yes
else $as_nop
  lb_cv_test_ext4_iget_ea_inode=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_ext4_iget_ea_inode" >&5
printf "%s\n" "$lb_cv_test_ext4_iget_ea_inode" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_ext4_iget_ea_inode" = xyes
then :

printf "%s\n" "#define HAVE_LDISKFS_IGET_EA_INODE 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/ldiskfs_find_entry_locked_pc
	O=${T}/ldiskfs_find_entry_locked_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_ldiskfs_find_entry_locked+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"ldiskfs_find_entry_locked\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_ldiskfs_find_entry_locked+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for ldiskfs_find_entry_locked was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if __ldiskfs_find_entry is available" >&5
printf %s "checking if __ldiskfs_find_entry is available... " >&6; }
if test ${lb_cv_test_ldiskfs_find_entry_locked+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_ldiskfs_find_entry_locked=yes
else $as_nop
  lb_cv_test_ldiskfs_find_entry_locked=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_ldiskfs_find_entry_locked" >&5
printf "%s\n" "$lb_cv_test_ldiskfs_find_entry_locked" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_ldiskfs_find_entry_locked" = xyes
then :

printf "%s\n" "#define HAVE___LDISKFS_FIND_ENTRY 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/ext4fs_dirhash_pc
	O=${T}/ext4fs_dirhash_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_ext4fs_dirhash+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"ext4fs_dirhash\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_ext4fs_dirhash+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for ext4fs_dirhash was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ldiskfsfs_dirhash takes an inode argument" >&5
printf %s "checking if ldiskfsfs_dirhash takes an inode argument... " >&6; }
if test ${lb_cv_test_ext4fs_dirhash+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_ext4fs_dirhash=yes
else $as_nop
  lb_cv_test_ext4fs_dirhash=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_ext4fs_dirhash" >&5
printf "%s\n" "$lb_cv_test_ext4fs_dirhash" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_ext4fs_dirhash" = xyes
then :

printf "%s\n" "#define HAVE_LDISKFSFS_DIRHASH_WITH_DIR 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/handle_t_h_revoke_credits_pc
	O=${T}/handle_t_h_revoke_credits_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_handle_t_h_revoke_credits+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"handle_t_h_revoke_credits\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_handle_t_h_revoke_credits+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for handle_t_h_revoke_credits was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if struct jbd2_journal_handle has h_total_credits member" >&5
printf %s "checking if struct jbd2_journal_handle has h_total_credits member... " >&6; }
if test ${lb_cv_test_handle_t_h_revoke_credits+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_handle_t_h_revoke_credits=yes
else $as_nop
  lb_cv_test_handle_t_h_revoke_credits=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_handle_t_h_revoke_credits" >&5
printf "%s\n" "$lb_cv_test_handle_t_h_revoke_credits" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_handle_t_h_revoke_credits" = xyes
then :

printf "%s\n" "#define HAVE_JOURNAL_TOTAL_CREDITS 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/jbd2_journal_get_max_txn_bufs_pc
	O=${T}/jbd2_journal_get_max_txn_bufs_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_jbd2_journal_get_max_txn_bufs+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"jbd2_journal_get_max_txn_bufs\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_jbd2_journal_get_max_txn_bufs+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for jbd2_journal_get_max_txn_bufs was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if jbd2_journal_get_max_txn_bufs is available" >&5
printf %s "checking if jbd2_journal_get_max_txn_bufs is available... " >&6; }
if test ${lb_cv_test_jbd2_journal_get_max_txn_bufs+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_jbd2_journal_get_max_txn_bufs=yes
else $as_nop
  lb_cv_test_jbd2_journal_get_max_txn_bufs=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_jbd2_journal_get_max_txn_bufs" >&5
printf "%s\n" "$lb_cv_test_jbd2_journal_get_max_txn_bufs" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_jbd2_journal_get_max_txn_bufs" = xyes
then :

printf "%s\n" "#define HAVE_JBD2_JOURNAL_GET_MAX_TXN_BUFS 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/config_im_FS_ENCRYPTION_pc
	O=${T}/config_im_FS_ENCRYPTION_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_config_im_FS_ENCRYPTION+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"config_im_FS_ENCRYPTION\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_config_im_FS_ENCRYPTION+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for config_im_FS_ENCRYPTION was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Linux kernel enabled CONFIG_FS_ENCRYPTION as built-in or module" >&5
printf %s "checking if Linux kernel enabled CONFIG_FS_ENCRYPTION as built-in or module... " >&6; }
if test ${lb_cv_test_config_im_FS_ENCRYPTION+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_config_im_FS_ENCRYPTION=yes
else $as_nop
  lb_cv_test_config_im_FS_ENCRYPTION=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_config_im_FS_ENCRYPTION" >&5
printf "%s\n" "$lb_cv_test_config_im_FS_ENCRYPTION" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_config_im_FS_ENCRYPTION" = xyes
then :
  EXT4_CRYPTO=

else $as_nop
  EXT4_CRYPTO='%/crypto.c'

fi




fi

	if test "x$enable_gss" != xno
then :



	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/key_type_instantiate_2args_pc
	O=${T}/key_type_instantiate_2args_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_key_type_instantiate_2args+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"key_type_instantiate_2args\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_key_type_instantiate_2args+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for key_type_instantiate_2args was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'key_type->instantiate' has two args" >&5
printf %s "checking if 'key_type->instantiate' has two args... " >&6; }
if test ${lb_cv_test_key_type_instantiate_2args+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_key_type_instantiate_2args=yes
else $as_nop
  lb_cv_test_key_type_instantiate_2args=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_key_type_instantiate_2args" >&5
printf "%s\n" "$lb_cv_test_key_type_instantiate_2args" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_key_type_instantiate_2args" = xyes
then :

printf "%s\n" "#define HAVE_KEY_TYPE_INSTANTIATE_2ARGS 1" >>confdefs.h


fi






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/config_im_CRYPTO_MD5_pc
	O=${T}/config_im_CRYPTO_MD5_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_config_im_CRYPTO_MD5+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"config_im_CRYPTO_MD5\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_config_im_CRYPTO_MD5+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for config_im_CRYPTO_MD5 was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Linux kernel enabled CONFIG_CRYPTO_MD5 as built-in or module" >&5
printf %s "checking if Linux kernel enabled CONFIG_CRYPTO_MD5 as built-in or module... " >&6; }
if test ${lb_cv_test_config_im_CRYPTO_MD5+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_config_im_CRYPTO_MD5=yes
else $as_nop
  lb_cv_test_config_im_CRYPTO_MD5=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_config_im_CRYPTO_MD5" >&5
printf "%s\n" "$lb_cv_test_config_im_CRYPTO_MD5" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_config_im_CRYPTO_MD5" = xyes
then :

else $as_nop
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: kernel MD5 support is recommended by using GSS." >&5
printf "%s\n" "$as_me: WARNING: kernel MD5 support is recommended by using GSS." >&2;}

fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/config_im_CRYPTO_SHA1_pc
	O=${T}/config_im_CRYPTO_SHA1_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_config_im_CRYPTO_SHA1+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"config_im_CRYPTO_SHA1\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_config_im_CRYPTO_SHA1+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for config_im_CRYPTO_SHA1 was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Linux kernel enabled CONFIG_CRYPTO_SHA1 as built-in or module" >&5
printf %s "checking if Linux kernel enabled CONFIG_CRYPTO_SHA1 as built-in or module... " >&6; }
if test ${lb_cv_test_config_im_CRYPTO_SHA1+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_config_im_CRYPTO_SHA1=yes
else $as_nop
  lb_cv_test_config_im_CRYPTO_SHA1=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_config_im_CRYPTO_SHA1" >&5
printf "%s\n" "$lb_cv_test_config_im_CRYPTO_SHA1" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_config_im_CRYPTO_SHA1" = xyes
then :

else $as_nop
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: kernel SHA1 support is recommended by using GSS." >&5
printf "%s\n" "$as_me: WARNING: kernel SHA1 support is recommended by using GSS." >&2;}

fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/config_im_CRYPTO_SHA256_pc
	O=${T}/config_im_CRYPTO_SHA256_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_config_im_CRYPTO_SHA256+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"config_im_CRYPTO_SHA256\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_config_im_CRYPTO_SHA256+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for config_im_CRYPTO_SHA256 was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Linux kernel enabled CONFIG_CRYPTO_SHA256 as built-in or module" >&5
printf %s "checking if Linux kernel enabled CONFIG_CRYPTO_SHA256 as built-in or module... " >&6; }
if test ${lb_cv_test_config_im_CRYPTO_SHA256+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_config_im_CRYPTO_SHA256=yes
else $as_nop
  lb_cv_test_config_im_CRYPTO_SHA256=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_config_im_CRYPTO_SHA256" >&5
printf "%s\n" "$lb_cv_test_config_im_CRYPTO_SHA256" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_config_im_CRYPTO_SHA256" = xyes
then :

else $as_nop
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: kernel SHA256 support is recommended by using GSS." >&5
printf "%s\n" "$as_me: WARNING: kernel SHA256 support is recommended by using GSS." >&2;}

fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/config_im_CRYPTO_SHA512_pc
	O=${T}/config_im_CRYPTO_SHA512_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_config_im_CRYPTO_SHA512+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"config_im_CRYPTO_SHA512\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_config_im_CRYPTO_SHA512+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for config_im_CRYPTO_SHA512 was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Linux kernel enabled CONFIG_CRYPTO_SHA512 as built-in or module" >&5
printf %s "checking if Linux kernel enabled CONFIG_CRYPTO_SHA512 as built-in or module... " >&6; }
if test ${lb_cv_test_config_im_CRYPTO_SHA512+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_config_im_CRYPTO_SHA512=yes
else $as_nop
  lb_cv_test_config_im_CRYPTO_SHA512=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_config_im_CRYPTO_SHA512" >&5
printf "%s\n" "$lb_cv_test_config_im_CRYPTO_SHA512" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_config_im_CRYPTO_SHA512" = xyes
then :

else $as_nop
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: kernel SHA512 support is recommended by using GSS." >&5
printf "%s\n" "$as_me: WARNING: kernel SHA512 support is recommended by using GSS." >&2;}

fi




fi
	if test "x$enable_server" != xno
then :




	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/config_im_QUOTA_pc
	O=${T}/config_im_QUOTA_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_config_im_QUOTA+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"config_im_QUOTA\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_config_im_QUOTA+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for config_im_QUOTA was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Linux kernel enabled CONFIG_QUOTA as built-in or module" >&5
printf %s "checking if Linux kernel enabled CONFIG_QUOTA as built-in or module... " >&6; }
if test ${lb_cv_test_config_im_QUOTA+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_config_im_QUOTA=yes
else $as_nop
  lb_cv_test_config_im_QUOTA=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_config_im_QUOTA" >&5
printf "%s\n" "$lb_cv_test_config_im_QUOTA" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_config_im_QUOTA" = xyes
then :

else $as_nop
  as_fn_error $? "Lustre quota requires that CONFIG_QUOTA is enabled in your kernel." "$LINENO" 5

fi






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/stack_size_8k_pc
	O=${T}/stack_size_8k_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_stack_size_8k+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"stack_size_8k\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_stack_size_8k+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for stack_size_8k was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if stack size is at least 8k" >&5
printf %s "checking if stack size is at least 8k... " >&6; }
if test ${lb_cv_test_stack_size_8k+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_stack_size_8k=yes
else $as_nop
  lb_cv_test_stack_size_8k=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_stack_size_8k" >&5
printf "%s\n" "$lb_cv_test_stack_size_8k" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_stack_size_8k" = xyes
then :

else $as_nop
  as_fn_error $? "Lustre requires that Linux is configured with at least a 8KB stack." "$LINENO" 5

fi




fi



	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/config_im_FHANDLE_pc
	O=${T}/config_im_FHANDLE_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_config_im_FHANDLE+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"config_im_FHANDLE\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_config_im_FHANDLE+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for config_im_FHANDLE was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Linux kernel enabled CONFIG_FHANDLE as built-in or module" >&5
printf %s "checking if Linux kernel enabled CONFIG_FHANDLE as built-in or module... " >&6; }
if test ${lb_cv_test_config_im_FHANDLE+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_config_im_FHANDLE=yes
else $as_nop
  lb_cv_test_config_im_FHANDLE=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_config_im_FHANDLE" >&5
printf "%s\n" "$lb_cv_test_config_im_FHANDLE" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_config_im_FHANDLE" = xyes
then :

else $as_nop
  as_fn_error $? "Lustre fid handling requires that CONFIG_FHANDLE is enabled in your kernel." "$LINENO" 5

fi







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/config_im_FS_POSIX_ACL_pc
	O=${T}/config_im_FS_POSIX_ACL_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_config_im_FS_POSIX_ACL+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"config_im_FS_POSIX_ACL\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_config_im_FS_POSIX_ACL+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for config_im_FS_POSIX_ACL was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Linux kernel enabled CONFIG_FS_POSIX_ACL as built-in or module" >&5
printf %s "checking if Linux kernel enabled CONFIG_FS_POSIX_ACL as built-in or module... " >&6; }
if test ${lb_cv_test_config_im_FS_POSIX_ACL+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_config_im_FS_POSIX_ACL=yes
else $as_nop
  lb_cv_test_config_im_FS_POSIX_ACL=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_config_im_FS_POSIX_ACL" >&5
printf "%s\n" "$lb_cv_test_config_im_FS_POSIX_ACL" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_config_im_FS_POSIX_ACL" = xyes
then :

printf "%s\n" "#define CONFIG_LUSTRE_FS_POSIX_ACL 1" >>confdefs.h


fi






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/get_projid_pc
	O=${T}/get_projid_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_get_projid+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"get_projid\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_get_projid+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for get_projid was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if get_projid exists" >&5
printf %s "checking if get_projid exists... " >&6; }
if test ${lb_cv_test_get_projid+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_get_projid=yes
else $as_nop
  lb_cv_test_get_projid=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_get_projid" >&5
printf "%s\n" "$lb_cv_test_get_projid" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_get_projid" = xyes
then :

printf "%s\n" "#define HAVE_PROJECT_QUOTA 1" >>confdefs.h


fi




	# 3.11


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/address_space_ops_invalidatepage_3args_pc
	O=${T}/address_space_ops_invalidatepage_3args_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_address_space_ops_invalidatepage_3args+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"address_space_ops_invalidatepage_3args\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_address_space_ops_invalidatepage_3args+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for address_space_ops_invalidatepage_3args was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'address_space_operations.invalidatepage' requires 3 arguments" >&5
printf %s "checking if 'address_space_operations.invalidatepage' requires 3 arguments... " >&6; }
if test ${lb_cv_test_address_space_ops_invalidatepage_3args+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_address_space_ops_invalidatepage_3args=yes
else $as_nop
  lb_cv_test_address_space_ops_invalidatepage_3args=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_address_space_ops_invalidatepage_3args" >&5
printf "%s\n" "$lb_cv_test_address_space_ops_invalidatepage_3args" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_address_space_ops_invalidatepage_3args" = xyes
then :

printf "%s\n" "#define HAVE_INVALIDATE_RANGE 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/dir_context_pc
	O=${T}/dir_context_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_dir_context+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"dir_context\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_dir_context+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for dir_context was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'dir_context' exist" >&5
printf %s "checking if 'dir_context' exist... " >&6; }
if test ${lb_cv_test_dir_context+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_dir_context=yes
else $as_nop
  lb_cv_test_dir_context=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_dir_context" >&5
printf "%s\n" "$lb_cv_test_dir_context" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_dir_context" = xyes
then :

printf "%s\n" "#define HAVE_DIR_CONTEXT 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/d_compare_5args_pc
	O=${T}/d_compare_5args_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_d_compare_5args+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"d_compare_5args\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_d_compare_5args+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for d_compare_5args was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'd_compare' taken 5 arguments" >&5
printf %s "checking if 'd_compare' taken 5 arguments... " >&6; }
if test ${lb_cv_test_d_compare_5args+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_d_compare_5args=yes
else $as_nop
  lb_cv_test_d_compare_5args=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_d_compare_5args" >&5
printf "%s\n" "$lb_cv_test_d_compare_5args" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_d_compare_5args" = xyes
then :

printf "%s\n" "#define HAVE_D_COMPARE_5ARGS 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/d_count_pc
	O=${T}/d_count_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_d_count+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"d_count\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_d_count+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for d_count was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'd_count' exists" >&5
printf %s "checking if 'd_count' exists... " >&6; }
if test ${lb_cv_test_d_count+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_d_count=yes
else $as_nop
  lb_cv_test_d_count=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_d_count" >&5
printf "%s\n" "$lb_cv_test_d_count" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_d_count" = xyes
then :

printf "%s\n" "#define HAVE_D_COUNT 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/d_alias_list_pc
	O=${T}/d_alias_list_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_d_alias_list+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"d_alias_list\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_d_alias_list+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for d_alias_list was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if list 'dentry.d_u.d_alias' exist" >&5
printf %s "checking if list 'dentry.d_u.d_alias' exist... " >&6; }
if test ${lb_cv_test_d_alias_list+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_d_alias_list=yes
else $as_nop
  lb_cv_test_d_alias_list=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_d_alias_list" >&5
printf "%s\n" "$lb_cv_test_d_alias_list" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_d_alias_list" = xyes
then :

printf "%s\n" "#define HAVE_DENTRY_D_U_D_ALIAS 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/d_alias_hlist_pc
	O=${T}/d_alias_hlist_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_d_alias_hlist+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"d_alias_hlist\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_d_alias_hlist+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for d_alias_hlist was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if hlist 'dentry.d_u.d_alias' exist" >&5
printf %s "checking if hlist 'dentry.d_u.d_alias' exist... " >&6; }
if test ${lb_cv_test_d_alias_hlist+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_d_alias_hlist=yes
else $as_nop
  lb_cv_test_d_alias_hlist=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_d_alias_hlist" >&5
printf "%s\n" "$lb_cv_test_d_alias_hlist" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_d_alias_hlist" = xyes
then :

printf "%s\n" "#define HAVE_DENTRY_D_U_D_ALIAS 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/d_child_pc
	O=${T}/d_child_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_d_child+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"d_child\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_d_child+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for d_child was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'dentry.d_child' exist" >&5
printf %s "checking if 'dentry.d_child' exist... " >&6; }
if test ${lb_cv_test_d_child+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_d_child=yes
else $as_nop
  lb_cv_test_d_child=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_d_child" >&5
printf "%s\n" "$lb_cv_test_d_child" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_d_child" = xyes
then :

printf "%s\n" "#define HAVE_DENTRY_D_CHILD 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/pid_ns_for_children_pc
	O=${T}/pid_ns_for_children_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_pid_ns_for_children+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"pid_ns_for_children\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_pid_ns_for_children+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for pid_ns_for_children was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'struct nsproxy' has 'pid_ns_for_children'" >&5
printf %s "checking if 'struct nsproxy' has 'pid_ns_for_children'... " >&6; }
if test ${lb_cv_test_pid_ns_for_children+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_pid_ns_for_children=yes
else $as_nop
  lb_cv_test_pid_ns_for_children=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_pid_ns_for_children" >&5
printf "%s\n" "$lb_cv_test_pid_ns_for_children" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_pid_ns_for_children" = xyes
then :

printf "%s\n" "#define HAVE_PID_NS_FOR_CHILDREN 1" >>confdefs.h


fi




	# 3.12


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/truncate_pagecache_old_size_pc
	O=${T}/truncate_pagecache_old_size_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_truncate_pagecache_old_size+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"truncate_pagecache_old_size\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_truncate_pagecache_old_size+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for truncate_pagecache_old_size was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'truncate_pagecache' with 'old_size' parameter" >&5
printf %s "checking if 'truncate_pagecache' with 'old_size' parameter... " >&6; }
if test ${lb_cv_test_truncate_pagecache_old_size+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_truncate_pagecache_old_size=yes
else $as_nop
  lb_cv_test_truncate_pagecache_old_size=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_truncate_pagecache_old_size" >&5
printf "%s\n" "$lb_cv_test_truncate_pagecache_old_size" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_truncate_pagecache_old_size" = xyes
then :

printf "%s\n" "#define HAVE_OLDSIZE_TRUNCATE_PAGECACHE 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/is_err_or_null_pc
	O=${T}/is_err_or_null_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_is_err_or_null+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"is_err_or_null\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_is_err_or_null+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for is_err_or_null was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'PTR_ERR_OR_ZERO' is missing" >&5
printf %s "checking if 'PTR_ERR_OR_ZERO' is missing... " >&6; }
if test ${lb_cv_test_is_err_or_null+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_is_err_or_null=yes
else $as_nop
  lb_cv_test_is_err_or_null=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_is_err_or_null" >&5
printf "%s\n" "$lb_cv_test_is_err_or_null" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_is_err_or_null" = xyes
then :

printf "%s\n" "#define HAVE_PTR_ERR_OR_ZERO 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/kiocb_ki_left_pc
	O=${T}/kiocb_ki_left_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_kiocb_ki_left+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"kiocb_ki_left\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_kiocb_ki_left+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for kiocb_ki_left was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'struct kiocb' with 'ki_left' member" >&5
printf %s "checking if 'struct kiocb' with 'ki_left' member... " >&6; }
if test ${lb_cv_test_kiocb_ki_left+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_kiocb_ki_left=yes
else $as_nop
  lb_cv_test_kiocb_ki_left=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_kiocb_ki_left" >&5
printf "%s\n" "$lb_cv_test_kiocb_ki_left" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_kiocb_ki_left" = xyes
then :

printf "%s\n" "#define HAVE_KIOCB_KI_LEFT 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/register_shrinker_ret_pc
	O=${T}/register_shrinker_ret_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_register_shrinker_ret+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"register_shrinker_ret\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_register_shrinker_ret+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for register_shrinker_ret was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if register_shrinker() returns status" >&5
printf %s "checking if register_shrinker() returns status... " >&6; }
if test ${lb_cv_test_register_shrinker_ret+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_register_shrinker_ret=yes
else $as_nop
  lb_cv_test_register_shrinker_ret=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_register_shrinker_ret" >&5
printf "%s\n" "$lb_cv_test_register_shrinker_ret" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_register_shrinker_ret" = xyes
then :

printf "%s\n" "#define HAVE_REGISTER_SHRINKER_RET 1" >>confdefs.h


fi




	# 3.13


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/vfs_rename_5args_pc
	O=${T}/vfs_rename_5args_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_vfs_rename_5args+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"vfs_rename_5args\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_vfs_rename_5args+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for vfs_rename_5args was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Linux kernel has 'vfs_rename' with 5 args" >&5
printf %s "checking if Linux kernel has 'vfs_rename' with 5 args... " >&6; }
if test ${lb_cv_test_vfs_rename_5args+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_vfs_rename_5args=yes
else $as_nop
  lb_cv_test_vfs_rename_5args=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_vfs_rename_5args" >&5
printf "%s\n" "$lb_cv_test_vfs_rename_5args" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_vfs_rename_5args" = xyes
then :

printf "%s\n" "#define HAVE_VFS_RENAME_5ARGS 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/vfs_unlink_3args_pc
	O=${T}/vfs_unlink_3args_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_vfs_unlink_3args+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"vfs_unlink_3args\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_vfs_unlink_3args+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for vfs_unlink_3args was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Linux kernel has 'vfs_unlink' with 3 args" >&5
printf %s "checking if Linux kernel has 'vfs_unlink' with 3 args... " >&6; }
if test ${lb_cv_test_vfs_unlink_3args+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_vfs_unlink_3args=yes
else $as_nop
  lb_cv_test_vfs_unlink_3args=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_vfs_unlink_3args" >&5
printf "%s\n" "$lb_cv_test_vfs_unlink_3args" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_vfs_unlink_3args" = xyes
then :

printf "%s\n" "#define HAVE_VFS_UNLINK_3ARGS 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/d_is_positive_pc
	O=${T}/d_is_positive_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_d_is_positive+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"d_is_positive\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_d_is_positive+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for d_is_positive was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'd_is_positive' exist" >&5
printf %s "checking if 'd_is_positive' exist... " >&6; }
if test ${lb_cv_test_d_is_positive+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_d_is_positive=yes
else $as_nop
  lb_cv_test_d_is_positive=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_d_is_positive" >&5
printf "%s\n" "$lb_cv_test_d_is_positive" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_d_is_positive" = xyes
then :

printf "%s\n" "#define HAVE_D_IS_POSITIVE 1" >>confdefs.h


fi




	# 3.14


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/have_bvec_iter_pc
	O=${T}/have_bvec_iter_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_have_bvec_iter+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"have_bvec_iter\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_have_bvec_iter+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for have_bvec_iter was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Linux kernel has struct bvec_iter" >&5
printf %s "checking if Linux kernel has struct bvec_iter... " >&6; }
if test ${lb_cv_test_have_bvec_iter+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_have_bvec_iter=yes
else $as_nop
  lb_cv_test_have_bvec_iter=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_have_bvec_iter" >&5
printf "%s\n" "$lb_cv_test_have_bvec_iter" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_have_bvec_iter" = xyes
then :

printf "%s\n" "#define HAVE_BVEC_ITER 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/truncate_ipages_final_pc
	O=${T}/truncate_ipages_final_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_truncate_ipages_final+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"truncate_ipages_final\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_truncate_ipages_final+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for truncate_ipages_final was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Linux kernel has truncate_inode_pages_final" >&5
printf %s "checking if Linux kernel has truncate_inode_pages_final... " >&6; }
if test ${lb_cv_test_truncate_ipages_final+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_truncate_ipages_final=yes
else $as_nop
  lb_cv_test_truncate_ipages_final=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_truncate_ipages_final" >&5
printf "%s\n" "$lb_cv_test_truncate_ipages_final" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_truncate_ipages_final" = xyes
then :

printf "%s\n" "#define HAVE_TRUNCATE_INODE_PAGES_FINAL 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/iops_rename_with_flags_pc
	O=${T}/iops_rename_with_flags_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_iops_rename_with_flags+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"iops_rename_with_flags\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_iops_rename_with_flags+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for iops_rename_with_flags was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'inode_operations->rename' taken flags as argument" >&5
printf %s "checking if 'inode_operations->rename' taken flags as argument... " >&6; }
if test ${lb_cv_test_iops_rename_with_flags+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_iops_rename_with_flags=yes
else $as_nop
  lb_cv_test_iops_rename_with_flags=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_iops_rename_with_flags" >&5
printf "%s\n" "$lb_cv_test_iops_rename_with_flags" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_iops_rename_with_flags" = xyes
then :

printf "%s\n" "#define HAVE_IOPS_RENAME_WITH_FLAGS 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/inode_ops_set_acl_pc
	O=${T}/inode_ops_set_acl_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_inode_ops_set_acl+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"inode_ops_set_acl\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_inode_ops_set_acl+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for inode_ops_set_acl was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'inode_operations' has '.set_acl' member function" >&5
printf %s "checking if 'inode_operations' has '.set_acl' member function... " >&6; }
if test ${lb_cv_test_inode_ops_set_acl+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_inode_ops_set_acl=yes
else $as_nop
  lb_cv_test_inode_ops_set_acl=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_inode_ops_set_acl" >&5
printf "%s\n" "$lb_cv_test_inode_ops_set_acl" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_inode_ops_set_acl" = xyes
then :

printf "%s\n" "#define HAVE_IOP_SET_ACL 1" >>confdefs.h


fi




	# 3.15


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/vfs_rename_6args_pc
	O=${T}/vfs_rename_6args_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_vfs_rename_6args+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"vfs_rename_6args\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_vfs_rename_6args+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for vfs_rename_6args was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Linux kernel has 'vfs_rename' with 6 args" >&5
printf %s "checking if Linux kernel has 'vfs_rename' with 6 args... " >&6; }
if test ${lb_cv_test_vfs_rename_6args+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_vfs_rename_6args=yes
else $as_nop
  lb_cv_test_vfs_rename_6args=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_vfs_rename_6args" >&5
printf "%s\n" "$lb_cv_test_vfs_rename_6args" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_vfs_rename_6args" = xyes
then :

printf "%s\n" "#define HAVE_VFS_RENAME_6ARGS 1" >>confdefs.h


fi




	# 3.16


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/direct_io_iter_pc
	O=${T}/direct_io_iter_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_direct_io_iter+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"direct_io_iter\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_direct_io_iter+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for direct_io_iter was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if direct IO uses iov_iter" >&5
printf %s "checking if direct IO uses iov_iter... " >&6; }
if test ${lb_cv_test_direct_io_iter+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_direct_io_iter=yes
else $as_nop
  lb_cv_test_direct_io_iter=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_direct_io_iter" >&5
printf "%s\n" "$lb_cv_test_direct_io_iter" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_direct_io_iter" = xyes
then :

printf "%s\n" "#define HAVE_DIRECTIO_ITER 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/iter_init_pc
	O=${T}/iter_init_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_iter_init+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"iter_init\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_iter_init+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for iter_init was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'iov_iter_init' takes a tag" >&5
printf %s "checking if 'iov_iter_init' takes a tag... " >&6; }
if test ${lb_cv_test_iter_init+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_iter_init=yes
else $as_nop
  lb_cv_test_iter_init=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_iter_init" >&5
printf "%s\n" "$lb_cv_test_iter_init" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_iter_init" = xyes
then :

printf "%s\n" "#define HAVE_IOV_ITER_INIT_DIRECTION 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/iter_truncate_pc
	O=${T}/iter_truncate_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_iter_truncate+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"iter_truncate\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_iter_truncate+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for iter_truncate was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'iov_iter_truncate' exists" >&5
printf %s "checking if 'iov_iter_truncate' exists... " >&6; }
if test ${lb_cv_test_iter_truncate+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_iter_truncate=yes
else $as_nop
  lb_cv_test_iter_truncate=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_iter_truncate" >&5
printf "%s\n" "$lb_cv_test_iter_truncate" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_iter_truncate" = xyes
then :

printf "%s\n" "#define HAVE_IOV_ITER_TRUNCATE 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/file_function_iter_pc
	O=${T}/file_function_iter_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_file_function_iter+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"file_function_iter\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_file_function_iter+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for file_function_iter was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'file_operations.read|write_iter' exist" >&5
printf %s "checking if 'file_operations.read|write_iter' exist... " >&6; }
if test ${lb_cv_test_file_function_iter+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_file_function_iter=yes
else $as_nop
  lb_cv_test_file_function_iter=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_file_function_iter" >&5
printf "%s\n" "$lb_cv_test_file_function_iter" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_file_function_iter" = xyes
then :

printf "%s\n" "#define HAVE_FILE_OPERATIONS_READ_WRITE_ITER 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/pagecache_get_page_pc
	O=${T}/pagecache_get_page_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_pagecache_get_page+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"pagecache_get_page\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_pagecache_get_page+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for pagecache_get_page was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'pagecache_get_page' exists" >&5
printf %s "checking if 'pagecache_get_page' exists... " >&6; }
if test ${lb_cv_test_pagecache_get_page+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_pagecache_get_page=yes
else $as_nop
  lb_cv_test_pagecache_get_page=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_pagecache_get_page" >&5
printf "%s\n" "$lb_cv_test_pagecache_get_page" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_pagecache_get_page" = xyes
then :

printf "%s\n" "#define HAVE_PAGECACHE_GET_PAGE 1" >>confdefs.h


fi




	# 3.17


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/interval_blk_integrity_pc
	O=${T}/interval_blk_integrity_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_interval_blk_integrity+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"interval_blk_integrity\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_interval_blk_integrity+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for interval_blk_integrity was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'blk_integrity.interval' exist" >&5
printf %s "checking if 'blk_integrity.interval' exist... " >&6; }
if test ${lb_cv_test_interval_blk_integrity+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_interval_blk_integrity=yes
else $as_nop
  lb_cv_test_interval_blk_integrity=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_interval_blk_integrity" >&5
printf "%s\n" "$lb_cv_test_interval_blk_integrity" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_interval_blk_integrity" = xyes
then :

printf "%s\n" "#define HAVE_INTERVAL_BLK_INTEGRITY 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/key_match_pc
	O=${T}/key_match_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_key_match+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"key_match\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_key_match+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for key_match was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if struct key_match field exist" >&5
printf %s "checking if struct key_match field exist... " >&6; }
if test ${lb_cv_test_key_match+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_key_match=yes
else $as_nop
  lb_cv_test_key_match=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_key_match" >&5
printf "%s\n" "$lb_cv_test_key_match" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_key_match" = xyes
then :

printf "%s\n" "#define HAVE_KEY_MATCH_DATA 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/blk_integrity_iter_pc
	O=${T}/blk_integrity_iter_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_blk_integrity_iter+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"blk_integrity_iter\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_blk_integrity_iter+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for blk_integrity_iter was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if struct blk_integrity_iter exist" >&5
printf %s "checking if struct blk_integrity_iter exist... " >&6; }
if test ${lb_cv_test_blk_integrity_iter+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_blk_integrity_iter=yes
else $as_nop
  lb_cv_test_blk_integrity_iter=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_blk_integrity_iter" >&5
printf "%s\n" "$lb_cv_test_blk_integrity_iter" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_blk_integrity_iter" = xyes
then :

printf "%s\n" "#define HAVE_BLK_INTEGRITY_ITER 1" >>confdefs.h


fi




	# 3.18


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/percpu_counter_init_pc
	O=${T}/percpu_counter_init_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_percpu_counter_init+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"percpu_counter_init\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_percpu_counter_init+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for percpu_counter_init was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if percpu_counter_init uses GFP_* flag as argument" >&5
printf %s "checking if percpu_counter_init uses GFP_* flag as argument... " >&6; }
if test ${lb_cv_test_percpu_counter_init+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_percpu_counter_init=yes
else $as_nop
  lb_cv_test_percpu_counter_init=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_percpu_counter_init" >&5
printf "%s\n" "$lb_cv_test_percpu_counter_init" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_percpu_counter_init" = xyes
then :

printf "%s\n" "#define HAVE_PERCPU_COUNTER_INIT_GFP_FLAG 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/filldir_ctx_pc
	O=${T}/filldir_ctx_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_filldir_ctx+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"filldir_ctx\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_filldir_ctx+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for filldir_ctx was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if filldir_t uses struct dir_context" >&5
printf %s "checking if filldir_t uses struct dir_context... " >&6; }
if test ${lb_cv_test_filldir_ctx+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_filldir_ctx=yes
else $as_nop
  lb_cv_test_filldir_ctx=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_filldir_ctx" >&5
printf "%s\n" "$lb_cv_test_filldir_ctx" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_filldir_ctx" = xyes
then :

printf "%s\n" "#define HAVE_FILLDIR_USE_CTX 1" >>confdefs.h


fi




	# 3.19


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/ki_nbytes_pc
	O=${T}/ki_nbytes_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_ki_nbytes+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"ki_nbytes\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_ki_nbytes+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for ki_nbytes was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if struct kiocb has ki_nbytes field" >&5
printf %s "checking if struct kiocb has ki_nbytes field... " >&6; }
if test ${lb_cv_test_ki_nbytes+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_ki_nbytes=yes
else $as_nop
  lb_cv_test_ki_nbytes=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_ki_nbytes" >&5
printf "%s\n" "$lb_cv_test_ki_nbytes" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_ki_nbytes" = xyes
then :

printf "%s\n" "#define HAVE_KI_NBYTES 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/qc_dqblk_pc
	O=${T}/qc_dqblk_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_qc_dqblk+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"qc_dqblk\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_qc_dqblk+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for qc_dqblk was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'quotactl_ops.set_dqblk' takes struct qc_dqblk" >&5
printf %s "checking if 'quotactl_ops.set_dqblk' takes struct qc_dqblk... " >&6; }
if test ${lb_cv_test_qc_dqblk+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_qc_dqblk=yes
else $as_nop
  lb_cv_test_qc_dqblk=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_qc_dqblk" >&5
printf "%s\n" "$lb_cv_test_qc_dqblk" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_qc_dqblk" = xyes
then :

printf "%s\n" "#define HAVE_DQUOT_QC_DQBLK 1" >>confdefs.h


printf "%s\n" "#define HAVE_DQUOT_KQID 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/aio_complete_pc
	O=${T}/aio_complete_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_aio_complete+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"aio_complete\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_aio_complete+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for aio_complete was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if kernel has exported aio_complete()" >&5
printf %s "checking if kernel has exported aio_complete()... " >&6; }
if test ${lb_cv_test_aio_complete+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_aio_complete=yes
else $as_nop
  lb_cv_test_aio_complete=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_aio_complete" >&5
printf "%s\n" "$lb_cv_test_aio_complete" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_aio_complete" = xyes
then :

printf "%s\n" "#define HAVE_AIO_COMPLETE 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/is_root_inode_pc
	O=${T}/is_root_inode_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_is_root_inode+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"is_root_inode\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_is_root_inode+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for is_root_inode was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if kernel has is_root_inode()" >&5
printf %s "checking if kernel has is_root_inode()... " >&6; }
if test ${lb_cv_test_is_root_inode+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_is_root_inode=yes
else $as_nop
  lb_cv_test_is_root_inode=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_is_root_inode" >&5
printf "%s\n" "$lb_cv_test_is_root_inode" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_is_root_inode" = xyes
then :

printf "%s\n" "#define HAVE_IS_ROOT_INODE 1" >>confdefs.h


fi




	# 3.20


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/backing_dev_info_pc
	O=${T}/backing_dev_info_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_backing_dev_info+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"backing_dev_info\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_backing_dev_info+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for backing_dev_info was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if struct address_space has backing_dev_info" >&5
printf %s "checking if struct address_space has backing_dev_info... " >&6; }
if test ${lb_cv_test_backing_dev_info+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_backing_dev_info=yes
else $as_nop
  lb_cv_test_backing_dev_info=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_backing_dev_info" >&5
printf "%s\n" "$lb_cv_test_backing_dev_info" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_backing_dev_info" = xyes
then :

printf "%s\n" "#define HAVE_BACKING_DEV_INFO 1" >>confdefs.h


fi




	# 4.1.0


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/iov_iter_rw_pc
	O=${T}/iov_iter_rw_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_iov_iter_rw+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"iov_iter_rw\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_iov_iter_rw+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for iov_iter_rw was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if iov_iter_rw exists" >&5
printf %s "checking if iov_iter_rw exists... " >&6; }
if test ${lb_cv_test_iov_iter_rw+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_iov_iter_rw=yes
else $as_nop
  lb_cv_test_iov_iter_rw=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_iov_iter_rw" >&5
printf "%s\n" "$lb_cv_test_iov_iter_rw" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_iov_iter_rw" = xyes
then :

printf "%s\n" "#define HAVE_IOV_ITER_RW 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/have___bi_cnt_pc
	O=${T}/have___bi_cnt_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_have___bi_cnt+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"have___bi_cnt\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_have___bi_cnt+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for have___bi_cnt was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Linux kernel has __bi_cnt in struct bio" >&5
printf %s "checking if Linux kernel has __bi_cnt in struct bio... " >&6; }
if test ${lb_cv_test_have___bi_cnt+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_have___bi_cnt=yes
else $as_nop
  lb_cv_test_have___bi_cnt=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_have___bi_cnt" >&5
printf "%s\n" "$lb_cv_test_have___bi_cnt" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_have___bi_cnt" = xyes
then :

printf "%s\n" "#define HAVE___BI_CNT 1" >>confdefs.h


fi




	# 4.2


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/bio_endio_pc
	O=${T}/bio_endio_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_bio_endio+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"bio_endio\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_bio_endio+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for bio_endio was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'bio_endio' with one argument exist" >&5
printf %s "checking if 'bio_endio' with one argument exist... " >&6; }
if test ${lb_cv_test_bio_endio+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_bio_endio=yes
else $as_nop
  lb_cv_test_bio_endio=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_bio_endio" >&5
printf "%s\n" "$lb_cv_test_bio_endio" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_bio_endio" = xyes
then :

printf "%s\n" "#define HAVE_BIO_ENDIO_USES_ONE_ARG 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/symlink_use_nameidata_pc
	O=${T}/symlink_use_nameidata_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_symlink_use_nameidata+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"symlink_use_nameidata\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_symlink_use_nameidata+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for symlink_use_nameidata was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if symlink inode operations have struct nameidata argument" >&5
printf %s "checking if symlink inode operations have struct nameidata argument... " >&6; }
if test ${lb_cv_test_symlink_use_nameidata+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_symlink_use_nameidata=yes
else $as_nop
  lb_cv_test_symlink_use_nameidata=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_symlink_use_nameidata" >&5
printf "%s\n" "$lb_cv_test_symlink_use_nameidata" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_symlink_use_nameidata" = xyes
then :

printf "%s\n" "#define HAVE_SYMLINK_OPS_USE_NAMEIDATA 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/account_page_dirtied_3a_pc
	O=${T}/account_page_dirtied_3a_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_account_page_dirtied_3a+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"account_page_dirtied_3a\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_account_page_dirtied_3a+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for account_page_dirtied_3a was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'account_page_dirtied' with 3 args exists" >&5
printf %s "checking if 'account_page_dirtied' with 3 args exists... " >&6; }
if test ${lb_cv_test_account_page_dirtied_3a+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_account_page_dirtied_3a=yes
else $as_nop
  lb_cv_test_account_page_dirtied_3a=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_account_page_dirtied_3a" >&5
printf "%s\n" "$lb_cv_test_account_page_dirtied_3a" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_account_page_dirtied_3a" = xyes
then :

printf "%s\n" "#define HAVE_ACCOUNT_PAGE_DIRTIED_3ARGS 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/crypto_alloc_skcipher_pc
	O=${T}/crypto_alloc_skcipher_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_crypto_alloc_skcipher+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"crypto_alloc_skcipher\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_crypto_alloc_skcipher+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for crypto_alloc_skcipher was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if crypto_alloc_skcipher is defined" >&5
printf %s "checking if crypto_alloc_skcipher is defined... " >&6; }
if test ${lb_cv_test_crypto_alloc_skcipher+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_crypto_alloc_skcipher=yes
else $as_nop
  lb_cv_test_crypto_alloc_skcipher=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_crypto_alloc_skcipher" >&5
printf "%s\n" "$lb_cv_test_crypto_alloc_skcipher" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_crypto_alloc_skcipher" = xyes
then :

printf "%s\n" "#define HAVE_CRYPTO_ALLOC_SKCIPHER 1" >>confdefs.h


fi




	# 4.3


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/blk_integrity_interval_exp_pc
	O=${T}/blk_integrity_interval_exp_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_blk_integrity_interval_exp+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"blk_integrity_interval_exp\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_blk_integrity_interval_exp+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for blk_integrity_interval_exp was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'blk_integrity.interval_exp' exist" >&5
printf %s "checking if 'blk_integrity.interval_exp' exist... " >&6; }
if test ${lb_cv_test_blk_integrity_interval_exp+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_blk_integrity_interval_exp=yes
else $as_nop
  lb_cv_test_blk_integrity_interval_exp=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_blk_integrity_interval_exp" >&5
printf "%s\n" "$lb_cv_test_blk_integrity_interval_exp" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_blk_integrity_interval_exp" = xyes
then :

printf "%s\n" "#define HAVE_INTERVAL_EXP_BLK_INTEGRITY 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/bio_integrity_payload_bip_iter_pc
	O=${T}/bio_integrity_payload_bip_iter_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_bio_integrity_payload_bip_iter+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"bio_integrity_payload_bip_iter\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_bio_integrity_payload_bip_iter+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for bio_integrity_payload_bip_iter was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'bio_integrity_payload.bip_iter' exist" >&5
printf %s "checking if 'bio_integrity_payload.bip_iter' exist... " >&6; }
if test ${lb_cv_test_bio_integrity_payload_bip_iter+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_bio_integrity_payload_bip_iter=yes
else $as_nop
  lb_cv_test_bio_integrity_payload_bip_iter=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_bio_integrity_payload_bip_iter" >&5
printf "%s\n" "$lb_cv_test_bio_integrity_payload_bip_iter" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_bio_integrity_payload_bip_iter" = xyes
then :

printf "%s\n" "#define HAVE_BIP_ITER_BIO_INTEGRITY_PAYLOAD 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/cache_head_has_hlist_pc
	O=${T}/cache_head_has_hlist_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_cache_head_has_hlist+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"cache_head_has_hlist\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_cache_head_has_hlist+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for cache_head_has_hlist was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'struct cache_head' has 'cache_list' field" >&5
printf %s "checking if 'struct cache_head' has 'cache_list' field... " >&6; }
if test ${lb_cv_test_cache_head_has_hlist+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_cache_head_has_hlist=yes
else $as_nop
  lb_cv_test_cache_head_has_hlist=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_cache_head_has_hlist" >&5
printf "%s\n" "$lb_cv_test_cache_head_has_hlist" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_cache_head_has_hlist" = xyes
then :

printf "%s\n" "#define HAVE_CACHE_HEAD_HLIST 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/xattr_handler_simplified_pc
	O=${T}/xattr_handler_simplified_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_xattr_handler_simplified+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"xattr_handler_simplified\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_xattr_handler_simplified+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for xattr_handler_simplified was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'struct xattr_handler' functions pass in handler pointer" >&5
printf %s "checking if 'struct xattr_handler' functions pass in handler pointer... " >&6; }
if test ${lb_cv_test_xattr_handler_simplified+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_xattr_handler_simplified=yes
else $as_nop
  lb_cv_test_xattr_handler_simplified=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_xattr_handler_simplified" >&5
printf "%s\n" "$lb_cv_test_xattr_handler_simplified" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_xattr_handler_simplified" = xyes
then :

printf "%s\n" "#define HAVE_XATTR_HANDLER_SIMPLIFIED 1" >>confdefs.h


fi




	# 4.4


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/locks_lock_file_wait_pc
	O=${T}/locks_lock_file_wait_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_locks_lock_file_wait+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"locks_lock_file_wait\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_locks_lock_file_wait+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for locks_lock_file_wait was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'locks_lock_file_wait' exists" >&5
printf %s "checking if 'locks_lock_file_wait' exists... " >&6; }
if test ${lb_cv_test_locks_lock_file_wait+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_locks_lock_file_wait=yes
else $as_nop
  lb_cv_test_locks_lock_file_wait=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_locks_lock_file_wait" >&5
printf "%s\n" "$lb_cv_test_locks_lock_file_wait" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_locks_lock_file_wait" = xyes
then :

printf "%s\n" "#define HAVE_LOCKS_LOCK_FILE_WAIT 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/key_payload_data_array_pc
	O=${T}/key_payload_data_array_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_key_payload_data_array+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"key_payload_data_array\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_key_payload_data_array+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for key_payload_data_array was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'struct key' has 'payload.data' as an array" >&5
printf %s "checking if 'struct key' has 'payload.data' as an array... " >&6; }
if test ${lb_cv_test_key_payload_data_array+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_key_payload_data_array=yes
else $as_nop
  lb_cv_test_key_payload_data_array=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_key_payload_data_array" >&5
printf "%s\n" "$lb_cv_test_key_payload_data_array" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_key_payload_data_array" = xyes
then :

printf "%s\n" "#define HAVE_KEY_PAYLOAD_DATA_ARRAY 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/xattr_handler_name_pc
	O=${T}/xattr_handler_name_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_xattr_handler_name+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"xattr_handler_name\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_xattr_handler_name+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for xattr_handler_name was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'struct xattr_handler' has a name member" >&5
printf %s "checking if 'struct xattr_handler' has a name member... " >&6; }
if test ${lb_cv_test_xattr_handler_name+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_xattr_handler_name=yes
else $as_nop
  lb_cv_test_xattr_handler_name=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_xattr_handler_name" >&5
printf "%s\n" "$lb_cv_test_xattr_handler_name" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_xattr_handler_name" = xyes
then :

printf "%s\n" "#define HAVE_XATTR_HANDLER_NAME 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/have_bi_opf_pc
	O=${T}/have_bi_opf_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_have_bi_opf+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"have_bi_opf\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_have_bi_opf+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for have_bi_opf was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Linux kernel has bi_opf in struct bio" >&5
printf %s "checking if Linux kernel has bi_opf in struct bio... " >&6; }
if test ${lb_cv_test_have_bi_opf+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_have_bi_opf=yes
else $as_nop
  lb_cv_test_have_bi_opf=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_have_bi_opf" >&5
printf "%s\n" "$lb_cv_test_have_bi_opf" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_have_bi_opf" = xyes
then :

printf "%s\n" "#define HAVE_BI_OPF 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/have_submit_bio_2args_pc
	O=${T}/have_submit_bio_2args_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_have_submit_bio_2args+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"have_submit_bio_2args\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_have_submit_bio_2args+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for have_submit_bio_2args was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if submit_bio takes two arguments" >&5
printf %s "checking if submit_bio takes two arguments... " >&6; }
if test ${lb_cv_test_have_submit_bio_2args+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_have_submit_bio_2args=yes
else $as_nop
  lb_cv_test_have_submit_bio_2args=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_have_submit_bio_2args" >&5
printf "%s\n" "$lb_cv_test_have_submit_bio_2args" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_have_submit_bio_2args" = xyes
then :

printf "%s\n" "#define HAVE_SUBMIT_BIO_2ARGS 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/have_clean_bdev_aliases_pc
	O=${T}/have_clean_bdev_aliases_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_have_clean_bdev_aliases+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"have_clean_bdev_aliases\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_have_clean_bdev_aliases+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for have_clean_bdev_aliases was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if kernel has clean_bdev_aliases" >&5
printf %s "checking if kernel has clean_bdev_aliases... " >&6; }
if test ${lb_cv_test_have_clean_bdev_aliases+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_have_clean_bdev_aliases=yes
else $as_nop
  lb_cv_test_have_clean_bdev_aliases=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_have_clean_bdev_aliases" >&5
printf "%s\n" "$lb_cv_test_have_clean_bdev_aliases" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_have_clean_bdev_aliases" = xyes
then :

printf "%s\n" "#define HAVE_CLEAN_BDEV_ALIASES 1" >>confdefs.h


fi




	# 4.5


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/file_dentry_pc
	O=${T}/file_dentry_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_file_dentry+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"file_dentry\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_file_dentry+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for file_dentry was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Linux kernel has 'file_dentry'" >&5
printf %s "checking if Linux kernel has 'file_dentry'... " >&6; }
if test ${lb_cv_test_file_dentry+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_file_dentry=yes
else $as_nop
  lb_cv_test_file_dentry=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_file_dentry" >&5
printf "%s\n" "$lb_cv_test_file_dentry" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_file_dentry" = xyes
then :

printf "%s\n" "#define HAVE_FILE_DENTRY 1" >>confdefs.h


fi




	# 4.5


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/inode_lock_pc
	O=${T}/inode_lock_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_inode_lock+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"inode_lock\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_inode_lock+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for inode_lock was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'inode_lock' is defined" >&5
printf %s "checking if 'inode_lock' is defined... " >&6; }
if test ${lb_cv_test_inode_lock+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_inode_lock=yes
else $as_nop
  lb_cv_test_inode_lock=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_inode_lock" >&5
printf "%s\n" "$lb_cv_test_inode_lock" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_inode_lock" = xyes
then :

printf "%s\n" "#define HAVE_INODE_LOCK 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/inode_ops_get_link_pc
	O=${T}/inode_ops_get_link_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_inode_ops_get_link+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"inode_ops_get_link\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_inode_ops_get_link+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for inode_ops_get_link was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'iop' has 'get_link'" >&5
printf %s "checking if 'iop' has 'get_link'... " >&6; }
if test ${lb_cv_test_inode_ops_get_link+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_inode_ops_get_link=yes
else $as_nop
  lb_cv_test_inode_ops_get_link=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_inode_ops_get_link" >&5
printf "%s\n" "$lb_cv_test_inode_ops_get_link" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_inode_ops_get_link" = xyes
then :

printf "%s\n" "#define HAVE_IOP_GET_LINK 1" >>confdefs.h


fi




	# 4.6


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/in_compat_syscall_pc
	O=${T}/in_compat_syscall_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_in_compat_syscall+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"in_compat_syscall\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_in_compat_syscall+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for in_compat_syscall was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'in_compat_syscall' is defined" >&5
printf %s "checking if 'in_compat_syscall' is defined... " >&6; }
if test ${lb_cv_test_in_compat_syscall+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_in_compat_syscall=yes
else $as_nop
  lb_cv_test_in_compat_syscall=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_in_compat_syscall" >&5
printf "%s\n" "$lb_cv_test_in_compat_syscall" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_in_compat_syscall" = xyes
then :

printf "%s\n" "#define HAVE_IN_COMPAT_SYSCALL 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/xattr_handler_inode_param_pc
	O=${T}/xattr_handler_inode_param_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_xattr_handler_inode_param+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"xattr_handler_inode_param\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_xattr_handler_inode_param+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for xattr_handler_inode_param was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'struct xattr_handler' functions have inode parameter" >&5
printf %s "checking if 'struct xattr_handler' functions have inode parameter... " >&6; }
if test ${lb_cv_test_xattr_handler_inode_param+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_xattr_handler_inode_param=yes
else $as_nop
  lb_cv_test_xattr_handler_inode_param=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_xattr_handler_inode_param" >&5
printf "%s\n" "$lb_cv_test_xattr_handler_inode_param" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_xattr_handler_inode_param" = xyes
then :

printf "%s\n" "#define HAVE_XATTR_HANDLER_INODE_PARAM 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/lock_page_memcg_pc
	O=${T}/lock_page_memcg_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_lock_page_memcg+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"lock_page_memcg\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_lock_page_memcg+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for lock_page_memcg was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'lock_page_memcg' is defined" >&5
printf %s "checking if 'lock_page_memcg' is defined... " >&6; }
if test ${lb_cv_test_lock_page_memcg+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_lock_page_memcg=yes
else $as_nop
  lb_cv_test_lock_page_memcg=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_lock_page_memcg" >&5
printf "%s\n" "$lb_cv_test_lock_page_memcg" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_lock_page_memcg" = xyes
then :

printf "%s\n" "#define HAVE_LOCK_PAGE_MEMCG 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/down_write_killable_pc
	O=${T}/down_write_killable_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_down_write_killable+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"down_write_killable\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_down_write_killable+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for down_write_killable was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if down_write_killable exists" >&5
printf %s "checking if down_write_killable exists... " >&6; }
if test ${lb_cv_test_down_write_killable+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_down_write_killable=yes
else $as_nop
  lb_cv_test_down_write_killable=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_down_write_killable" >&5
printf "%s\n" "$lb_cv_test_down_write_killable" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_down_write_killable" = xyes
then :

printf "%s\n" "#define HAVE_DOWN_WRITE_KILLABLE 1" >>confdefs.h


fi




	# 4.7


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/d_in_lookup_pc
	O=${T}/d_in_lookup_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_d_in_lookup+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"d_in_lookup\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_d_in_lookup+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for d_in_lookup was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'd_in_lookup' is defined" >&5
printf %s "checking if 'd_in_lookup' is defined... " >&6; }
if test ${lb_cv_test_d_in_lookup+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_d_in_lookup=yes
else $as_nop
  lb_cv_test_d_in_lookup=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_d_in_lookup" >&5
printf "%s\n" "$lb_cv_test_d_in_lookup" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_d_in_lookup" = xyes
then :

printf "%s\n" "#define HAVE_D_IN_LOOKUP 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/d_init_pc
	O=${T}/d_init_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_d_init+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"d_init\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_d_init+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for d_init was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if dentry operations supports 'd_init'" >&5
printf %s "checking if dentry operations supports 'd_init'... " >&6; }
if test ${lb_cv_test_d_init+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_d_init=yes
else $as_nop
  lb_cv_test_d_init=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_d_init" >&5
printf "%s\n" "$lb_cv_test_d_init" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_d_init" = xyes
then :

printf "%s\n" "#define HAVE_D_INIT 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/direct_io_2args_pc
	O=${T}/direct_io_2args_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_direct_io_2args+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"direct_io_2args\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_direct_io_2args+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for direct_io_2args was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if '->direct_IO()' takes 2 arguments" >&5
printf %s "checking if '->direct_IO()' takes 2 arguments... " >&6; }
if test ${lb_cv_test_direct_io_2args+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_direct_io_2args=yes
else $as_nop
  lb_cv_test_direct_io_2args=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_direct_io_2args" >&5
printf "%s\n" "$lb_cv_test_direct_io_2args" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_direct_io_2args" = xyes
then :

printf "%s\n" "#define HAVE_DIRECTIO_2ARGS 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/generic_write_sync_2args_pc
	O=${T}/generic_write_sync_2args_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_generic_write_sync_2args+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"generic_write_sync_2args\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_generic_write_sync_2args+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for generic_write_sync_2args was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'generic_write_sync()' takes 2 arguments" >&5
printf %s "checking if 'generic_write_sync()' takes 2 arguments... " >&6; }
if test ${lb_cv_test_generic_write_sync_2args+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_generic_write_sync_2args=yes
else $as_nop
  lb_cv_test_generic_write_sync_2args=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_generic_write_sync_2args" >&5
printf "%s\n" "$lb_cv_test_generic_write_sync_2args" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_generic_write_sync_2args" = xyes
then :

printf "%s\n" "#define HAVE_GENERIC_WRITE_SYNC_2ARGS 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/fop_iterate_shared_pc
	O=${T}/fop_iterate_shared_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_fop_iterate_shared+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"fop_iterate_shared\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_fop_iterate_shared+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for fop_iterate_shared was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'file_operations' has 'iterate_shared'" >&5
printf %s "checking if 'file_operations' has 'iterate_shared'... " >&6; }
if test ${lb_cv_test_fop_iterate_shared+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_fop_iterate_shared=yes
else $as_nop
  lb_cv_test_fop_iterate_shared=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_fop_iterate_shared" >&5
printf "%s\n" "$lb_cv_test_fop_iterate_shared" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_fop_iterate_shared" = xyes
then :

printf "%s\n" "#define HAVE_FOP_ITERATE_SHARED 1" >>confdefs.h


fi




	# 4.8


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/posix_acl_valid_pc
	O=${T}/posix_acl_valid_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_posix_acl_valid+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"posix_acl_valid\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_posix_acl_valid+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for posix_acl_valid was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'posix_acl_valid' takes 'struct user_namespace'" >&5
printf %s "checking if 'posix_acl_valid' takes 'struct user_namespace'... " >&6; }
if test ${lb_cv_test_posix_acl_valid+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_posix_acl_valid=yes
else $as_nop
  lb_cv_test_posix_acl_valid=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_posix_acl_valid" >&5
printf "%s\n" "$lb_cv_test_posix_acl_valid" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_posix_acl_valid" = xyes
then :

printf "%s\n" "#define HAVE_POSIX_ACL_VALID_USER_NS 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/d_compare_4args_pc
	O=${T}/d_compare_4args_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_d_compare_4args+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"d_compare_4args\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_d_compare_4args+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for d_compare_4args was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'd_compare' taken 4 arguments" >&5
printf %s "checking if 'd_compare' taken 4 arguments... " >&6; }
if test ${lb_cv_test_d_compare_4args+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_d_compare_4args=yes
else $as_nop
  lb_cv_test_d_compare_4args=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_d_compare_4args" >&5
printf "%s\n" "$lb_cv_test_d_compare_4args" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_d_compare_4args" = xyes
then :

printf "%s\n" "#define HAVE_D_COMPARE_4ARGS 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/full_name_hash_3args_pc
	O=${T}/full_name_hash_3args_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_full_name_hash_3args+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"full_name_hash_3args\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_full_name_hash_3args+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for full_name_hash_3args was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'full_name_hash' taken 3 arguments" >&5
printf %s "checking if 'full_name_hash' taken 3 arguments... " >&6; }
if test ${lb_cv_test_full_name_hash_3args+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_full_name_hash_3args=yes
else $as_nop
  lb_cv_test_full_name_hash_3args=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_full_name_hash_3args" >&5
printf "%s\n" "$lb_cv_test_full_name_hash_3args" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_full_name_hash_3args" = xyes
then :

printf "%s\n" "#define HAVE_FULL_NAME_HASH_3ARGS 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/struct_posix_acl_xattr_pc
	O=${T}/struct_posix_acl_xattr_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_struct_posix_acl_xattr+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"struct_posix_acl_xattr\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_struct_posix_acl_xattr+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for struct_posix_acl_xattr was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'struct posix_acl_xattr_{header,entry}' defined" >&5
printf %s "checking if 'struct posix_acl_xattr_{header,entry}' defined... " >&6; }
if test ${lb_cv_test_struct_posix_acl_xattr+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_struct_posix_acl_xattr=yes
else $as_nop
  lb_cv_test_struct_posix_acl_xattr=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_struct_posix_acl_xattr" >&5
printf "%s\n" "$lb_cv_test_struct_posix_acl_xattr" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_struct_posix_acl_xattr" = xyes
then :

printf "%s\n" "#define HAVE_STRUCT_POSIX_ACL_XATTR 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/inode_ops_xattr_pc
	O=${T}/inode_ops_xattr_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_inode_ops_xattr+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"inode_ops_xattr\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_inode_ops_xattr+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for inode_ops_xattr was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'inode_operations' has {get,set,remove}xattr members" >&5
printf %s "checking if 'inode_operations' has {get,set,remove}xattr members... " >&6; }
if test ${lb_cv_test_inode_ops_xattr+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_inode_ops_xattr=yes
else $as_nop
  lb_cv_test_inode_ops_xattr=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_inode_ops_xattr" >&5
printf "%s\n" "$lb_cv_test_inode_ops_xattr" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_inode_ops_xattr" = xyes
then :

printf "%s\n" "#define HAVE_IOP_XATTR 1" >>confdefs.h


fi




	# 4.9


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/group_info_gid_pc
	O=${T}/group_info_gid_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_group_info_gid+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"group_info_gid\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_group_info_gid+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for group_info_gid was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'struct group_info' has member 'gid'" >&5
printf %s "checking if 'struct group_info' has member 'gid'... " >&6; }
if test ${lb_cv_test_group_info_gid+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_group_info_gid=yes
else $as_nop
  lb_cv_test_group_info_gid=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_group_info_gid" >&5
printf "%s\n" "$lb_cv_test_group_info_gid" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_group_info_gid" = xyes
then :

printf "%s\n" "#define HAVE_GROUP_INFO_GID 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/vfs_setxattr_pc
	O=${T}/vfs_setxattr_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_vfs_setxattr+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"vfs_setxattr\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_vfs_setxattr+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for vfs_setxattr was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if '__vfs_setxattr' helper is available" >&5
printf %s "checking if '__vfs_setxattr' helper is available... " >&6; }
if test ${lb_cv_test_vfs_setxattr+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_vfs_setxattr=yes
else $as_nop
  lb_cv_test_vfs_setxattr=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_vfs_setxattr" >&5
printf "%s\n" "$lb_cv_test_vfs_setxattr" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_vfs_setxattr" = xyes
then :

printf "%s\n" "#define HAVE_VFS_SETXATTR 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/posix_acl_update_mode_pc
	O=${T}/posix_acl_update_mode_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_posix_acl_update_mode+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"posix_acl_update_mode\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_posix_acl_update_mode+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for posix_acl_update_mode was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'posix_acl_update_mode' exists" >&5
printf %s "checking if 'posix_acl_update_mode' exists... " >&6; }
if test ${lb_cv_test_posix_acl_update_mode+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_posix_acl_update_mode=yes
else $as_nop
  lb_cv_test_posix_acl_update_mode=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_posix_acl_update_mode" >&5
printf "%s\n" "$lb_cv_test_posix_acl_update_mode" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_posix_acl_update_mode" = xyes
then :

printf "%s\n" "#define HAVE_POSIX_ACL_UPDATE_MODE 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/bdi_has_io_pages_pc
	O=${T}/bdi_has_io_pages_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_bdi_has_io_pages+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"bdi_has_io_pages\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_bdi_has_io_pages+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for bdi_has_io_pages was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'struct backing_dev_info' has 'io_pages' field" >&5
printf %s "checking if 'struct backing_dev_info' has 'io_pages' field... " >&6; }
if test ${lb_cv_test_bdi_has_io_pages+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_bdi_has_io_pages=yes
else $as_nop
  lb_cv_test_bdi_has_io_pages=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_bdi_has_io_pages" >&5
printf "%s\n" "$lb_cv_test_bdi_has_io_pages" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_bdi_has_io_pages" = xyes
then :

printf "%s\n" "#define HAVE_BDI_IO_PAGES 1" >>confdefs.h


fi




	# 4.10


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/inode_ops_readlink_pc
	O=${T}/inode_ops_readlink_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_inode_ops_readlink+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"inode_ops_readlink\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_inode_ops_readlink+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for inode_ops_readlink was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'generic_readlink' still exist" >&5
printf %s "checking if 'generic_readlink' still exist... " >&6; }
if test ${lb_cv_test_inode_ops_readlink+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_inode_ops_readlink=yes
else $as_nop
  lb_cv_test_inode_ops_readlink=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_inode_ops_readlink" >&5
printf "%s\n" "$lb_cv_test_inode_ops_readlink" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_inode_ops_readlink" = xyes
then :

printf "%s\n" "#define HAVE_IOP_GENERIC_READLINK 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/vm_fault_address_pc
	O=${T}/vm_fault_address_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_vm_fault_address+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"vm_fault_address\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_vm_fault_address+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for vm_fault_address was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'struct vm_fault' replaced virtual_address with address field" >&5
printf %s "checking if 'struct vm_fault' replaced virtual_address with address field... " >&6; }
if test ${lb_cv_test_vm_fault_address+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_vm_fault_address=yes
else $as_nop
  lb_cv_test_vm_fault_address=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_vm_fault_address" >&5
printf "%s\n" "$lb_cv_test_vm_fault_address" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_vm_fault_address" = xyes
then :

printf "%s\n" "#define HAVE_VM_FAULT_ADDRESS 1" >>confdefs.h


fi




	# 4.11


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/getattr_path_pc
	O=${T}/getattr_path_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_getattr_path+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"getattr_path\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_getattr_path+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for getattr_path was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'inode_operations' getattr member can gather advance stats" >&5
printf %s "checking if 'inode_operations' getattr member can gather advance stats... " >&6; }
if test ${lb_cv_test_getattr_path+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_getattr_path=yes
else $as_nop
  lb_cv_test_getattr_path=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_getattr_path" >&5
printf "%s\n" "$lb_cv_test_getattr_path" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_getattr_path" = xyes
then :

printf "%s\n" "#define HAVE_INODEOPS_ENHANCED_GETATTR 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/vm_operations_no_vm_area_struct_pc
	O=${T}/vm_operations_no_vm_area_struct_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_vm_operations_no_vm_area_struct+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"vm_operations_no_vm_area_struct\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_vm_operations_no_vm_area_struct+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for vm_operations_no_vm_area_struct was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'struct vm_operations' removed struct vm_area_struct" >&5
printf %s "checking if 'struct vm_operations' removed struct vm_area_struct... " >&6; }
if test ${lb_cv_test_vm_operations_no_vm_area_struct+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_vm_operations_no_vm_area_struct=yes
else $as_nop
  lb_cv_test_vm_operations_no_vm_area_struct=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_vm_operations_no_vm_area_struct" >&5
printf "%s\n" "$lb_cv_test_vm_operations_no_vm_area_struct" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_vm_operations_no_vm_area_struct" = xyes
then :

printf "%s\n" "#define HAVE_VM_OPS_USE_VM_FAULT_ONLY 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/key_usage_refcount_pc
	O=${T}/key_usage_refcount_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_key_usage_refcount+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"key_usage_refcount\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_key_usage_refcount+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for key_usage_refcount was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'key.usage' is refcount_t" >&5
printf %s "checking if 'key.usage' is refcount_t... " >&6; }
if test ${lb_cv_test_key_usage_refcount+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_key_usage_refcount=yes
else $as_nop
  lb_cv_test_key_usage_refcount=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_key_usage_refcount" >&5
printf "%s\n" "$lb_cv_test_key_usage_refcount" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_key_usage_refcount" = xyes
then :

printf "%s\n" "#define HAVE_KEY_USAGE_REFCOUNT 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/crypto_max_alg_name_pc
	O=${T}/crypto_max_alg_name_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_crypto_max_alg_name+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"crypto_max_alg_name\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_crypto_max_alg_name+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for crypto_max_alg_name was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'CRYPTO_MAX_ALG_NAME' is 128" >&5
printf %s "checking if 'CRYPTO_MAX_ALG_NAME' is 128... " >&6; }
if test ${lb_cv_test_crypto_max_alg_name+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_crypto_max_alg_name=yes
else $as_nop
  lb_cv_test_crypto_max_alg_name=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_crypto_max_alg_name" >&5
printf "%s\n" "$lb_cv_test_crypto_max_alg_name" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_crypto_max_alg_name" = xyes
then :

printf "%s\n" "#define HAVE_CRYPTO_MAX_ALG_NAME_128 1" >>confdefs.h


fi





	UNIQUE_ID=$(echo linux/fsmap.h | tr /. __)

	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	as_lb_test=`printf "%s\n" "lb_cv_test_${UNIQUE_ID}" | $as_tr_sh`

	D="$(realpath ${TEST_DIR})"
	T=${D}/${UNIQUE_ID}_pc
	O=${T}/${UNIQUE_ID}_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if eval test \${$as_lb_test+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"${UNIQUE_ID}\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if eval test \${$as_lb_test+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for ${UNIQUE_ID} was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for linux header linux/fsmap.h" >&5
printf %s "checking for linux header linux/fsmap.h... " >&6; }
if eval test \${$as_lb_test+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  eval "$as_lb_test=yes"
else $as_nop
  eval "$as_lb_test=no"
fi
fi
eval ac_res=\$$as_lb_test
	       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if eval test \"x\$"$as_lb_test"\" = x"yes"
then :

printf "%s\n" "#define HAVE_FSMAP_H 1" >>confdefs.h


fi






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/percpu_counter_add_batch_exists_pc
	O=${T}/percpu_counter_add_batch_exists_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_percpu_counter_add_batch_exists+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"percpu_counter_add_batch_exists\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_percpu_counter_add_batch_exists+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for percpu_counter_add_batch_exists was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'percpu_counter_add_batch()' exists" >&5
printf %s "checking if 'percpu_counter_add_batch()' exists... " >&6; }
if test ${lb_cv_test_percpu_counter_add_batch_exists+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_percpu_counter_add_batch_exists=yes
else $as_nop
  lb_cv_test_percpu_counter_add_batch_exists=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_percpu_counter_add_batch_exists" >&5
printf "%s\n" "$lb_cv_test_percpu_counter_add_batch_exists" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_percpu_counter_add_batch_exists" = xyes
then :

printf "%s\n" "#define HAVE_PERCPU_COUNTER_ADD_BATCH 1" >>confdefs.h


fi




	# 4.12


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/current_time_pc
	O=${T}/current_time_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_current_time+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"current_time\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_current_time+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for current_time was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if CURRENT_TIME has been replaced with current_time" >&5
printf %s "checking if CURRENT_TIME has been replaced with current_time... " >&6; }
if test ${lb_cv_test_current_time+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_current_time=yes
else $as_nop
  lb_cv_test_current_time=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_current_time" >&5
printf "%s\n" "$lb_cv_test_current_time" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_current_time" = xyes
then :

printf "%s\n" "#define HAVE_CURRENT_TIME 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/super_setup_bdi_name_pc
	O=${T}/super_setup_bdi_name_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_super_setup_bdi_name+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"super_setup_bdi_name\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_super_setup_bdi_name+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for super_setup_bdi_name was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'super_setup_bdi_name' exist" >&5
printf %s "checking if 'super_setup_bdi_name' exist... " >&6; }
if test ${lb_cv_test_super_setup_bdi_name+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_super_setup_bdi_name=yes
else $as_nop
  lb_cv_test_super_setup_bdi_name=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_super_setup_bdi_name" >&5
printf "%s\n" "$lb_cv_test_super_setup_bdi_name" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_super_setup_bdi_name" = xyes
then :

printf "%s\n" "#define HAVE_SUPER_SETUP_BDI_NAME 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/bi_status_pc
	O=${T}/bi_status_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_bi_status+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"bi_status\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_bi_status+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for bi_status was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'bi_status' exists" >&5
printf %s "checking if 'bi_status' exists... " >&6; }
if test ${lb_cv_test_bi_status+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_bi_status=yes
else $as_nop
  lb_cv_test_bi_status=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_bi_status" >&5
printf "%s\n" "$lb_cv_test_bi_status" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_bi_status" = xyes
then :

printf "%s\n" "#define HAVE_BI_STATUS 1" >>confdefs.h


fi




	# 4.13


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/bio_integrity_prep_ret_bool_pc
	O=${T}/bio_integrity_prep_ret_bool_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_bio_integrity_prep_ret_bool+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"bio_integrity_prep_ret_bool\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_bio_integrity_prep_ret_bool+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for bio_integrity_prep_ret_bool was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'bio_integrity_prep_fn' returns bool" >&5
printf %s "checking if 'bio_integrity_prep_fn' returns bool... " >&6; }
if test ${lb_cv_test_bio_integrity_prep_ret_bool+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_bio_integrity_prep_ret_bool=yes
else $as_nop
  lb_cv_test_bio_integrity_prep_ret_bool=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_bio_integrity_prep_ret_bool" >&5
printf "%s\n" "$lb_cv_test_bio_integrity_prep_ret_bool" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_bio_integrity_prep_ret_bool" = xyes
then :

printf "%s\n" "#define HAVE_BIO_INTEGRITY_PREP_FN_RETURNS_BOOL 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/get_inode_usage_pc
	O=${T}/get_inode_usage_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_get_inode_usage+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"get_inode_usage\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_get_inode_usage+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for get_inode_usage was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if get_inode_usage exists" >&5
printf %s "checking if get_inode_usage exists... " >&6; }
if test ${lb_cv_test_get_inode_usage+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_get_inode_usage=yes
else $as_nop
  lb_cv_test_get_inode_usage=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_get_inode_usage" >&5
printf "%s\n" "$lb_cv_test_get_inode_usage" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_get_inode_usage" = xyes
then :

printf "%s\n" "#define HAVE_GET_INODE_USAGE 1" >>confdefs.h


fi




	# 4.14


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/pagevec_init_pc
	O=${T}/pagevec_init_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_pagevec_init+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"pagevec_init\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_pagevec_init+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for pagevec_init was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'pagevec_init' takes one parameter" >&5
printf %s "checking if 'pagevec_init' takes one parameter... " >&6; }
if test ${lb_cv_test_pagevec_init+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_pagevec_init=yes
else $as_nop
  lb_cv_test_pagevec_init=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_pagevec_init" >&5
printf "%s\n" "$lb_cv_test_pagevec_init" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_pagevec_init" = xyes
then :

printf "%s\n" "#define HAVE_PAGEVEC_INIT_ONE_PARAM 1" >>confdefs.h


fi





{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'pagevec_lookup' takes three parameter" >&5
printf %s "checking if 'pagevec_lookup' takes three parameter... " >&6; }
if test ${lb_cv_compile_pagevec_lookup+y}
then :
  printf %s "(cached) " >&6
else $as_nop


cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


	#include <linux/pagevec.h>

int
main (void)
{

	pagevec_lookup(NULL, NULL, NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_ACEOF
rm -f build/conftest.o build/conftest.mod.c build/conftest.ko
if { ac_try='cp conftest.c build && make -d modules DEQUOTE_CC_VERSION_TEXT=$lb_cv_dequote_CC_VERSION_TEXT LDFLAGS= ${LD:+LD="$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_CHECK_INCLUDE -I$LINUX/arch/$SUBARCH/include -Iinclude -Iarch/$SUBARCH/include/generated -I$LINUX/include -Iinclude2 -I$LINUX/include/uapi -Iinclude/generated -I$LINUX/arch/$SUBARCH/include/uapi -Iarch/$SUBARCH/include/generated/uapi -I$LINUX/include/uapi -Iinclude/generated/uapi ${SPL_OBJ:+-include $SPL_OBJ/spl_config.h} ${ZFS_OBJ:+-include $ZFS_OBJ/zfs_config.h} ${SPL:+-I$SPL/include } ${ZFS:+-I$ZFS -I$ZFS/include -I$ZFS/include/os/linux/kernel -I$ZFS/include/os/linux/spl -I$ZFS/include/os/linux/zfs -I${SPL:-$ZFS/include/spl}} -include $CONFIG_INCLUDE" KBUILD_EXTRA_SYMBOLS="${ZFS_OBJ:+$ZFS_OBJ/Module.symvers} $KBUILD_EXTRA_SYMBOLS" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $MODULE_TARGET=$PWD/build'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }
then :
  lb_cv_compile_pagevec_lookup=yes
else $as_nop
  printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

lb_cv_compile_pagevec_lookup=no
fi
rm -f build/conftest.o build/conftest.mod.c build/conftest.mod.o build/conftest.ko build/conftest.c conftest.c


fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_pagevec_lookup" >&5
printf "%s\n" "$lb_cv_compile_pagevec_lookup" >&6; }
if test "x$lb_cv_compile_pagevec_lookup" = xyes
then :


printf "%s\n" "#define HAVE_PAGEVEC_LOOKUP_THREE_PARAM 1" >>confdefs.h


fi



	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/bi_bdev_pc
	O=${T}/bi_bdev_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_bi_bdev+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"bi_bdev\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_bi_bdev+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for bi_bdev was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'bi_bdev' exists" >&5
printf %s "checking if 'bi_bdev' exists... " >&6; }
if test ${lb_cv_test_bi_bdev+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_bi_bdev=yes
else $as_nop
  lb_cv_test_bi_bdev=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_bi_bdev" >&5
printf "%s\n" "$lb_cv_test_bi_bdev" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_bi_bdev" = xyes
then :

printf "%s\n" "#define HAVE_BI_BDEV 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/itree_cached_pc
	O=${T}/itree_cached_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_itree_cached+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"itree_cached\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_itree_cached+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for itree_cached was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if interval_trees use rb_tree_cached" >&5
printf %s "checking if interval_trees use rb_tree_cached... " >&6; }
if test ${lb_cv_test_itree_cached+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_itree_cached=yes
else $as_nop
  lb_cv_test_itree_cached=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_itree_cached" >&5
printf "%s\n" "$lb_cv_test_itree_cached" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_itree_cached" = xyes
then :

printf "%s\n" "#define HAVE_INTERVAL_TREE_CACHED 1" >>confdefs.h


fi




	# 4.17


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/vm_fault_t_pc
	O=${T}/vm_fault_t_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_vm_fault_t+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"vm_fault_t\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_vm_fault_t+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for vm_fault_t was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if vm_fault_t type exists" >&5
printf %s "checking if vm_fault_t type exists... " >&6; }
if test ${lb_cv_test_vm_fault_t+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_vm_fault_t=yes
else $as_nop
  lb_cv_test_vm_fault_t=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_vm_fault_t" >&5
printf "%s\n" "$lb_cv_test_vm_fault_t" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_vm_fault_t" = xyes
then :

printf "%s\n" "#define HAVE_VM_FAULT_T 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/VM_FAULT_RETRY_pc
	O=${T}/VM_FAULT_RETRY_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_VM_FAULT_RETRY+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"VM_FAULT_RETRY\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_VM_FAULT_RETRY+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for VM_FAULT_RETRY was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if VM_FAULT_RETRY is defined" >&5
printf %s "checking if VM_FAULT_RETRY is defined... " >&6; }
if test ${lb_cv_test_VM_FAULT_RETRY+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_VM_FAULT_RETRY=yes
else $as_nop
  lb_cv_test_VM_FAULT_RETRY=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_VM_FAULT_RETRY" >&5
printf "%s\n" "$lb_cv_test_VM_FAULT_RETRY" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_VM_FAULT_RETRY" = xyes
then :

printf "%s\n" "#define HAVE_VM_FAULT_RETRY 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/i_pages_pc
	O=${T}/i_pages_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_i_pages+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"i_pages\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_i_pages+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for i_pages was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if struct address_space has i_pages" >&5
printf %s "checking if struct address_space has i_pages... " >&6; }
if test ${lb_cv_test_i_pages+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_i_pages=yes
else $as_nop
  lb_cv_test_i_pages=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_i_pages" >&5
printf "%s\n" "$lb_cv_test_i_pages" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_i_pages" = xyes
then :

printf "%s\n" "#define HAVE_I_PAGES 1" >>confdefs.h


fi




	# 4.18


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/alloc_file_pseudo_pc
	O=${T}/alloc_file_pseudo_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_alloc_file_pseudo+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"alloc_file_pseudo\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_alloc_file_pseudo+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for alloc_file_pseudo was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'alloc_file_pseudo' is defined" >&5
printf %s "checking if 'alloc_file_pseudo' is defined... " >&6; }
if test ${lb_cv_test_alloc_file_pseudo+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_alloc_file_pseudo=yes
else $as_nop
  lb_cv_test_alloc_file_pseudo=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_alloc_file_pseudo" >&5
printf "%s\n" "$lb_cv_test_alloc_file_pseudo" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_alloc_file_pseudo" = xyes
then :

printf "%s\n" "#define HAVE_ALLOC_FILE_PSEUDO 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/inode_timespec64_pc
	O=${T}/inode_timespec64_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_inode_timespec64+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"inode_timespec64\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_inode_timespec64+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for inode_timespec64 was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if inode timestamps are struct timespec64" >&5
printf %s "checking if inode timestamps are struct timespec64... " >&6; }
if test ${lb_cv_test_inode_timespec64+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_inode_timespec64=yes
else $as_nop
  lb_cv_test_inode_timespec64=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_inode_timespec64" >&5
printf "%s\n" "$lb_cv_test_inode_timespec64" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_inode_timespec64" = xyes
then :

printf "%s\n" "#define HAVE_INODE_TIMESPEC64 1" >>confdefs.h


fi




	# 4.20


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/radix_tree_tag_set_pc
	O=${T}/radix_tree_tag_set_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_radix_tree_tag_set+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"radix_tree_tag_set\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_radix_tree_tag_set+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for radix_tree_tag_set was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'radix_tree_tag_set' exists" >&5
printf %s "checking if 'radix_tree_tag_set' exists... " >&6; }
if test ${lb_cv_test_radix_tree_tag_set+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_radix_tree_tag_set=yes
else $as_nop
  lb_cv_test_radix_tree_tag_set=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_radix_tree_tag_set" >&5
printf "%s\n" "$lb_cv_test_radix_tree_tag_set" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_radix_tree_tag_set" = xyes
then :

printf "%s\n" "#define HAVE_RADIX_TREE_TAG_SET 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/uapi_linux_mount_pc
	O=${T}/uapi_linux_mount_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_uapi_linux_mount+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"uapi_linux_mount\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_uapi_linux_mount+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for uapi_linux_mount was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MS_RDONLY was moved to uapi/linux/mount.h" >&5
printf %s "checking if MS_RDONLY was moved to uapi/linux/mount.h... " >&6; }
if test ${lb_cv_test_uapi_linux_mount+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_uapi_linux_mount=yes
else $as_nop
  lb_cv_test_uapi_linux_mount=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_uapi_linux_mount" >&5
printf "%s\n" "$lb_cv_test_uapi_linux_mount" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_uapi_linux_mount" = xyes
then :

printf "%s\n" "#define HAVE_UAPI_LINUX_MOUNT_H 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/hash_lock_isa_spinlock_t_pc
	O=${T}/hash_lock_isa_spinlock_t_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_hash_lock_isa_spinlock_t+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"hash_lock_isa_spinlock_t\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_hash_lock_isa_spinlock_t+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for hash_lock_isa_spinlock_t was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if cache_detail->hash_lock is a spinlock" >&5
printf %s "checking if cache_detail->hash_lock is a spinlock... " >&6; }
if test ${lb_cv_test_hash_lock_isa_spinlock_t+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_hash_lock_isa_spinlock_t=yes
else $as_nop
  lb_cv_test_hash_lock_isa_spinlock_t=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_hash_lock_isa_spinlock_t" >&5
printf "%s\n" "$lb_cv_test_hash_lock_isa_spinlock_t" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_hash_lock_isa_spinlock_t" = xyes
then :

printf "%s\n" "#define HAVE_CACHE_HASH_SPINLOCK 1" >>confdefs.h


fi




	# 5.0


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/genl_family_has_resv_start_op_pc
	O=${T}/genl_family_has_resv_start_op_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_genl_family_has_resv_start_op+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"genl_family_has_resv_start_op\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_genl_family_has_resv_start_op+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for genl_family_has_resv_start_op was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if struct genl_family has resv_start_op member" >&5
printf %s "checking if struct genl_family has resv_start_op member... " >&6; }
if test ${lb_cv_test_genl_family_has_resv_start_op+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_genl_family_has_resv_start_op=yes
else $as_nop
  lb_cv_test_genl_family_has_resv_start_op=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_genl_family_has_resv_start_op" >&5
printf "%s\n" "$lb_cv_test_genl_family_has_resv_start_op" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_genl_family_has_resv_start_op" = xyes
then :

printf "%s\n" "#define GENL_FAMILY_HAS_RESV_START_OP 1" >>confdefs.h


fi




	# 5.1


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/struct_bvec_iter_all_pc
	O=${T}/struct_bvec_iter_all_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_struct_bvec_iter_all+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"struct_bvec_iter_all\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_struct_bvec_iter_all+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for struct_bvec_iter_all was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if bvec_iter_all exists for multi-page bvec iteration" >&5
printf %s "checking if bvec_iter_all exists for multi-page bvec iteration... " >&6; }
if test ${lb_cv_test_struct_bvec_iter_all+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_struct_bvec_iter_all=yes
else $as_nop
  lb_cv_test_struct_bvec_iter_all=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_struct_bvec_iter_all" >&5
printf "%s\n" "$lb_cv_test_struct_bvec_iter_all" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_struct_bvec_iter_all" = xyes
then :

printf "%s\n" "#define HAVE_BVEC_ITER_ALL 1" >>confdefs.h


fi




	# 5.2


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/keyring_search_4args_pc
	O=${T}/keyring_search_4args_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_keyring_search_4args+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"keyring_search_4args\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_keyring_search_4args+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for keyring_search_4args was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'keyring_search' has 4 args" >&5
printf %s "checking if 'keyring_search' has 4 args... " >&6; }
if test ${lb_cv_test_keyring_search_4args+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_keyring_search_4args=yes
else $as_nop
  lb_cv_test_keyring_search_4args=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_keyring_search_4args" >&5
printf "%s\n" "$lb_cv_test_keyring_search_4args" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_keyring_search_4args" = xyes
then :

printf "%s\n" "#define HAVE_KEYRING_SEARCH_4ARGS 1" >>confdefs.h


fi




	# 5.3


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/bye_bio_bi_phys_segments_pc
	O=${T}/bye_bio_bi_phys_segments_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_bye_bio_bi_phys_segments+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"bye_bio_bi_phys_segments\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_bye_bio_bi_phys_segments+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for bye_bio_bi_phys_segments was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if struct bio has bi_phys_segments member" >&5
printf %s "checking if struct bio has bi_phys_segments member... " >&6; }
if test ${lb_cv_test_bye_bio_bi_phys_segments+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_bye_bio_bi_phys_segments=yes
else $as_nop
  lb_cv_test_bye_bio_bi_phys_segments=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_bye_bio_bi_phys_segments" >&5
printf "%s\n" "$lb_cv_test_bye_bio_bi_phys_segments" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_bye_bio_bi_phys_segments" = xyes
then :

printf "%s\n" "#define HAVE_BIO_BI_PHYS_SEGMENTS 1" >>confdefs.h


fi





{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Linux kernel exports 'flush_delayed_fput'" >&5
printf %s "checking if Linux kernel exports 'flush_delayed_fput'... " >&6; }
if test ${lb_cv_export_flush_delayed_fput+y}
then :
  printf %s "(cached) " >&6
else $as_nop

lb_cv_export_flush_delayed_fput=no
if grep -q -E '[[:space:]]flush_delayed_fput[[:space:]]' $LINUX_OBJ/$SYMVERFILE 2>/dev/null
then :
  lb_cv_export_flush_delayed_fput=yes
else $as_nop
  for file in fs/file_table.c; do
		if grep -q -E "EXPORT_SYMBOL.*\(flush_delayed_fput\)" "$LINUX/$file" 2>/dev/null
then :

			lb_cv_export_flush_delayed_fput=yes
			break

fi
	done
fi

fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_export_flush_delayed_fput" >&5
printf "%s\n" "$lb_cv_export_flush_delayed_fput" >&6; }
if test "x$lb_cv_export_flush_delayed_fput" = xyes
then :

printf "%s\n" "#define HAVE_FLUSH_DELAYED_FPUT 1" >>confdefs.h

fi



	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/lock_manager_ops_lm_compare_owner_pc
	O=${T}/lock_manager_ops_lm_compare_owner_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_lock_manager_ops_lm_compare_owner+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"lock_manager_ops_lm_compare_owner\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_lock_manager_ops_lm_compare_owner+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for lock_manager_ops_lm_compare_owner was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if lock_manager_operations has lm_compare_owner" >&5
printf %s "checking if lock_manager_operations has lm_compare_owner... " >&6; }
if test ${lb_cv_test_lock_manager_ops_lm_compare_owner+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_lock_manager_ops_lm_compare_owner=yes
else $as_nop
  lb_cv_test_lock_manager_ops_lm_compare_owner=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_lock_manager_ops_lm_compare_owner" >&5
printf "%s\n" "$lb_cv_test_lock_manager_ops_lm_compare_owner" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_lock_manager_ops_lm_compare_owner" = xyes
then :

printf "%s\n" "#define HAVE_LM_COMPARE_OWNER 1" >>confdefs.h


fi




	# 5.5


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/fscrypt_digested_name_pc
	O=${T}/fscrypt_digested_name_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_fscrypt_digested_name+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"fscrypt_digested_name\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_fscrypt_digested_name+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for fscrypt_digested_name was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if fscrypt has 'struct fscrypt_digested_name'" >&5
printf %s "checking if fscrypt has 'struct fscrypt_digested_name'... " >&6; }
if test ${lb_cv_test_fscrypt_digested_name+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_fscrypt_digested_name=yes
else $as_nop
  lb_cv_test_fscrypt_digested_name=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_fscrypt_digested_name" >&5
printf "%s\n" "$lb_cv_test_fscrypt_digested_name" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_fscrypt_digested_name" = xyes
then :

printf "%s\n" "#define HAVE_FSCRYPT_DIGESTED_NAME 1" >>confdefs.h


fi




	# 5.7


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/fscrypt_dummy_context_enabled_pc
	O=${T}/fscrypt_dummy_context_enabled_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_fscrypt_dummy_context_enabled+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"fscrypt_dummy_context_enabled\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_fscrypt_dummy_context_enabled+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for fscrypt_dummy_context_enabled was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if fscrypt_dummy_context_enabled() exists" >&5
printf %s "checking if fscrypt_dummy_context_enabled() exists... " >&6; }
if test ${lb_cv_test_fscrypt_dummy_context_enabled+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_fscrypt_dummy_context_enabled=yes
else $as_nop
  lb_cv_test_fscrypt_dummy_context_enabled=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_fscrypt_dummy_context_enabled" >&5
printf "%s\n" "$lb_cv_test_fscrypt_dummy_context_enabled" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_fscrypt_dummy_context_enabled" = xyes
then :

printf "%s\n" "#define HAVE_FSCRYPT_DUMMY_CONTEXT_ENABLED 1" >>confdefs.h


fi




	# 5.8


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/kthread_use_mm_pc
	O=${T}/kthread_use_mm_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_kthread_use_mm+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"kthread_use_mm\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_kthread_use_mm+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for kthread_use_mm was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if have kthread_use_mm" >&5
printf %s "checking if have kthread_use_mm... " >&6; }
if test ${lb_cv_test_kthread_use_mm+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_kthread_use_mm=yes
else $as_nop
  lb_cv_test_kthread_use_mm=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_kthread_use_mm" >&5
printf "%s\n" "$lb_cv_test_kthread_use_mm" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_kthread_use_mm" = xyes
then :

printf "%s\n" "#define HAVE_KTHREAD_USE_MM 1" >>confdefs.h


fi




	# 5.9


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/iter_file_splice_write_pc
	O=${T}/iter_file_splice_write_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_iter_file_splice_write+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"iter_file_splice_write\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_iter_file_splice_write+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for iter_file_splice_write was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if iter_file_splice_write() exists" >&5
printf %s "checking if iter_file_splice_write() exists... " >&6; }
if test ${lb_cv_test_iter_file_splice_write+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_iter_file_splice_write=yes
else $as_nop
  lb_cv_test_iter_file_splice_write=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_iter_file_splice_write" >&5
printf "%s\n" "$lb_cv_test_iter_file_splice_write" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_iter_file_splice_write" = xyes
then :

printf "%s\n" "#define HAVE_ITER_FILE_SPLICE_WRITE 1" >>confdefs.h


fi




	# 5.9


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/fscrypt_fname_alloc_buffer_pc
	O=${T}/fscrypt_fname_alloc_buffer_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_fscrypt_fname_alloc_buffer+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"fscrypt_fname_alloc_buffer\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_fscrypt_fname_alloc_buffer+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for fscrypt_fname_alloc_buffer was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if fscrypt_fname_alloc_buffer() removed inode parameter" >&5
printf %s "checking if fscrypt_fname_alloc_buffer() removed inode parameter... " >&6; }
if test ${lb_cv_test_fscrypt_fname_alloc_buffer+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_fscrypt_fname_alloc_buffer=yes
else $as_nop
  lb_cv_test_fscrypt_fname_alloc_buffer=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_fscrypt_fname_alloc_buffer" >&5
printf "%s\n" "$lb_cv_test_fscrypt_fname_alloc_buffer" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_fscrypt_fname_alloc_buffer" = xyes
then :

printf "%s\n" "#define HAVE_FSCRYPT_FNAME_ALLOC_BUFFER_NO_INODE 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/fscrypt_set_context_pc
	O=${T}/fscrypt_set_context_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_fscrypt_set_context+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"fscrypt_set_context\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_fscrypt_set_context+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for fscrypt_set_context was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'fscrypt_set_context()' exists" >&5
printf %s "checking if 'fscrypt_set_context()' exists... " >&6; }
if test ${lb_cv_test_fscrypt_set_context+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_fscrypt_set_context=yes
else $as_nop
  lb_cv_test_fscrypt_set_context=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_fscrypt_set_context" >&5
printf "%s\n" "$lb_cv_test_fscrypt_set_context" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_fscrypt_set_context" = xyes
then :

printf "%s\n" "#define HAVE_FSCRYPT_SET_CONTEXT 1" >>confdefs.h


fi





{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Linux kernel exports 'fscrypt_d_revalidate'" >&5
printf %s "checking if Linux kernel exports 'fscrypt_d_revalidate'... " >&6; }
if test ${lb_cv_export_fscrypt_d_revalidate+y}
then :
  printf %s "(cached) " >&6
else $as_nop

lb_cv_export_fscrypt_d_revalidate=no
if grep -q -E '[[:space:]]fscrypt_d_revalidate[[:space:]]' $LINUX_OBJ/$SYMVERFILE 2>/dev/null
then :
  lb_cv_export_fscrypt_d_revalidate=yes
else $as_nop
  for file in fs/crypto/fname.c; do
		if grep -q -E "EXPORT_SYMBOL.*\(fscrypt_d_revalidate\)" "$LINUX/$file" 2>/dev/null
then :

			lb_cv_export_fscrypt_d_revalidate=yes
			break

fi
	done
fi

fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_export_fscrypt_d_revalidate" >&5
printf "%s\n" "$lb_cv_export_fscrypt_d_revalidate" >&6; }
if test "x$lb_cv_export_fscrypt_d_revalidate" = xyes
then :

printf "%s\n" "#define HAVE_FSCRYPT_D_REVALIDATE 1" >>confdefs.h

fi



	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/fname_is_nokey_name_pc
	O=${T}/fname_is_nokey_name_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_fname_is_nokey_name+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"fname_is_nokey_name\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_fname_is_nokey_name+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for fname_is_nokey_name was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if struct fscrypt_name has is_nokey_name field" >&5
printf %s "checking if struct fscrypt_name has is_nokey_name field... " >&6; }
if test ${lb_cv_test_fname_is_nokey_name+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_fname_is_nokey_name=yes
else $as_nop
  lb_cv_test_fname_is_nokey_name=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_fname_is_nokey_name" >&5
printf "%s\n" "$lb_cv_test_fname_is_nokey_name" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_fname_is_nokey_name" = xyes
then :

printf "%s\n" "#define HAVE_FSCRYPT_NOKEY_NAME 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/fscrypt_set_test_dummy_encryption_pc
	O=${T}/fscrypt_set_test_dummy_encryption_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_fscrypt_set_test_dummy_encryption+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"fscrypt_set_test_dummy_encryption\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_fscrypt_set_test_dummy_encryption+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for fscrypt_set_test_dummy_encryption was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if fscrypt_set_test_dummy_encryption() take 'const char' parameter" >&5
printf %s "checking if fscrypt_set_test_dummy_encryption() take 'const char' parameter... " >&6; }
if test ${lb_cv_test_fscrypt_set_test_dummy_encryption+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_fscrypt_set_test_dummy_encryption=yes
else $as_nop
  lb_cv_test_fscrypt_set_test_dummy_encryption=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_fscrypt_set_test_dummy_encryption" >&5
printf "%s\n" "$lb_cv_test_fscrypt_set_test_dummy_encryption" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_fscrypt_set_test_dummy_encryption" = xyes
then :

printf "%s\n" "#define HAVE_FSCRYPT_SET_TEST_DUMMY_ENC_CHAR_ARG 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/fscrypt_free_dummy_policy_pc
	O=${T}/fscrypt_free_dummy_policy_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_fscrypt_free_dummy_policy+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"fscrypt_free_dummy_policy\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_fscrypt_free_dummy_policy+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for fscrypt_free_dummy_policy was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if fscrypt_free_dummy_policy() exists" >&5
printf %s "checking if fscrypt_free_dummy_policy() exists... " >&6; }
if test ${lb_cv_test_fscrypt_free_dummy_policy+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_fscrypt_free_dummy_policy=yes
else $as_nop
  lb_cv_test_fscrypt_free_dummy_policy=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_fscrypt_free_dummy_policy" >&5
printf "%s\n" "$lb_cv_test_fscrypt_free_dummy_policy" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_fscrypt_free_dummy_policy" = xyes
then :

printf "%s\n" "#define HAVE_FSCRYPT_DUMMY_POLICY 1" >>confdefs.h


fi




	# 5.10


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/bdi_has_debug_stats_pc
	O=${T}/bdi_has_debug_stats_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_bdi_has_debug_stats+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"bdi_has_debug_stats\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_bdi_has_debug_stats+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for bdi_has_debug_stats was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'struct backing_dev_info' has 'debug_stats' field" >&5
printf %s "checking if 'struct backing_dev_info' has 'debug_stats' field... " >&6; }
if test ${lb_cv_test_bdi_has_debug_stats+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_bdi_has_debug_stats=yes
else $as_nop
  lb_cv_test_bdi_has_debug_stats=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_bdi_has_debug_stats" >&5
printf "%s\n" "$lb_cv_test_bdi_has_debug_stats" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_bdi_has_debug_stats" = xyes
then :

printf "%s\n" "#define HAVE_BDI_DEBUG_STATS 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/fscrypt_is_no_key_name_pc
	O=${T}/fscrypt_is_no_key_name_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_fscrypt_is_no_key_name+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"fscrypt_is_no_key_name\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_fscrypt_is_no_key_name+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for fscrypt_is_no_key_name was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if fscrypt_is_no_key_name() exists" >&5
printf %s "checking if fscrypt_is_no_key_name() exists... " >&6; }
if test ${lb_cv_test_fscrypt_is_no_key_name+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_fscrypt_is_no_key_name=yes
else $as_nop
  lb_cv_test_fscrypt_is_no_key_name=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_fscrypt_is_no_key_name" >&5
printf "%s\n" "$lb_cv_test_fscrypt_is_no_key_name" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_fscrypt_is_no_key_name" = xyes
then :

printf "%s\n" "#define HAVE_FSCRYPT_IS_NOKEY_NAME 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/fscrypt_prepare_readdir_pc
	O=${T}/fscrypt_prepare_readdir_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_fscrypt_prepare_readdir+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"fscrypt_prepare_readdir\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_fscrypt_prepare_readdir+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for fscrypt_prepare_readdir was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if fscrypt_prepare_readdir() exists" >&5
printf %s "checking if fscrypt_prepare_readdir() exists... " >&6; }
if test ${lb_cv_test_fscrypt_prepare_readdir+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_fscrypt_prepare_readdir=yes
else $as_nop
  lb_cv_test_fscrypt_prepare_readdir=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_fscrypt_prepare_readdir" >&5
printf "%s\n" "$lb_cv_test_fscrypt_prepare_readdir" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_fscrypt_prepare_readdir" = xyes
then :

printf "%s\n" "#define HAVE_FSCRYPT_PREPARE_READDIR 1" >>confdefs.h


fi




	# 5.11


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/bio_set_dev_pc
	O=${T}/bio_set_dev_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_bio_set_dev+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"bio_set_dev\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_bio_set_dev+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for bio_set_dev was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'bio_set_dev' is available" >&5
printf %s "checking if 'bio_set_dev' is available... " >&6; }
if test ${lb_cv_test_bio_set_dev+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_bio_set_dev=yes
else $as_nop
  lb_cv_test_bio_set_dev=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_bio_set_dev" >&5
printf "%s\n" "$lb_cv_test_bio_set_dev" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_bio_set_dev" = xyes
then :

printf "%s\n" "#define HAVE_BIO_SET_DEV 1" >>confdefs.h


fi




	# 5.12


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/inode_ops_has_user_namespace_argument_pc
	O=${T}/inode_ops_has_user_namespace_argument_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_inode_ops_has_user_namespace_argument+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"inode_ops_has_user_namespace_argument\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_inode_ops_has_user_namespace_argument+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for inode_ops_has_user_namespace_argument was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'inode_operations' members have user namespace argument" >&5
printf %s "checking if 'inode_operations' members have user namespace argument... " >&6; }
if test ${lb_cv_test_inode_ops_has_user_namespace_argument+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_inode_ops_has_user_namespace_argument=yes
else $as_nop
  lb_cv_test_inode_ops_has_user_namespace_argument=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_inode_ops_has_user_namespace_argument" >&5
printf "%s\n" "$lb_cv_test_inode_ops_has_user_namespace_argument" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_inode_ops_has_user_namespace_argument" = xyes
then :

printf "%s\n" "#define HAVE_USER_NAMESPACE_ARG 1" >>confdefs.h


fi




	# 5.13


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/fileattr_set_pc
	O=${T}/fileattr_set_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_fileattr_set+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"fileattr_set\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_fileattr_set+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for fileattr_set was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'inode_operations' has fileattr_get (and fileattr_set)" >&5
printf %s "checking if 'inode_operations' has fileattr_get (and fileattr_set)... " >&6; }
if test ${lb_cv_test_fileattr_set+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_fileattr_set=yes
else $as_nop
  lb_cv_test_fileattr_set=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_fileattr_set" >&5
printf "%s\n" "$lb_cv_test_fileattr_set" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_fileattr_set" = xyes
then :

printf "%s\n" "#define HAVE_FILEATTR_GET 1" >>confdefs.h


fi






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/copy_page_from_iter_atomic_pc
	O=${T}/copy_page_from_iter_atomic_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_copy_page_from_iter_atomic+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"copy_page_from_iter_atomic\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_copy_page_from_iter_atomic+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for copy_page_from_iter_atomic was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if have copy_page_from_iter_atomic" >&5
printf %s "checking if have copy_page_from_iter_atomic... " >&6; }
if test ${lb_cv_test_copy_page_from_iter_atomic+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_copy_page_from_iter_atomic=yes
else $as_nop
  lb_cv_test_copy_page_from_iter_atomic=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_copy_page_from_iter_atomic" >&5
printf "%s\n" "$lb_cv_test_copy_page_from_iter_atomic" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_copy_page_from_iter_atomic" = xyes
then :

printf "%s\n" "#define HAVE_COPY_PAGE_FROM_ITER_ATOMIC 1" >>confdefs.h


fi




	# 5.15


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/get_acl_rcu_argument_pc
	O=${T}/get_acl_rcu_argument_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_get_acl_rcu_argument+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"get_acl_rcu_argument\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_get_acl_rcu_argument+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for get_acl_rcu_argument was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'get_acl' has a rcu argument" >&5
printf %s "checking if 'get_acl' has a rcu argument... " >&6; }
if test ${lb_cv_test_get_acl_rcu_argument+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_get_acl_rcu_argument=yes
else $as_nop
  lb_cv_test_get_acl_rcu_argument=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_get_acl_rcu_argument" >&5
printf "%s\n" "$lb_cv_test_get_acl_rcu_argument" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_get_acl_rcu_argument" = xyes
then :

printf "%s\n" "#define HAVE_GET_ACL_RCU_ARG 1" >>confdefs.h


fi




tmp_flags="$EXTRA_KCFLAGS"
EXTRA_KCFLAGS="-Werror"

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if have address_space have invalidate_lock member" >&5
printf %s "checking if have address_space have invalidate_lock member... " >&6; }
if test ${lb_cv_compile_address_space_invalidate_lock+y}
then :
  printf %s "(cached) " >&6
else $as_nop


cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


		#include <linux/fs.h>

int
main (void)
{

		struct address_space *mapping = NULL;

		filemap_invalidate_lock(mapping);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_ACEOF
rm -f build/conftest.o build/conftest.mod.c build/conftest.ko
if { ac_try='cp conftest.c build && make -d modules DEQUOTE_CC_VERSION_TEXT=$lb_cv_dequote_CC_VERSION_TEXT LDFLAGS= ${LD:+LD="$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_CHECK_INCLUDE -I$LINUX/arch/$SUBARCH/include -Iinclude -Iarch/$SUBARCH/include/generated -I$LINUX/include -Iinclude2 -I$LINUX/include/uapi -Iinclude/generated -I$LINUX/arch/$SUBARCH/include/uapi -Iarch/$SUBARCH/include/generated/uapi -I$LINUX/include/uapi -Iinclude/generated/uapi ${SPL_OBJ:+-include $SPL_OBJ/spl_config.h} ${ZFS_OBJ:+-include $ZFS_OBJ/zfs_config.h} ${SPL:+-I$SPL/include } ${ZFS:+-I$ZFS -I$ZFS/include -I$ZFS/include/os/linux/kernel -I$ZFS/include/os/linux/spl -I$ZFS/include/os/linux/zfs -I${SPL:-$ZFS/include/spl}} -include $CONFIG_INCLUDE" KBUILD_EXTRA_SYMBOLS="${ZFS_OBJ:+$ZFS_OBJ/Module.symvers} $KBUILD_EXTRA_SYMBOLS" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $MODULE_TARGET=$PWD/build'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }
then :
  lb_cv_compile_address_space_invalidate_lock=yes
else $as_nop
  printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

lb_cv_compile_address_space_invalidate_lock=no
fi
rm -f build/conftest.o build/conftest.mod.c build/conftest.mod.o build/conftest.ko build/conftest.c conftest.c


fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_address_space_invalidate_lock" >&5
printf "%s\n" "$lb_cv_compile_address_space_invalidate_lock" >&6; }
if test "x$lb_cv_compile_address_space_invalidate_lock" = xyes
then :


printf "%s\n" "#define HAVE_INVALIDATE_LOCK 1" >>confdefs.h


fi
EXTRA_KCFLAGS="$tmp_flags"



	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/fault_in_iov_iter_readable_pc
	O=${T}/fault_in_iov_iter_readable_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_fault_in_iov_iter_readable+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"fault_in_iov_iter_readable\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_fault_in_iov_iter_readable+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for fault_in_iov_iter_readable was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if have fault_in_iov_iter_readable" >&5
printf %s "checking if have fault_in_iov_iter_readable... " >&6; }
if test ${lb_cv_test_fault_in_iov_iter_readable+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_fault_in_iov_iter_readable=yes
else $as_nop
  lb_cv_test_fault_in_iov_iter_readable=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_fault_in_iov_iter_readable" >&5
printf "%s\n" "$lb_cv_test_fault_in_iov_iter_readable" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_fault_in_iov_iter_readable" = xyes
then :

printf "%s\n" "#define HAVE_FAULT_IN_IOV_ITER_READABLE 1" >>confdefs.h


fi




	# 5.16


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/security_dentry_init_security_xattr_name_arg_pc
	O=${T}/security_dentry_init_security_xattr_name_arg_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_security_dentry_init_security_xattr_name_arg+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"security_dentry_init_security_xattr_name_arg\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_security_dentry_init_security_xattr_name_arg+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for security_dentry_init_security_xattr_name_arg was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if security_dentry_init_security() returns xattr name" >&5
printf %s "checking if security_dentry_init_security() returns xattr name... " >&6; }
if test ${lb_cv_test_security_dentry_init_security_xattr_name_arg+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_security_dentry_init_security_xattr_name_arg=yes
else $as_nop
  lb_cv_test_security_dentry_init_security_xattr_name_arg=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_security_dentry_init_security_xattr_name_arg" >&5
printf "%s\n" "$lb_cv_test_security_dentry_init_security_xattr_name_arg" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_security_dentry_init_security_xattr_name_arg" = xyes
then :

printf "%s\n" "#define HAVE_SECURITY_DENTRY_INIT_WITH_XATTR_NAME_ARG 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/folio_memcg_lock_pc
	O=${T}/folio_memcg_lock_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_folio_memcg_lock+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"folio_memcg_lock\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_folio_memcg_lock+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for folio_memcg_lock was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'folio_memcg_lock' is defined" >&5
printf %s "checking if 'folio_memcg_lock' is defined... " >&6; }
if test ${lb_cv_test_folio_memcg_lock+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_folio_memcg_lock=yes
else $as_nop
  lb_cv_test_folio_memcg_lock=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_folio_memcg_lock" >&5
printf "%s\n" "$lb_cv_test_folio_memcg_lock" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_folio_memcg_lock" = xyes
then :

printf "%s\n" "#define HAVE_FOLIO_MEMCG_LOCK 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/kiocb_ki_complete_2args_pc
	O=${T}/kiocb_ki_complete_2args_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_kiocb_ki_complete_2args+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"kiocb_ki_complete_2args\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_kiocb_ki_complete_2args+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for kiocb_ki_complete_2args was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if kiocb->ki_complete() has 2 arguments" >&5
printf %s "checking if kiocb->ki_complete() has 2 arguments... " >&6; }
if test ${lb_cv_test_kiocb_ki_complete_2args+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_kiocb_ki_complete_2args=yes
else $as_nop
  lb_cv_test_kiocb_ki_complete_2args=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_kiocb_ki_complete_2args" >&5
printf "%s\n" "$lb_cv_test_kiocb_ki_complete_2args" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_kiocb_ki_complete_2args" = xyes
then :

printf "%s\n" "#define HAVE_KIOCB_COMPLETE_2ARGS 1" >>confdefs.h


fi





{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Linux kernel exports 'folio_memcg_lock'" >&5
printf %s "checking if Linux kernel exports 'folio_memcg_lock'... " >&6; }
if test ${lb_cv_export_folio_memcg_lock+y}
then :
  printf %s "(cached) " >&6
else $as_nop

lb_cv_export_folio_memcg_lock=no
if grep -q -E '[[:space:]]folio_memcg_lock[[:space:]]' $LINUX_OBJ/$SYMVERFILE 2>/dev/null
then :
  lb_cv_export_folio_memcg_lock=yes
else $as_nop
  for file in mm/memcontrol.c; do
		if grep -q -E "EXPORT_SYMBOL.*\(folio_memcg_lock\)" "$LINUX/$file" 2>/dev/null
then :

			lb_cv_export_folio_memcg_lock=yes
			break

fi
	done
fi

fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_export_folio_memcg_lock" >&5
printf "%s\n" "$lb_cv_export_folio_memcg_lock" >&6; }
if test "x$lb_cv_export_folio_memcg_lock" = xyes
then :

printf "%s\n" "#define FOLIO_MEMCG_LOCK_EXPORTED 1" >>confdefs.h

fi



{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Linux kernel exports 'delete_from_page_cache'" >&5
printf %s "checking if Linux kernel exports 'delete_from_page_cache'... " >&6; }
if test ${lb_cv_export_delete_from_page_cache+y}
then :
  printf %s "(cached) " >&6
else $as_nop

lb_cv_export_delete_from_page_cache=no
if grep -q -E '[[:space:]]delete_from_page_cache[[:space:]]' $LINUX_OBJ/$SYMVERFILE 2>/dev/null
then :
  lb_cv_export_delete_from_page_cache=yes
else $as_nop
  for file in mm/filemap.c; do
		if grep -q -E "EXPORT_SYMBOL.*\(delete_from_page_cache\)" "$LINUX/$file" 2>/dev/null
then :

			lb_cv_export_delete_from_page_cache=yes
			break

fi
	done
fi

fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_export_delete_from_page_cache" >&5
printf "%s\n" "$lb_cv_export_delete_from_page_cache" >&6; }
if test "x$lb_cv_export_delete_from_page_cache" = xyes
then :

printf "%s\n" "#define HAVE_DELETE_FROM_PAGE_CACHE 1" >>confdefs.h

fi


tmp_flags="$EXTRA_KCFLAGS"
EXTRA_KCFLAGS="-Werror"

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if wb_stat_mod() exists" >&5
printf %s "checking if wb_stat_mod() exists... " >&6; }
if test ${lb_cv_compile_wb_stat_mode+y}
then :
  printf %s "(cached) " >&6
else $as_nop


cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


	#include <linux/backing-dev.h>

int
main (void)
{

	wb_stat_mod(NULL, WB_WRITEBACK, 1);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_ACEOF
rm -f build/conftest.o build/conftest.mod.c build/conftest.ko
if { ac_try='cp conftest.c build && make -d modules DEQUOTE_CC_VERSION_TEXT=$lb_cv_dequote_CC_VERSION_TEXT LDFLAGS= ${LD:+LD="$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_CHECK_INCLUDE -I$LINUX/arch/$SUBARCH/include -Iinclude -Iarch/$SUBARCH/include/generated -I$LINUX/include -Iinclude2 -I$LINUX/include/uapi -Iinclude/generated -I$LINUX/arch/$SUBARCH/include/uapi -Iarch/$SUBARCH/include/generated/uapi -I$LINUX/include/uapi -Iinclude/generated/uapi ${SPL_OBJ:+-include $SPL_OBJ/spl_config.h} ${ZFS_OBJ:+-include $ZFS_OBJ/zfs_config.h} ${SPL:+-I$SPL/include } ${ZFS:+-I$ZFS -I$ZFS/include -I$ZFS/include/os/linux/kernel -I$ZFS/include/os/linux/spl -I$ZFS/include/os/linux/zfs -I${SPL:-$ZFS/include/spl}} -include $CONFIG_INCLUDE" KBUILD_EXTRA_SYMBOLS="${ZFS_OBJ:+$ZFS_OBJ/Module.symvers} $KBUILD_EXTRA_SYMBOLS" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $MODULE_TARGET=$PWD/build'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }
then :
  lb_cv_compile_wb_stat_mode=yes
else $as_nop
  printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

lb_cv_compile_wb_stat_mode=no
fi
rm -f build/conftest.o build/conftest.mod.c build/conftest.mod.o build/conftest.ko build/conftest.c conftest.c


fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_wb_stat_mode" >&5
printf "%s\n" "$lb_cv_compile_wb_stat_mode" >&6; }
if test "x$lb_cv_compile_wb_stat_mode" = xyes
then :


printf "%s\n" "#define HAVE_WB_STAT_MOD 1" >>confdefs.h


fi
EXTRA_KCFLAGS="$tmp_flags"


	# 5.17


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/address_spaace_operaions_invalidate_folio_pc
	O=${T}/address_spaace_operaions_invalidate_folio_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_address_spaace_operaions_invalidate_folio+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"address_spaace_operaions_invalidate_folio\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_address_spaace_operaions_invalidate_folio+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for address_spaace_operaions_invalidate_folio was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if have address_spaace_operaions->invalidate_folio() member" >&5
printf %s "checking if have address_spaace_operaions->invalidate_folio() member... " >&6; }
if test ${lb_cv_test_address_spaace_operaions_invalidate_folio+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_address_spaace_operaions_invalidate_folio=yes
else $as_nop
  lb_cv_test_address_spaace_operaions_invalidate_folio=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_address_spaace_operaions_invalidate_folio" >&5
printf "%s\n" "$lb_cv_test_address_spaace_operaions_invalidate_folio" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_address_spaace_operaions_invalidate_folio" = xyes
then :

printf "%s\n" "#define HAVE_INVALIDATE_FOLIO 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/address_spaace_operaions_dirty_folio_pc
	O=${T}/address_spaace_operaions_dirty_folio_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_address_spaace_operaions_dirty_folio+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"address_spaace_operaions_dirty_folio\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_address_spaace_operaions_dirty_folio+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for address_spaace_operaions_dirty_folio was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if have address_spaace_operaions->dirty_folio() member" >&5
printf %s "checking if have address_spaace_operaions->dirty_folio() member... " >&6; }
if test ${lb_cv_test_address_spaace_operaions_dirty_folio+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_address_spaace_operaions_dirty_folio=yes
else $as_nop
  lb_cv_test_address_spaace_operaions_dirty_folio=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_address_spaace_operaions_dirty_folio" >&5
printf "%s\n" "$lb_cv_test_address_spaace_operaions_dirty_folio" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_address_spaace_operaions_dirty_folio" = xyes
then :

printf "%s\n" "#define HAVE_DIRTY_FOLIO 1" >>confdefs.h


fi




	# 5.18


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/alloc_inode_sb_pc
	O=${T}/alloc_inode_sb_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_alloc_inode_sb+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"alloc_inode_sb\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_alloc_inode_sb+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for alloc_inode_sb was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if alloc_inode_sb() exists" >&5
printf %s "checking if alloc_inode_sb() exists... " >&6; }
if test ${lb_cv_test_alloc_inode_sb+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_alloc_inode_sb=yes
else $as_nop
  lb_cv_test_alloc_inode_sb=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_alloc_inode_sb" >&5
printf "%s\n" "$lb_cv_test_alloc_inode_sb" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_alloc_inode_sb" = xyes
then :

printf "%s\n" "#define HAVE_ALLOC_INODE_SB 1" >>confdefs.h


fi




	# 5.19


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/grab_cache_page_write_begin_with_flags_pc
	O=${T}/grab_cache_page_write_begin_with_flags_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_grab_cache_page_write_begin_with_flags+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"grab_cache_page_write_begin_with_flags\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_grab_cache_page_write_begin_with_flags+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for grab_cache_page_write_begin_with_flags was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if grab_cache_page_write_begin() has flags argument" >&5
printf %s "checking if grab_cache_page_write_begin() has flags argument... " >&6; }
if test ${lb_cv_test_grab_cache_page_write_begin_with_flags+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_grab_cache_page_write_begin_with_flags=yes
else $as_nop
  lb_cv_test_grab_cache_page_write_begin_with_flags=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_grab_cache_page_write_begin_with_flags" >&5
printf "%s\n" "$lb_cv_test_grab_cache_page_write_begin_with_flags" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_grab_cache_page_write_begin_with_flags" = xyes
then :

printf "%s\n" "#define HAVE_GRAB_CACHE_PAGE_WRITE_BEGIN_WITH_FLAGS 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/address_space_operations_read_folio_pc
	O=${T}/address_space_operations_read_folio_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_address_space_operations_read_folio+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"address_space_operations_read_folio\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_address_space_operations_read_folio+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for address_space_operations_read_folio was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if struct address_space_operations() has read_folio()" >&5
printf %s "checking if struct address_space_operations() has read_folio()... " >&6; }
if test ${lb_cv_test_address_space_operations_read_folio+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_address_space_operations_read_folio=yes
else $as_nop
  lb_cv_test_address_space_operations_read_folio=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_address_space_operations_read_folio" >&5
printf "%s\n" "$lb_cv_test_address_space_operations_read_folio" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_address_space_operations_read_folio" = xyes
then :

printf "%s\n" "#define HAVE_AOPS_READ_FOLIO 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/read_cache_page_filler_with_file_pc
	O=${T}/read_cache_page_filler_with_file_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_read_cache_page_filler_with_file+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"read_cache_page_filler_with_file\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_read_cache_page_filler_with_file+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for read_cache_page_filler_with_file was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if read_cache_page() filler_t needs struct file" >&5
printf %s "checking if read_cache_page() filler_t needs struct file... " >&6; }
if test ${lb_cv_test_read_cache_page_filler_with_file+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_read_cache_page_filler_with_file=yes
else $as_nop
  lb_cv_test_read_cache_page_filler_with_file=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_read_cache_page_filler_with_file" >&5
printf "%s\n" "$lb_cv_test_read_cache_page_filler_with_file" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_read_cache_page_filler_with_file" = xyes
then :

printf "%s\n" "#define HAVE_READ_CACHE_PAGE_WANTS_FILE 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/address_space_operations_release_folio_pc
	O=${T}/address_space_operations_release_folio_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_address_space_operations_release_folio+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"address_space_operations_release_folio\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_address_space_operations_release_folio+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for address_space_operations_release_folio was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if struct address_space_operations() has release_folio()" >&5
printf %s "checking if struct address_space_operations() has release_folio()... " >&6; }
if test ${lb_cv_test_address_space_operations_release_folio+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_address_space_operations_release_folio=yes
else $as_nop
  lb_cv_test_address_space_operations_release_folio=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_address_space_operations_release_folio" >&5
printf "%s\n" "$lb_cv_test_address_space_operations_release_folio" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_address_space_operations_release_folio" = xyes
then :

printf "%s\n" "#define HAVE_AOPS_RELEASE_FOLIO 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/lsmcontext_init_pc
	O=${T}/lsmcontext_init_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_lsmcontext_init+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"lsmcontext_init\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_lsmcontext_init+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for lsmcontext_init was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if lsmcontext_init is available" >&5
printf %s "checking if lsmcontext_init is available... " >&6; }
if test ${lb_cv_test_lsmcontext_init+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_lsmcontext_init=yes
else $as_nop
  lb_cv_test_lsmcontext_init=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_lsmcontext_init" >&5
printf "%s\n" "$lb_cv_test_lsmcontext_init" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_lsmcontext_init" = xyes
then :

printf "%s\n" "#define HAVE_LSMCONTEXT_INIT 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/security_dentry_init_security_with_ctx_pc
	O=${T}/security_dentry_init_security_with_ctx_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_security_dentry_init_security_with_ctx+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"security_dentry_init_security_with_ctx\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_security_dentry_init_security_with_ctx+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for security_dentry_init_security_with_ctx was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if security_dentry_init_security needs lsmcontext" >&5
printf %s "checking if security_dentry_init_security needs lsmcontext... " >&6; }
if test ${lb_cv_test_security_dentry_init_security_with_ctx+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_security_dentry_init_security_with_ctx=yes
else $as_nop
  lb_cv_test_security_dentry_init_security_with_ctx=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_security_dentry_init_security_with_ctx" >&5
printf "%s\n" "$lb_cv_test_security_dentry_init_security_with_ctx" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_security_dentry_init_security_with_ctx" = xyes
then :

printf "%s\n" "#define HAVE_SECURITY_DENTRY_INIT_SECURTY_WITH_CTX 1" >>confdefs.h


fi




	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if filemap_get_folios() exists" >&5
printf %s "checking if filemap_get_folios() exists... " >&6; }


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/filemap_get_folios_pc
	O=${T}/filemap_get_folios_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_filemap_get_folios+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"filemap_get_folios\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_filemap_get_folios+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for filemap_get_folios was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for filemap_get_folios" >&5
printf %s "checking for filemap_get_folios... " >&6; }
if test ${lb_cv_test_filemap_get_folios+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_filemap_get_folios=yes
else $as_nop
  lb_cv_test_filemap_get_folios=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_filemap_get_folios" >&5
printf "%s\n" "$lb_cv_test_filemap_get_folios" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_filemap_get_folios" = xyes
then :

printf "%s\n" "#define HAVE_FILEMAP_GET_FOLIOS 1" >>confdefs.h


fi





	# 6.0


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/no_llseek_pc
	O=${T}/no_llseek_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_no_llseek+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"no_llseek\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_no_llseek+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for no_llseek was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if no_llseek() is available" >&5
printf %s "checking if no_llseek() is available... " >&6; }
if test ${lb_cv_test_no_llseek+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_no_llseek=yes
else $as_nop
  lb_cv_test_no_llseek=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_no_llseek" >&5
printf "%s\n" "$lb_cv_test_no_llseek" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_no_llseek" = xyes
then :

printf "%s\n" "#define HAVE_NO_LLSEEK 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/dquot_transfer_pc
	O=${T}/dquot_transfer_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_dquot_transfer+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"dquot_transfer\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_dquot_transfer+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for dquot_transfer was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if dquot_transfer() has user_ns argument" >&5
printf %s "checking if dquot_transfer() has user_ns argument... " >&6; }
if test ${lb_cv_test_dquot_transfer+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_dquot_transfer=yes
else $as_nop
  lb_cv_test_dquot_transfer=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_dquot_transfer" >&5
printf "%s\n" "$lb_cv_test_dquot_transfer" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_dquot_transfer" = xyes
then :

printf "%s\n" "#define HAVE_DQUOT_TRANSFER_WITH_USER_NS 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/address_space_operations_migrate_folio_pc
	O=${T}/address_space_operations_migrate_folio_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_address_space_operations_migrate_folio+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"address_space_operations_migrate_folio\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_address_space_operations_migrate_folio+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for address_space_operations_migrate_folio was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if struct address_space_operations() has migrate_folio()" >&5
printf %s "checking if struct address_space_operations() has migrate_folio()... " >&6; }
if test ${lb_cv_test_address_space_operations_migrate_folio+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_address_space_operations_migrate_folio=yes
else $as_nop
  lb_cv_test_address_space_operations_migrate_folio=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_address_space_operations_migrate_folio" >&5
printf "%s\n" "$lb_cv_test_address_space_operations_migrate_folio" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_address_space_operations_migrate_folio" = xyes
then :

printf "%s\n" "#define HAVE_AOPS_MIGRATE_FOLIO 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/register_shrinker_format_pc
	O=${T}/register_shrinker_format_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_register_shrinker_format+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"register_shrinker_format\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_register_shrinker_format+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for register_shrinker_format was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if register_shrinker() returns status" >&5
printf %s "checking if register_shrinker() returns status... " >&6; }
if test ${lb_cv_test_register_shrinker_format+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_register_shrinker_format=yes
else $as_nop
  lb_cv_test_register_shrinker_format=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_register_shrinker_format" >&5
printf "%s\n" "$lb_cv_test_register_shrinker_format" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_register_shrinker_format" = xyes
then :

printf "%s\n" "#define HAVE_REGISTER_SHRINKER_FORMAT_NAMED 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/vfs_setxattr_non_const_value_arg_pc
	O=${T}/vfs_setxattr_non_const_value_arg_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_vfs_setxattr_non_const_value_arg+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"vfs_setxattr_non_const_value_arg\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_vfs_setxattr_non_const_value_arg+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for vfs_setxattr_non_const_value_arg was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if vfs_setxattr() value argument is non-const" >&5
printf %s "checking if vfs_setxattr() value argument is non-const... " >&6; }
if test ${lb_cv_test_vfs_setxattr_non_const_value_arg+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_vfs_setxattr_non_const_value_arg=yes
else $as_nop
  lb_cv_test_vfs_setxattr_non_const_value_arg=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_vfs_setxattr_non_const_value_arg" >&5
printf "%s\n" "$lb_cv_test_vfs_setxattr_non_const_value_arg" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_vfs_setxattr_non_const_value_arg" = xyes
then :

printf "%s\n" "#define VFS_SETXATTR_VALUE(value) (value)" >>confdefs.h


else $as_nop

printf "%s\n" "#define VFS_SETXATTR_VALUE(value) ((void *)(value))" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/iov_iter_get_pages_alloc2_pc
	O=${T}/iov_iter_get_pages_alloc2_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_iov_iter_get_pages_alloc2+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"iov_iter_get_pages_alloc2\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_iov_iter_get_pages_alloc2+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for iov_iter_get_pages_alloc2 was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if iov_iter_get_pages_alloc2() is available" >&5
printf %s "checking if iov_iter_get_pages_alloc2() is available... " >&6; }
if test ${lb_cv_test_iov_iter_get_pages_alloc2+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_iov_iter_get_pages_alloc2=yes
else $as_nop
  lb_cv_test_iov_iter_get_pages_alloc2=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_iov_iter_get_pages_alloc2" >&5
printf "%s\n" "$lb_cv_test_iov_iter_get_pages_alloc2" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_iov_iter_get_pages_alloc2" = xyes
then :

printf "%s\n" "#define HAVE_IOV_ITER_GET_PAGES_ALLOC2 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/user_backed_iter_pc
	O=${T}/user_backed_iter_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_user_backed_iter+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"user_backed_iter\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_user_backed_iter+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for user_backed_iter was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if user_backed_iter() is available" >&5
printf %s "checking if user_backed_iter() is available... " >&6; }
if test ${lb_cv_test_user_backed_iter+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_user_backed_iter=yes
else $as_nop
  lb_cv_test_user_backed_iter=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_user_backed_iter" >&5
printf "%s\n" "$lb_cv_test_user_backed_iter" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_user_backed_iter" = xyes
then :

printf "%s\n" "#define HAVE_USER_BACKED_ITER 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/iov_iter_is_aligned_pc
	O=${T}/iov_iter_is_aligned_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_iov_iter_is_aligned+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"iov_iter_is_aligned\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_iov_iter_is_aligned+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for iov_iter_is_aligned was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if iov_iter_is_aligned() is available" >&5
printf %s "checking if iov_iter_is_aligned() is available... " >&6; }
if test ${lb_cv_test_iov_iter_is_aligned+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_iov_iter_is_aligned=yes
else $as_nop
  lb_cv_test_iov_iter_is_aligned=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_iov_iter_is_aligned" >&5
printf "%s\n" "$lb_cv_test_iov_iter_is_aligned" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_iov_iter_is_aligned" = xyes
then :

printf "%s\n" "#define HAVE_IOV_ITER_IS_ALIGNED 1" >>confdefs.h


fi




	# 6.1


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/get_random_u32_and_u64_pc
	O=${T}/get_random_u32_and_u64_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_get_random_u32_and_u64+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"get_random_u32_and_u64\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_get_random_u32_and_u64+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for get_random_u32_and_u64 was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if get_random_u32() and get_random_u64() are available" >&5
printf %s "checking if get_random_u32() and get_random_u64() are available... " >&6; }
if test ${lb_cv_test_get_random_u32_and_u64+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_get_random_u32_and_u64=yes
else $as_nop
  lb_cv_test_get_random_u32_and_u64=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_get_random_u32_and_u64" >&5
printf "%s\n" "$lb_cv_test_get_random_u32_and_u64" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_get_random_u32_and_u64" = xyes
then :

printf "%s\n" "#define HAVE_GET_RANDOM_U32_AND_U64 1" >>confdefs.h


else $as_nop

printf "%s\n" "#define get_random_u32() prandom_u32()" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/filldir_ctx_return_bool_pc
	O=${T}/filldir_ctx_return_bool_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_filldir_ctx_return_bool+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"filldir_ctx_return_bool\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_filldir_ctx_return_bool+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for filldir_ctx_return_bool was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if filldir_t uses struct dir_context and returns bool" >&5
printf %s "checking if filldir_t uses struct dir_context and returns bool... " >&6; }
if test ${lb_cv_test_filldir_ctx_return_bool+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_filldir_ctx_return_bool=yes
else $as_nop
  lb_cv_test_filldir_ctx_return_bool=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_filldir_ctx_return_bool" >&5
printf "%s\n" "$lb_cv_test_filldir_ctx_return_bool" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_filldir_ctx_return_bool" = xyes
then :

printf "%s\n" "#define HAVE_FILLDIR_USE_CTX_RETURN_BOOL 1" >>confdefs.h


printf "%s\n" "#define HAVE_FILLDIR_USE_CTX 1" >>confdefs.h


printf "%s\n" "#define FILLDIR_TYPE bool" >>confdefs.h


else $as_nop

printf "%s\n" "#define FILLDIR_TYPE int" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/filemap_get_folios_contig_pc
	O=${T}/filemap_get_folios_contig_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_filemap_get_folios_contig+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"filemap_get_folios_contig\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_filemap_get_folios_contig+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for filemap_get_folios_contig was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if filemap_get_folios_contig() is available" >&5
printf %s "checking if filemap_get_folios_contig() is available... " >&6; }
if test ${lb_cv_test_filemap_get_folios_contig+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_filemap_get_folios_contig=yes
else $as_nop
  lb_cv_test_filemap_get_folios_contig=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_filemap_get_folios_contig" >&5
printf "%s\n" "$lb_cv_test_filemap_get_folios_contig" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_filemap_get_folios_contig" = xyes
then :

printf "%s\n" "#define HAVE_FILEMAP_GET_FOLIOS_CONTIG 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/inode_ops_get_inode_acl_pc
	O=${T}/inode_ops_get_inode_acl_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_inode_ops_get_inode_acl+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"inode_ops_get_inode_acl\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_inode_ops_get_inode_acl+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for inode_ops_get_inode_acl was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if inode_operations has .get_inode_acl member function" >&5
printf %s "checking if inode_operations has .get_inode_acl member function... " >&6; }
if test ${lb_cv_test_inode_ops_get_inode_acl+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_inode_ops_get_inode_acl=yes
else $as_nop
  lb_cv_test_inode_ops_get_inode_acl=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_inode_ops_get_inode_acl" >&5
printf "%s\n" "$lb_cv_test_inode_ops_get_inode_acl" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_inode_ops_get_inode_acl" = xyes
then :

printf "%s\n" "#define HAVE_IOP_GET_INODE_ACL 1" >>confdefs.h


fi




	# 6.2


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/get_random_u32_below_pc
	O=${T}/get_random_u32_below_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_get_random_u32_below+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"get_random_u32_below\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_get_random_u32_below+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for get_random_u32_below was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if get_random_u32_below()is available" >&5
printf %s "checking if get_random_u32_below()is available... " >&6; }
if test ${lb_cv_test_get_random_u32_below+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_get_random_u32_below=yes
else $as_nop
  lb_cv_test_get_random_u32_below=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_get_random_u32_below" >&5
printf "%s\n" "$lb_cv_test_get_random_u32_below" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_get_random_u32_below" = xyes
then :

printf "%s\n" "#define HAVE_GET_RANDOM_U32_BELOW 1" >>confdefs.h


else $as_nop

printf "%s\n" "#define get_random_u32_below(v) prandom_u32_max(v)" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/acl_with_dentry_pc
	O=${T}/acl_with_dentry_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_acl_with_dentry+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"acl_with_dentry\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_acl_with_dentry+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for acl_with_dentry was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'get_acl' and 'set_acl' use dentry argument" >&5
printf %s "checking if 'get_acl' and 'set_acl' use dentry argument... " >&6; }
if test ${lb_cv_test_acl_with_dentry+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_acl_with_dentry=yes
else $as_nop
  lb_cv_test_acl_with_dentry=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_acl_with_dentry" >&5
printf "%s\n" "$lb_cv_test_acl_with_dentry" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_acl_with_dentry" = xyes
then :

printf "%s\n" "#define HAVE_ACL_WITH_DENTRY 1" >>confdefs.h


fi




	# 6.3


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/inode_ops_getattr_has_mnt_idmap_argument_pc
	O=${T}/inode_ops_getattr_has_mnt_idmap_argument_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_inode_ops_getattr_has_mnt_idmap_argument+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"inode_ops_getattr_has_mnt_idmap_argument\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_inode_ops_getattr_has_mnt_idmap_argument+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for inode_ops_getattr_has_mnt_idmap_argument was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'inode_operations' members have mnt_idmap argument" >&5
printf %s "checking if 'inode_operations' members have mnt_idmap argument... " >&6; }
if test ${lb_cv_test_inode_ops_getattr_has_mnt_idmap_argument+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_inode_ops_getattr_has_mnt_idmap_argument=yes
else $as_nop
  lb_cv_test_inode_ops_getattr_has_mnt_idmap_argument=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_inode_ops_getattr_has_mnt_idmap_argument" >&5
printf "%s\n" "$lb_cv_test_inode_ops_getattr_has_mnt_idmap_argument" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_inode_ops_getattr_has_mnt_idmap_argument" = xyes
then :

printf "%s\n" "#define HAVE_MNT_IDMAP_ARG 1" >>confdefs.h


printf "%s\n" "#define HAVE_USER_NAMESPACE_ARG 1" >>confdefs.h


printf "%s\n" "#define HAVE_DQUOT_TRANSFER_WITH_USER_NS 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/locks_lock_file_wait_in_filelock_pc
	O=${T}/locks_lock_file_wait_in_filelock_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_locks_lock_file_wait_in_filelock+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"locks_lock_file_wait_in_filelock\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_locks_lock_file_wait_in_filelock+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for locks_lock_file_wait_in_filelock was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'locks_lock_file_wait' exists in filelock.h" >&5
printf %s "checking if 'locks_lock_file_wait' exists in filelock.h... " >&6; }
if test ${lb_cv_test_locks_lock_file_wait_in_filelock+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_locks_lock_file_wait_in_filelock=yes
else $as_nop
  lb_cv_test_locks_lock_file_wait_in_filelock=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_locks_lock_file_wait_in_filelock" >&5
printf "%s\n" "$lb_cv_test_locks_lock_file_wait_in_filelock" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_locks_lock_file_wait_in_filelock" = xyes
then :

printf "%s\n" "#define HAVE_LOCKS_LOCK_FILE_WAIT 1" >>confdefs.h


printf "%s\n" "#define HAVE_LINUX_FILELOCK_HEADER 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/kernel_cap_t_has_u64_value_pc
	O=${T}/kernel_cap_t_has_u64_value_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_kernel_cap_t_has_u64_value+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"kernel_cap_t_has_u64_value\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_kernel_cap_t_has_u64_value+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for kernel_cap_t_has_u64_value was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'kernel_cap_t' has u64 val" >&5
printf %s "checking if 'kernel_cap_t' has u64 val... " >&6; }
if test ${lb_cv_test_kernel_cap_t_has_u64_value+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_kernel_cap_t_has_u64_value=yes
else $as_nop
  lb_cv_test_kernel_cap_t_has_u64_value=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_kernel_cap_t_has_u64_value" >&5
printf "%s\n" "$lb_cv_test_kernel_cap_t_has_u64_value" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_kernel_cap_t_has_u64_value" = xyes
then :

printf "%s\n" "#define HAVE_U64_CAPABILITY 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/folio_batch_reinit_exists_pc
	O=${T}/folio_batch_reinit_exists_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_folio_batch_reinit_exists+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"folio_batch_reinit_exists\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_folio_batch_reinit_exists+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for folio_batch_reinit_exists was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'folio_batch_reinit' is available" >&5
printf %s "checking if 'folio_batch_reinit' is available... " >&6; }
if test ${lb_cv_test_folio_batch_reinit_exists+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_folio_batch_reinit_exists=yes
else $as_nop
  lb_cv_test_folio_batch_reinit_exists=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_folio_batch_reinit_exists" >&5
printf "%s\n" "$lb_cv_test_folio_batch_reinit_exists" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_folio_batch_reinit_exists" = xyes
then :

printf "%s\n" "#define HAVE_FOLIO_BATCH_REINIT 1" >>confdefs.h


fi




	# 6.4


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/iov_iter_iovec_exists_pc
	O=${T}/iov_iter_iovec_exists_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_iov_iter_iovec_exists+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"iov_iter_iovec_exists\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_iov_iter_iovec_exists+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for iov_iter_iovec_exists was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'iov_iter_iovec' is available" >&5
printf %s "checking if 'iov_iter_iovec' is available... " >&6; }
if test ${lb_cv_test_iov_iter_iovec_exists+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_iov_iter_iovec_exists=yes
else $as_nop
  lb_cv_test_iov_iter_iovec_exists=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_iov_iter_iovec_exists" >&5
printf "%s\n" "$lb_cv_test_iov_iter_iovec_exists" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_iov_iter_iovec_exists" = xyes
then :

printf "%s\n" "#define HAVE_IOV_ITER_IOVEC 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/iov_iter_has___iov_member_pc
	O=${T}/iov_iter_has___iov_member_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_iov_iter_has___iov_member+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"iov_iter_has___iov_member\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_iov_iter_has___iov_member+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for iov_iter_has___iov_member was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'iov_iter()' is available" >&5
printf %s "checking if 'iov_iter()' is available... " >&6; }
if test ${lb_cv_test_iov_iter_has___iov_member+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_iov_iter_has___iov_member=yes
else $as_nop
  lb_cv_test_iov_iter_has___iov_member=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_iov_iter_has___iov_member" >&5
printf "%s\n" "$lb_cv_test_iov_iter_has___iov_member" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_iov_iter_has___iov_member" = xyes
then :

printf "%s\n" "#define HAVE___IOV_MEMBER __iov" >>confdefs.h


printf "%s\n" "#define HAVE_ITER_IOV 1" >>confdefs.h


else $as_nop

printf "%s\n" "#define iter_iov(iter) (iter)->__iov" >>confdefs.h


printf "%s\n" "#define __iov iov" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/class_create_without_module_arg_pc
	O=${T}/class_create_without_module_arg_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_class_create_without_module_arg+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"class_create_without_module_arg\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_class_create_without_module_arg+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for class_create_without_module_arg was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'class_create' does not have module arg" >&5
printf %s "checking if 'class_create' does not have module arg... " >&6; }
if test ${lb_cv_test_class_create_without_module_arg+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_class_create_without_module_arg=yes
else $as_nop
  lb_cv_test_class_create_without_module_arg=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_class_create_without_module_arg" >&5
printf "%s\n" "$lb_cv_test_class_create_without_module_arg" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_class_create_without_module_arg" = xyes
then :

printf "%s\n" "#define ll_class_create(name) class_create((name))" >>confdefs.h


else $as_nop

printf "%s\n" "#define ll_class_create(name) class_create(THIS_MODULE, (name))" >>confdefs.h


fi




	# 6.5


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/enum_iter_type_iter_pipe_pc
	O=${T}/enum_iter_type_iter_pipe_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_enum_iter_type_iter_pipe+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"enum_iter_type_iter_pipe\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_enum_iter_type_iter_pipe+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for enum_iter_type_iter_pipe was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if enum iter_type has member 'iter_pipe'" >&5
printf %s "checking if enum iter_type has member 'iter_pipe'... " >&6; }
if test ${lb_cv_test_enum_iter_type_iter_pipe+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_enum_iter_type_iter_pipe=yes
else $as_nop
  lb_cv_test_enum_iter_type_iter_pipe=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_enum_iter_type_iter_pipe" >&5
printf "%s\n" "$lb_cv_test_enum_iter_type_iter_pipe" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_enum_iter_type_iter_pipe" = xyes
then :

printf "%s\n" "#define HAVE_ENUM_ITER_PIPE 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/get_user_pages_without_vma_pc
	O=${T}/get_user_pages_without_vma_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_get_user_pages_without_vma+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"get_user_pages_without_vma\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_get_user_pages_without_vma+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for get_user_pages_without_vma was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if get_user_pages removed 'vma' parameter" >&5
printf %s "checking if get_user_pages removed 'vma' parameter... " >&6; }
if test ${lb_cv_test_get_user_pages_without_vma+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_get_user_pages_without_vma=yes
else $as_nop
  lb_cv_test_get_user_pages_without_vma=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_get_user_pages_without_vma" >&5
printf "%s\n" "$lb_cv_test_get_user_pages_without_vma" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_get_user_pages_without_vma" = xyes
then :

printf "%s\n" "#define HAVE_GET_USER_PAGES_WITHOUT_VMA 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/struct_folio_batch_exists_pc
	O=${T}/struct_folio_batch_exists_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_struct_folio_batch_exists+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"struct_folio_batch_exists\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_struct_folio_batch_exists+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for struct_folio_batch_exists was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'struct folio_batch' is available" >&5
printf %s "checking if 'struct folio_batch' is available... " >&6; }
if test ${lb_cv_test_struct_folio_batch_exists+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_struct_folio_batch_exists=yes
else $as_nop
  lb_cv_test_struct_folio_batch_exists=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_struct_folio_batch_exists" >&5
printf "%s\n" "$lb_cv_test_struct_folio_batch_exists" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_struct_folio_batch_exists" = xyes
then :

printf "%s\n" "#define HAVE_FOLIO_BATCH 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/struct_pagevec_exists_pc
	O=${T}/struct_pagevec_exists_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_struct_pagevec_exists+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"struct_pagevec_exists\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_struct_pagevec_exists+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for struct_pagevec_exists was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'struct pagevec' is available" >&5
printf %s "checking if 'struct pagevec' is available... " >&6; }
if test ${lb_cv_test_struct_pagevec_exists+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_struct_pagevec_exists=yes
else $as_nop
  lb_cv_test_struct_pagevec_exists=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_struct_pagevec_exists" >&5
printf "%s\n" "$lb_cv_test_struct_pagevec_exists" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_struct_pagevec_exists" = xyes
then :

printf "%s\n" "#define HAVE_PAGEVEC 1" >>confdefs.h


fi





{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Linux kernel exports 'filemap_splice_read'" >&5
printf %s "checking if Linux kernel exports 'filemap_splice_read'... " >&6; }
if test ${lb_cv_export_filemap_splice_read+y}
then :
  printf %s "(cached) " >&6
else $as_nop

lb_cv_export_filemap_splice_read=no
if grep -q -E '[[:space:]]filemap_splice_read[[:space:]]' $LINUX_OBJ/$SYMVERFILE 2>/dev/null
then :
  lb_cv_export_filemap_splice_read=yes
else $as_nop
  for file in mm/filemap.c; do
		if grep -q -E "EXPORT_SYMBOL.*\(filemap_splice_read\)" "$LINUX/$file" 2>/dev/null
then :

			lb_cv_export_filemap_splice_read=yes
			break

fi
	done
fi

fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_export_filemap_splice_read" >&5
printf "%s\n" "$lb_cv_export_filemap_splice_read" >&6; }
if test "x$lb_cv_export_filemap_splice_read" = xyes
then :

printf "%s\n" "#define HAVE_FILEMAP_SPLICE_READ 1" >>confdefs.h

fi


	# 6.6


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/flush_scheduled_work_warning_pc
	O=${T}/flush_scheduled_work_warning_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_flush_scheduled_work_warning+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"flush_scheduled_work_warning\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_flush_scheduled_work_warning+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for flush_scheduled_work_warning was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'flush_scheduled_work()' throws warning" >&5
printf %s "checking if 'flush_scheduled_work()' throws warning... " >&6; }
if test ${lb_cv_test_flush_scheduled_work_warning+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_flush_scheduled_work_warning=yes
else $as_nop
  lb_cv_test_flush_scheduled_work_warning=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_flush_scheduled_work_warning" >&5
printf "%s\n" "$lb_cv_test_flush_scheduled_work_warning" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_flush_scheduled_work_warning" = xyes
then :

printf "%s\n" "#define HAVE_FLUSH___WORKQUEUE 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/inode_get_ctime_exists_pc
	O=${T}/inode_get_ctime_exists_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_inode_get_ctime_exists+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"inode_get_ctime_exists\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_inode_get_ctime_exists+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for inode_get_ctime_exists was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'inode_get_ctime()' exists" >&5
printf %s "checking if 'inode_get_ctime()' exists... " >&6; }
if test ${lb_cv_test_inode_get_ctime_exists+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_inode_get_ctime_exists=yes
else $as_nop
  lb_cv_test_inode_get_ctime_exists=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_inode_get_ctime_exists" >&5
printf "%s\n" "$lb_cv_test_inode_get_ctime_exists" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_inode_get_ctime_exists" = xyes
then :

printf "%s\n" "#define HAVE_INODE_GET_CTIME 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/mmap_write_trylock_removed_pc
	O=${T}/mmap_write_trylock_removed_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_mmap_write_trylock_removed+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"mmap_write_trylock_removed\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_mmap_write_trylock_removed+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for mmap_write_trylock_removed was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'mmap_write_trylock()' is available" >&5
printf %s "checking if 'mmap_write_trylock()' is available... " >&6; }
if test ${lb_cv_test_mmap_write_trylock_removed+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_mmap_write_trylock_removed=yes
else $as_nop
  lb_cv_test_mmap_write_trylock_removed=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_mmap_write_trylock_removed" >&5
printf "%s\n" "$lb_cv_test_mmap_write_trylock_removed" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_mmap_write_trylock_removed" = xyes
then :

printf "%s\n" "#define HAVE_MMAP_WRITE_TRYLOCK 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/generic_fillattr_has_request_mask_arg_pc
	O=${T}/generic_fillattr_has_request_mask_arg_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_generic_fillattr_has_request_mask_arg+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"generic_fillattr_has_request_mask_arg\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_generic_fillattr_has_request_mask_arg+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for generic_fillattr_has_request_mask_arg was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'generic_fillattr()' has request_mask argument" >&5
printf %s "checking if 'generic_fillattr()' has request_mask argument... " >&6; }
if test ${lb_cv_test_generic_fillattr_has_request_mask_arg+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_generic_fillattr_has_request_mask_arg=yes
else $as_nop
  lb_cv_test_generic_fillattr_has_request_mask_arg=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_generic_fillattr_has_request_mask_arg" >&5
printf "%s\n" "$lb_cv_test_generic_fillattr_has_request_mask_arg" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_generic_fillattr_has_request_mask_arg" = xyes
then :

printf "%s\n" "#define HAVE_GENERIC_FILEATTR_HAS_MASK_ARG 1" >>confdefs.h


printf "%s\n" "#define RQMASK_ARG 0," >>confdefs.h


else $as_nop

printf "%s\n" "#define RQMASK_ARG /**/" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/struct_nsproxy_count_refcount_t_pc
	O=${T}/struct_nsproxy_count_refcount_t_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_struct_nsproxy_count_refcount_t+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"struct_nsproxy_count_refcount_t\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_struct_nsproxy_count_refcount_t+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for struct_nsproxy_count_refcount_t was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'struct nsproxy.count' is refcount_t" >&5
printf %s "checking if 'struct nsproxy.count' is refcount_t... " >&6; }
if test ${lb_cv_test_struct_nsproxy_count_refcount_t+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_struct_nsproxy_count_refcount_t=yes
else $as_nop
  lb_cv_test_struct_nsproxy_count_refcount_t=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_struct_nsproxy_count_refcount_t" >&5
printf "%s\n" "$lb_cv_test_struct_nsproxy_count_refcount_t" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_struct_nsproxy_count_refcount_t" = xyes
then :

printf "%s\n" "#define HAVE_NSPROXY_COUNT_AS_REFCOUNT 1" >>confdefs.h


fi




	# 6.7


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/inode_get_mtime_exists_pc
	O=${T}/inode_get_mtime_exists_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_inode_get_mtime_exists+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"inode_get_mtime_exists\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_inode_get_mtime_exists+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for inode_get_mtime_exists was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'inode_get_mtime()' exists" >&5
printf %s "checking if 'inode_get_mtime()' exists... " >&6; }
if test ${lb_cv_test_inode_get_mtime_exists+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_inode_get_mtime_exists=yes
else $as_nop
  lb_cv_test_inode_get_mtime_exists=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_inode_get_mtime_exists" >&5
printf "%s\n" "$lb_cv_test_inode_get_mtime_exists" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_inode_get_mtime_exists" = xyes
then :

printf "%s\n" "#define HAVE_INODE_GET_MTIME_SEC 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/shrinker_alloc_exists_pc
	O=${T}/shrinker_alloc_exists_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_shrinker_alloc_exists+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"shrinker_alloc_exists\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_shrinker_alloc_exists+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for shrinker_alloc_exists was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'shrinker_alloc()' exists" >&5
printf %s "checking if 'shrinker_alloc()' exists... " >&6; }
if test ${lb_cv_test_shrinker_alloc_exists+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_shrinker_alloc_exists=yes
else $as_nop
  lb_cv_test_shrinker_alloc_exists=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_shrinker_alloc_exists" >&5
printf "%s\n" "$lb_cv_test_shrinker_alloc_exists" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_shrinker_alloc_exists" = xyes
then :

printf "%s\n" "#define HAVE_SHRINKER_ALLOC 1" >>confdefs.h


fi




	# 6.8


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/dentry_d_children_pc
	O=${T}/dentry_d_children_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_dentry_d_children+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"dentry_d_children\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_dentry_d_children+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for dentry_d_children was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if sruct dentry has d_children member" >&5
printf %s "checking if sruct dentry has d_children member... " >&6; }
if test ${lb_cv_test_dentry_d_children+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_dentry_d_children=yes
else $as_nop
  lb_cv_test_dentry_d_children=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_dentry_d_children" >&5
printf "%s\n" "$lb_cv_test_dentry_d_children" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_dentry_d_children" = xyes
then :

printf "%s\n" "#define HAVE_DENTRY_D_CHILDREN 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/generic_error_remove_folio_pc
	O=${T}/generic_error_remove_folio_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_generic_error_remove_folio+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"generic_error_remove_folio\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_generic_error_remove_folio+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for generic_error_remove_folio was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if generic_error_remove_folio() exists" >&5
printf %s "checking if generic_error_remove_folio() exists... " >&6; }
if test ${lb_cv_test_generic_error_remove_folio+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_generic_error_remove_folio=yes
else $as_nop
  lb_cv_test_generic_error_remove_folio=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_generic_error_remove_folio" >&5
printf "%s\n" "$lb_cv_test_generic_error_remove_folio" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_generic_error_remove_folio" = xyes
then :

printf "%s\n" "#define HAVE_GENERIC_ERROR_REMOVE_FOLIO 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/lsmcontext_has_id_pc
	O=${T}/lsmcontext_has_id_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_lsmcontext_has_id+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"lsmcontext_has_id\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_lsmcontext_has_id+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for lsmcontext_has_id was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if lsmcontext has id" >&5
printf %s "checking if lsmcontext has id... " >&6; }
if test ${lb_cv_test_lsmcontext_has_id+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_lsmcontext_has_id=yes
else $as_nop
  lb_cv_test_lsmcontext_has_id=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_lsmcontext_has_id" >&5
printf "%s\n" "$lb_cv_test_lsmcontext_has_id" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_lsmcontext_has_id" = xyes
then :

printf "%s\n" "#define HAVE_LSMCONTEXT_HAS_ID 1" >>confdefs.h


fi




	# 6.9


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/struct_file_lock_core_pc
	O=${T}/struct_file_lock_core_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_struct_file_lock_core+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"struct_file_lock_core\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_struct_file_lock_core+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for struct_file_lock_core was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if struct file_lock_core exists" >&5
printf %s "checking if struct file_lock_core exists... " >&6; }
if test ${lb_cv_test_struct_file_lock_core+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_struct_file_lock_core=yes
else $as_nop
  lb_cv_test_struct_file_lock_core=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_struct_file_lock_core" >&5
printf "%s\n" "$lb_cv_test_struct_file_lock_core" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_struct_file_lock_core" = xyes
then :

printf "%s\n" "#define HAVE_STRUCT_FILE_LOCK_CORE 1" >>confdefs.h


fi




	# kernel patch to extend integrity interface


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/bio_integrity_prep_fn_pc
	O=${T}/bio_integrity_prep_fn_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_bio_integrity_prep_fn+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"bio_integrity_prep_fn\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_bio_integrity_prep_fn+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for bio_integrity_prep_fn was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'bio_integrity_prep_fn' exists" >&5
printf %s "checking if 'bio_integrity_prep_fn' exists... " >&6; }
if test ${lb_cv_test_bio_integrity_prep_fn+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_bio_integrity_prep_fn=yes
else $as_nop
  lb_cv_test_bio_integrity_prep_fn=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_bio_integrity_prep_fn" >&5
printf "%s\n" "$lb_cv_test_bio_integrity_prep_fn" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_bio_integrity_prep_fn" = xyes
then :

printf "%s\n" "#define HAVE_BIO_INTEGRITY_PREP_FN 1" >>confdefs.h



else $as_nop
  PATCHED_INTEGRITY_INTF=#


fi




			if test "x$enable_zfs" = xyes
then :



	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/zfs_nvpair_const_pc
	O=${T}/zfs_nvpair_const_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_zfs_nvpair_const+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"zfs_nvpair_const\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_zfs_nvpair_const+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for zfs_nvpair_const was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ZFS nvlist interfaces require const" >&5
printf %s "checking if ZFS nvlist interfaces require const... " >&6; }
if test ${lb_cv_test_zfs_nvpair_const+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_zfs_nvpair_const=yes
else $as_nop
  lb_cv_test_zfs_nvpair_const=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_zfs_nvpair_const" >&5
printf "%s\n" "$lb_cv_test_zfs_nvpair_const" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_zfs_nvpair_const" = xyes
then :

printf "%s\n" "#define HAVE_ZFS_NVLIST_CONST_INTERFACES 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/zfs_arc_prune_func_uint64_pc
	O=${T}/zfs_arc_prune_func_uint64_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_zfs_arc_prune_func_uint64+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"zfs_arc_prune_func_uint64\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_zfs_arc_prune_func_uint64+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for zfs_arc_prune_func_uint64 was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ZFS arc_prune_func_t uses uint64_t" >&5
printf %s "checking if ZFS arc_prune_func_t uses uint64_t... " >&6; }
if test ${lb_cv_test_zfs_arc_prune_func_uint64+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_zfs_arc_prune_func_uint64=yes
else $as_nop
  lb_cv_test_zfs_arc_prune_func_uint64=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_zfs_arc_prune_func_uint64" >&5
printf "%s\n" "$lb_cv_test_zfs_arc_prune_func_uint64" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_zfs_arc_prune_func_uint64" = xyes
then :

printf "%s\n" "#define HAVE_ZFS_ARC_PRUNE_FUNC_UINT64 1" >>confdefs.h


fi





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/dmu_buf_will_fill_3args_pc
	O=${T}/dmu_buf_will_fill_3args_pc
	if test -d ${T}
then :

		# test source exists, was the compile test run?
		if test ${lb_cv_test_dmu_buf_will_fill_3args+y}
then :

else $as_nop

		if test -f ${O}.tested
then :

			# compile test was run.

else $as_nop

			# compile test was NOT run. Re-compile everything.
			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
printf "%s\n" "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules CC="$CC" -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV >> rebuild.log 2>&1
				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
printf "%s\n" "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi
fi

else $as_nop

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"dmu_buf_will_fill_3args\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# If result is not yet cached examine the build output
	if test ${lb_cv_test_dmu_buf_will_fill_3args+y}
then :

else $as_nop

		# Fail if the compile was not done.
		if test -f ${O}.tested
then :

else $as_nop
  as_fn_error $? "*** Compile test for dmu_buf_will_fill_3args was not run." "$LINENO" 5
fi
		# Default is to expect only the <module>.o be generated.
		NEED_KO=0
		# Require the <module>.ko file when "module" is passed
		if test "X''" == "X'module'"
then :
  NEED_KO=1
fi
		# If test was compiled and if we got an object ...
		if test ${NEED_KO} -eq 0
then :
  if test ! -f ${O}.ko
then :

			if test -f ${O}.o
then :
  touch ${O}.ko
fi
fi
fi

fi
	# key is valid. Cache should be valid, set the variable
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if dmu_buf_will_fill() has 3 args" >&5
printf %s "checking if dmu_buf_will_fill() has 3 args... " >&6; }
if test ${lb_cv_test_dmu_buf_will_fill_3args+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  if test -f ${O}.ko
then :
  lb_cv_test_dmu_buf_will_fill_3args=yes
else $as_nop
  lb_cv_test_dmu_buf_will_fill_3args=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_dmu_buf_will_fill_3args" >&5
printf "%s\n" "$lb_cv_test_dmu_buf_will_fill_3args" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_dmu_buf_will_fill_3args" = xyes
then :

printf "%s\n" "#define HAVE_DMU_BUF_WILL_FILL_3ARGS 1" >>confdefs.h


printf "%s\n" "#define LL_BFILL , B_FALSE" >>confdefs.h


else $as_nop

printf "%s\n" "#define LL_BFILL /**/" >>confdefs.h


fi




fi

		 ;; #(
  *) :

			# This is strange - Lustre supports a target we don't
			as_fn_error $? "Modules are not supported on $target_os" "$LINENO" 5
	 ;; #(
  *) :
     ;;
esac
	# Use OpenSFS UAPI header path instead of linux kernel
	CPPFLAGS="-I$PWD/lnet/include/uapi -I$PWD/lustre/include/uapi $CPPFLAGS"


fi

# If no backends were configured, and the user did not explicitly
# require servers to be enabled, we just disable servers.
if test x$enable_ldiskfs = xno -a x$enable_zfs = xno
then :

	case $enable_server in #(
  maybe) :
    enable_server=no ;; #(
  yes) :
    as_fn_error $? "cannot enable servers, no backends were configured" "$LINENO" 5 ;; #(
  *) :
     ;;
esac

else $as_nop

		if test x$enable_server = xmaybe
then :
  enable_server=yes
fi

fi

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build Lustre server support" >&5
printf %s "checking whether to build Lustre server support... " >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_server" >&5
printf "%s\n" "$enable_server" >&6; }
if test x$enable_server = xyes
then :


printf "%s\n" "#define HAVE_SERVER_SUPPORT 1" >>confdefs.h

	ENABLE_SERVER=yes


else $as_nop

	ENABLE_SERVER=no


fi


{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable Lustre client crypto" >&5
printf %s "checking whether to enable Lustre client crypto... " >&6; }
# Check whether --enable-crypto was given.
if test ${enable_crypto+y}
then :
  enableval=$enable_crypto;
else $as_nop
  enable_crypto="auto"
fi

if test "x$enable_crypto" != xno -a "x$enable_dist" = xno
then :

	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5
printf "%s\n" "" >&6; }


{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if IS_ENCRYPTED is defined" >&5
printf %s "checking if IS_ENCRYPTED is defined... " >&6; }
if test ${lb_cv_compile_is_encrypted+y}
then :
  printf %s "(cached) " >&6
else $as_nop


cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


	#include <linux/fs.h>

int
main (void)
{

	(void)IS_ENCRYPTED((struct inode *)1);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_ACEOF
rm -f build/conftest.o build/conftest.mod.c build/conftest.ko
if { ac_try='cp conftest.c build && make -d modules DEQUOTE_CC_VERSION_TEXT=$lb_cv_dequote_CC_VERSION_TEXT LDFLAGS= ${LD:+LD="$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_CHECK_INCLUDE -I$LINUX/arch/$SUBARCH/include -Iinclude -Iarch/$SUBARCH/include/generated -I$LINUX/include -Iinclude2 -I$LINUX/include/uapi -Iinclude/generated -I$LINUX/arch/$SUBARCH/include/uapi -Iarch/$SUBARCH/include/generated/uapi -I$LINUX/include/uapi -Iinclude/generated/uapi ${SPL_OBJ:+-include $SPL_OBJ/spl_config.h} ${ZFS_OBJ:+-include $ZFS_OBJ/zfs_config.h} ${SPL:+-I$SPL/include } ${ZFS:+-I$ZFS -I$ZFS/include -I$ZFS/include/os/linux/kernel -I$ZFS/include/os/linux/spl -I$ZFS/include/os/linux/zfs -I${SPL:-$ZFS/include/spl}} -include $CONFIG_INCLUDE" KBUILD_EXTRA_SYMBOLS="${ZFS_OBJ:+$ZFS_OBJ/Module.symvers} $KBUILD_EXTRA_SYMBOLS" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $MODULE_TARGET=$PWD/build'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }
then :
  lb_cv_compile_is_encrypted=yes
else $as_nop
  printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

lb_cv_compile_is_encrypted=no
fi
rm -f build/conftest.o build/conftest.mod.c build/conftest.mod.o build/conftest.ko build/conftest.c conftest.c


fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_is_encrypted" >&5
printf "%s\n" "$lb_cv_compile_is_encrypted" >&6; }
if test "x$lb_cv_compile_is_encrypted" = xyes
then :

	has_is_encrypted="yes"

fi



{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fscrypt in-kernel support" >&5
printf %s "checking for fscrypt in-kernel support... " >&6; }
if test ${lb_cv_compile_fscrypt_support+y}
then :
  printf %s "(cached) " >&6
else $as_nop


cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(lockdep_is_held)
#undef lockdep_is_held
	#define lockdep_is_held(lock) \
		lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


	#define __FS_HAS_ENCRYPTION 0
	#include <linux/fscrypt.h>

int
main (void)
{

	fscrypt_ioctl_get_policy_ex(NULL, NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_ACEOF
rm -f build/conftest.o build/conftest.mod.c build/conftest.ko
if { ac_try='cp conftest.c build && make -d modules DEQUOTE_CC_VERSION_TEXT=$lb_cv_dequote_CC_VERSION_TEXT LDFLAGS= ${LD:+LD="$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_CHECK_INCLUDE -I$LINUX/arch/$SUBARCH/include -Iinclude -Iarch/$SUBARCH/include/generated -I$LINUX/include -Iinclude2 -I$LINUX/include/uapi -Iinclude/generated -I$LINUX/arch/$SUBARCH/include/uapi -Iarch/$SUBARCH/include/generated/uapi -I$LINUX/include/uapi -Iinclude/generated/uapi ${SPL_OBJ:+-include $SPL_OBJ/spl_config.h} ${ZFS_OBJ:+-include $ZFS_OBJ/zfs_config.h} ${SPL:+-I$SPL/include } ${ZFS:+-I$ZFS -I$ZFS/include -I$ZFS/include/os/linux/kernel -I$ZFS/include/os/linux/spl -I$ZFS/include/os/linux/zfs -I${SPL:-$ZFS/include/spl}} -include $CONFIG_INCLUDE" KBUILD_EXTRA_SYMBOLS="${ZFS_OBJ:+$ZFS_OBJ/Module.symvers} $KBUILD_EXTRA_SYMBOLS" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $MODULE_TARGET=$PWD/build'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }
then :
  lb_cv_compile_fscrypt_support=yes
else $as_nop
  printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

lb_cv_compile_fscrypt_support=no
fi
rm -f build/conftest.o build/conftest.mod.c build/conftest.mod.o build/conftest.ko build/conftest.c conftest.c


fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_fscrypt_support" >&5
printf "%s\n" "$lb_cv_compile_fscrypt_support" >&6; }
if test "x$lb_cv_compile_fscrypt_support" = xyes
then :

	has_fscrypt_support="yes"

fi

fi
if test "x$enable_crypto" = xin-kernel
then :

	if test "x$has_fscrypt_support" = xyes
then :


printf "%s\n" "#define HAVE_LUSTRE_CRYPTO 1" >>confdefs.h

else $as_nop

	      as_fn_error $? "Lustre client crypto cannot be enabled via in-kernel fscrypt." "$LINENO" 5
	      enable_crypto=no
fi
else $as_nop
  if test "x$has_is_encrypted" = xyes
then :


printf "%s\n" "#define HAVE_LUSTRE_CRYPTO 1" >>confdefs.h


printf "%s\n" "#define CONFIG_LL_ENCRYPTION 1" >>confdefs.h


printf "%s\n" "#define HAVE_FSCRYPT_DUMMY_CONTEXT_ENABLED 1" >>confdefs.h

	      enable_crypto="embedded-llcrypt"
	      enable_llcrypt=yes
else $as_nop

	      if test "x$enable_crypto" = xyes
then :
  as_fn_error $? "Lustre client crypto cannot be enabled because of lack of encryption support in your kernel." "$LINENO" 5
fi
	      if test "x$enable_crypto" != xno -a "x$enable_dist" = xno
then :
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Lustre client crypto cannot be enabled because of lack of encryption support in your kernel." >&5
printf "%s\n" "$as_me: WARNING: Lustre client crypto cannot be enabled because of lack of encryption support in your kernel." >&2;}
fi
	      enable_crypto=no
fi
fi
if test "x$enable_dist" != xno
then :

	enable_crypto=yes
	enable_llcrypt=yes
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_crypto" >&5
printf "%s\n" "$enable_crypto" >&6; }



  for ac_func in copy_file_range
do :
  ac_fn_c_check_func "$LINENO" "copy_file_range" "ac_cv_func_copy_file_range"
if test "x$ac_cv_func_copy_file_range" = xyes
then :
  printf "%s\n" "#define HAVE_COPY_FILE_RANGE 1" >>confdefs.h

printf "%s\n" "#define HAVE_COPY_FILE_RANGE 1" >>confdefs.h

else $as_nop
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: copy_file_range() is not supported" >&5
printf "%s\n" "$as_me: WARNING: copy_file_range() is not supported" >&2;}
fi

done


if test "x$enable_ssk" != xno
then :


has_hmac_functions="no"
saved_flags="$CFLAGS"
CFLAGS="-Werror"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL has HMAC_Init_ex" >&5
printf %s "checking whether OpenSSL has HMAC_Init_ex... " >&6; }
if test "x$enable_ssk" != xno
then :

cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

	#include <openssl/hmac.h>
	#include <openssl/evp.h>

	int main(void) {
		int rc;
		rc = HMAC_Init_ex(NULL, "test", 4, EVP_md_null(), NULL);
		return rc;
	}

_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :

	has_hmac_functions="yes"

fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext

fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $has_hmac_functions" >&5
printf "%s\n" "$has_hmac_functions" >&6; }
CFLAGS="$saved_flags"


has_fips_support="no"
saved_flags="$CFLAGS"
CFLAGS="-Werror"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL has FIPS_mode" >&5
printf %s "checking whether OpenSSL has FIPS_mode... " >&6; }
if test "x$enable_ssk" != xno
then :

cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

	#include <openssl/dh.h>
	#include <openssl/dsa.h>
	#include <openssl/evp.h>
	#include <openssl/hmac.h>
	#include <openssl/fips.h>

	int main(void) {
		int rc;
		rc = FIPS_mode();
		return rc;
	}

_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :


printf "%s\n" "#define HAVE_OPENSSL_FIPS 1" >>confdefs.h

	has_fips_support="yes"

fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext

fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $has_fips_support" >&5
printf "%s\n" "$has_fips_support" >&6; }
CFLAGS="$saved_flags"


has_evp_pkey="no"
saved_flags="$CFLAGS"
CFLAGS="-Werror"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL has EVP_PKEY_get_params" >&5
printf %s "checking whether OpenSSL has EVP_PKEY_get_params... " >&6; }
if test "x$enable_ssk" != xno
then :

cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

	#include <openssl/evp.h>

	int main(void) {
		OSSL_PARAM *params;

		int rc = EVP_PKEY_get_params(NULL, params);
		return rc;
	}

_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :


printf "%s\n" "#define HAVE_OPENSSL_EVP_PKEY 1" >>confdefs.h

	has_evp_pkey="yes"

fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext

fi
CFLAGS="$saved_flags"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $has_evp_pkey" >&5
printf "%s\n" "$has_evp_pkey" >&6; }


fi
if test "x$has_hmac_functions" = xyes -o "x$has_evp_pkey" = xyes
then :


printf "%s\n" "#define HAVE_OPENSSL_SSK 1" >>confdefs.h


else $as_nop

	enable_ssk="no"

fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL has functions needed for SSK" >&5
printf %s "checking whether OpenSSL has functions needed for SSK... " >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_ssk" >&5
printf "%s\n" "$enable_ssk" >&6; }


# Tests depends from utils (multiop from liblustreapi)
if test "x$enable_utils" = xno
then :
  enable_tests="no"
fi

if test "x$enable_utils" = xyes
then :


saved_flags="$CFLAGS"
CFLAGS="-Werror"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether openssl-devel is present" >&5
printf %s "checking whether openssl-devel is present... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

	#include <openssl/evp.h>

	int main(void) {
		EVP_MD_CTX *mdctx = EVP_MD_CTX_create();
		(void) mdctx;
	}

_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :


printf "%s\n" "#define HAVE_OPENSSL_GETSEPOL 1" >>confdefs.h

	enable_getsepol="yes"


else $as_nop

	enable_getsepol="no"
	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING:

No openssl-devel headers found, unable to build l_getsepol and SELinux status checking
" >&5
printf "%s\n" "$as_me: WARNING:

No openssl-devel headers found, unable to build l_getsepol and SELinux status checking
" >&2;}

fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_getsepol" >&5
printf "%s\n" "$enable_getsepol" >&6; }
CFLAGS="$saved_flags"


# Check whether --enable-l_getsepol was given.
if test ${enable_l_getsepol+y}
then :
  enableval=$enable_l_getsepol; config_getsepol="no"
else $as_nop
  config_getsepol="yes"
fi

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build l_getsepol" >&5
printf %s "checking whether to build l_getsepol... " >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $config_getsepol" >&5
printf "%s\n" "$config_getsepol" >&6; }


saved_flags="$CFLAGS"
CFLAGS="-Werror"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'struct getinfo_fid2path' has anonymous union" >&5
printf %s "checking if 'struct getinfo_fid2path' has anonymous union... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

	#include <linux/lustre/lustre_idl.h>

	int main(void) {
		struct getinfo_fid2path gf;
		struct lu_fid root_fid;

		*gf.gf_root_fid = root_fid;
		return 0;
	}

_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :


printf "%s\n" "#define HAVE_FID2PATH_ANON_UNIONS 1" >>confdefs.h

	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }

else $as_nop

	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }

fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
CFLAGS="$saved_flags"


fi
if test "x$enable_tests" = xyes
then :


	ac_fn_c_check_header_compile "$LINENO" "libaio.h" "ac_cv_header_libaio_h" "$ac_includes_default"
if test "x$ac_cv_header_libaio_h" = xyes
then :
  enable_libaio="yes"
else $as_nop
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libaio is not installed on the system" >&5
printf "%s\n" "$as_me: WARNING: libaio is not installed on the system" >&2;}
fi




  for ac_func in name_to_handle_at
do :
  ac_fn_c_check_func "$LINENO" "name_to_handle_at" "ac_cv_func_name_to_handle_at"
if test "x$ac_cv_func_name_to_handle_at" = xyes
then :
  printf "%s\n" "#define HAVE_NAME_TO_HANDLE_AT 1" >>confdefs.h

printf "%s\n" "#define HAVE_FHANDLE_GLIBC_SUPPORT 1" >>confdefs.h

else $as_nop
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: file handle and related syscalls are not supported" >&5
printf "%s\n" "$as_me: WARNING: file handle and related syscalls are not supported" >&2;}
fi

done


fi


{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable CDEBUG, CWARN" >&5
printf %s "checking whether to enable CDEBUG, CWARN... " >&6; }
# Check whether --enable-libcfs_cdebug was given.
if test ${enable_libcfs_cdebug+y}
then :
  enableval=$enable_libcfs_cdebug;
else $as_nop
  enable_libcfs_cdebug="yes"
fi

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_libcfs_cdebug" >&5
printf "%s\n" "$enable_libcfs_cdebug" >&6; }
if test "x$enable_libcfs_cdebug" = xyes
then :


printf "%s\n" "#define CDEBUG_ENABLED 1" >>confdefs.h

	ENABLE_LIBCFS_CDEBUG=yes


else $as_nop

	ENABLE_LIBCFS_CDEBUG=no


fi

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable ENTRY/EXIT" >&5
printf %s "checking whether to enable ENTRY/EXIT... " >&6; }
# Check whether --enable-libcfs_trace was given.
if test ${enable_libcfs_trace+y}
then :
  enableval=$enable_libcfs_trace;
else $as_nop
  enable_libcfs_trace="yes"
fi

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_libcfs_trace" >&5
printf "%s\n" "$enable_libcfs_trace" >&6; }
if test "x$enable_libcfs_trace" = xyes
then :


printf "%s\n" "#define CDEBUG_ENTRY_EXIT 1" >>confdefs.h

	ENABLE_LIBCFS_TRACE=yes


else $as_nop

	ENABLE_LIBCFS_TRACE=no


fi

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable LASSERT, LASSERTF" >&5
printf %s "checking whether to enable LASSERT, LASSERTF... " >&6; }
# Check whether --enable-libcfs_assert was given.
if test ${enable_libcfs_assert+y}
then :
  enableval=$enable_libcfs_assert;
else $as_nop
  enable_libcfs_assert="yes"
fi

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_libcfs_assert" >&5
printf "%s\n" "$enable_libcfs_assert" >&6; }
if test x$enable_libcfs_assert = xyes
then :


printf "%s\n" "#define LIBCFS_DEBUG 1" >>confdefs.h

	ENABLE_LIBCFS_ASSERT=yes


else $as_nop

	ENABLE_LIBCFS_ASSERT=no


fi


#check global

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable quota support global control" >&5
printf %s "checking whether to enable quota support global control... " >&6; }
# Check whether --enable-quota was given.
if test ${enable_quota+y}
then :
  enableval=$enable_quota;
else $as_nop
  enable_quota="yes"
fi

if test "x$enable_quota" = xyes
then :
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else $as_nop
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi

#check for utils
if test "x$enable_quota" != xno -a "x$enable_utils" != xno
then :

	ac_fn_c_check_header_compile "$LINENO" "sys/quota.h" "ac_cv_header_sys_quota_h" "$ac_includes_default"
if test "x$ac_cv_header_sys_quota_h" = xyes
then :

printf "%s\n" "#define HAVE_SYS_QUOTA_H 1" >>confdefs.h

else $as_nop
  as_fn_error $? "did not find <sys/quota.h> on your system" "$LINENO" 5
fi


fi


if test "x$enable_dist" != xno
then :

	if test -z $LINUXRELEASE
then :
  LINUXRELEASE="%{nil}"
fi

else $as_nop

ac_fn_c_check_header_compile "$LINENO" "libmount/libmount.h" "ac_cv_header_libmount_libmount_h" "$ac_includes_default"
if test "x$ac_cv_header_libmount_libmount_h" = xyes
then :

	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mnt_update_set_fs in -lmount" >&5
printf %s "checking for mnt_update_set_fs in -lmount... " >&6; }
if test ${ac_cv_lib_mount_mnt_update_set_fs+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  ac_check_lib_save_LIBS=$LIBS
LIBS="-lmount  $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.  */
char mnt_update_set_fs ();
int
main (void)
{
return mnt_update_set_fs ();
  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
  ac_cv_lib_mount_mnt_update_set_fs=yes
else $as_nop
  ac_cv_lib_mount_mnt_update_set_fs=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
    conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mount_mnt_update_set_fs" >&5
printf "%s\n" "$ac_cv_lib_mount_mnt_update_set_fs" >&6; }
if test "x$ac_cv_lib_mount_mnt_update_set_fs" = xyes
then :

		LDLIBMOUNT="-lmount"

		with_libmount="yes"

else $as_nop
  with_libmount="no"
fi


else $as_nop
  with_libmount="no"
fi

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build with libmount" >&5
printf %s "checking whether to build with libmount... " >&6; }
if test "x$with_libmount" = xyes
then :

	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }

else $as_nop

	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
	as_fn_error $? "libmount development package is required" "$LINENO" 5

fi

fi

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build iokit" >&5
printf %s "checking whether to build iokit... " >&6; }
# Check whether --enable-iokit was given.
if test ${enable_iokit+y}
then :
  enableval=$enable_iokit;
else $as_nop
  enable_iokit="yes"
fi

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_iokit" >&5
printf "%s\n" "$enable_iokit" >&6; }
if test "x$enable_iokit" = xyes
then :
  LUSTREIOKIT_SUBDIR="lustre-iokit"
else $as_nop
  LUSTREIOKIT_SUBDIR=""
fi

 if test "x$enable_iokit" = xyes; then
  BUILD_LUSTREIOKIT_TRUE=
  BUILD_LUSTREIOKIT_FALSE='#'
else
  BUILD_LUSTREIOKIT_TRUE='#'
  BUILD_LUSTREIOKIT_FALSE=
fi




{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to use alternate names for e2fsprogs" >&5
printf %s "checking whether to use alternate names for e2fsprogs... " >&6; }

# Check whether --with-ldiskfsprogs was given.
if test ${with_ldiskfsprogs+y}
then :
  withval=$with_ldiskfsprogs;
else $as_nop
  withval="no"
fi


if test "x$withval" = xyes
then :

	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: enabled" >&5
printf "%s\n" "enabled" >&6; }

printf "%s\n" "#define HAVE_LDISKFSPROGS 1" >>confdefs.h

	E2FSPROGS="ldiskfsprogs"
	MKE2FS="mkfs.ldiskfs"
	DEBUGFS="debugfs.ldiskfs"
	TUNE2FS="tunefs.ldiskfs"
	E2LABEL="label.ldiskfs"
	DUMPE2FS="dumpfs.ldiskfs"
	E2FSCK="fsck.ldiskfs"
	PFSCK="pfsck.ldiskfs"

else $as_nop

	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: disabled" >&5
printf "%s\n" "disabled" >&6; }
	E2FSPROGS="e2fsprogs"
	MKE2FS="mke2fs"
	DEBUGFS="debugfs"
	TUNE2FS="tune2fs"
	E2LABEL="e2label"
	DUMPE2FS="dumpe2fs"
	E2FSCK="e2fsck"
	PFSCK="fsck"

fi


printf "%s\n" "#define E2FSPROGS \"$E2FSPROGS\"" >>confdefs.h


printf "%s\n" "#define MKE2FS \"$MKE2FS\"" >>confdefs.h


printf "%s\n" "#define DEBUGFS \"$DEBUGFS\"" >>confdefs.h


printf "%s\n" "#define TUNE2FS \"$TUNE2FS\"" >>confdefs.h


printf "%s\n" "#define E2LABEL \"$E2LABEL\"" >>confdefs.h


printf "%s\n" "#define DUMPE2FS \"$DUMPE2FS\"" >>confdefs.h


printf "%s\n" "#define E2FSCK \"$E2FSCK\"" >>confdefs.h


printf "%s\n" "#define PFSCK \"$PFSCK\"" >>confdefs.h


E2FSPROGS=$E2FSPROGS

MKE2FS=$MKE2FS

DEBUGFS=$DEBUGFS

TUNE2FS=$TUNE2FS

E2LABEL=$E2LABEL

DUMPE2FS=$DUMPE2FS

E2FSCK=$E2FSCK

PFSCK=$PFSCK




{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: LibCFS core checks
==============================================================================" >&5
printf "%s\n" "$as_me: LibCFS core checks
==============================================================================" >&6;}

# libcfs/libcfs/util/nidstrings.c
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" "asm/types.h" "ac_cv_header_asm_types_h" "$ac_includes_default"
if test "x$ac_cv_header_asm_types_h" = xyes
then :
  printf "%s\n" "#define HAVE_ASM_TYPES_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


# --------  Check for required packages  --------------

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: LibCFS required packages checks
==============================================================================" >&5
printf "%s\n" "$as_me: LibCFS required packages checks
==============================================================================" >&6;}

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable readline support" >&5
printf %s "checking whether to enable readline support... " >&6; }
# Check whether --enable-readline was given.
if test ${enable_readline+y}
then :
  enableval=$enable_readline;
else $as_nop
  enable_readline="yes"
fi

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_readline" >&5
printf "%s\n" "$enable_readline" >&6; }

LIBREADLINE=""
if test "x$enable_readline" = xyes
then :

	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for readline in -lreadline" >&5
printf %s "checking for readline in -lreadline... " >&6; }
if test ${ac_cv_lib_readline_readline+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  ac_check_lib_save_LIBS=$LIBS
LIBS="-lreadline  $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.  */
char readline ();
int
main (void)
{
return readline ();
  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
  ac_cv_lib_readline_readline=yes
else $as_nop
  ac_cv_lib_readline_readline=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
    conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_readline_readline" >&5
printf "%s\n" "$ac_cv_lib_readline_readline" >&6; }
if test "x$ac_cv_lib_readline_readline" = xyes
then :

		LIBREADLINE="-lreadline"

printf "%s\n" "#define HAVE_LIBREADLINE 1" >>confdefs.h


fi


	ENABLE_READLINE=yes


else $as_nop

	ENABLE_READLINE=no


fi


{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to use libpthread for libcfs library" >&5
printf %s "checking whether to use libpthread for libcfs library... " >&6; }
# Check whether --enable-libpthread was given.
if test ${enable_libpthread+y}
then :
  enableval=$enable_libpthread;
else $as_nop
  enable_libpthread="yes"
fi

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_libpthread" >&5
printf "%s\n" "$enable_libpthread" >&6; }

PTHREAD_LIBS=""
if test "x$enable_libpthread" = xyes
then :

	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pthread_create in -lpthread" >&5
printf %s "checking for pthread_create in -lpthread... " >&6; }
if test ${ac_cv_lib_pthread_pthread_create+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  ac_check_lib_save_LIBS=$LIBS
LIBS="-lpthread  $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.  */
char pthread_create ();
int
main (void)
{
return pthread_create ();
  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
  ac_cv_lib_pthread_pthread_create=yes
else $as_nop
  ac_cv_lib_pthread_pthread_create=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
    conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_create" >&5
printf "%s\n" "$ac_cv_lib_pthread_pthread_create" >&6; }
if test "x$ac_cv_lib_pthread_pthread_create" = xyes
then :

		PTHREAD_LIBS="-lpthread"

printf "%s\n" "#define HAVE_LIBPTHREAD 1" >>confdefs.h


fi


	ENABLE_LIBPTHREAD=yes


else $as_nop

	ENABLE_LIBPTHREAD=no

	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Using libpthread for libcfs library is disabled explicitly" >&5
printf "%s\n" "$as_me: WARNING: Using libpthread for libcfs library is disabled explicitly" >&2;}

fi



{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: LNet core checks
==============================================================================" >&5
printf "%s\n" "$as_me: LNet core checks
==============================================================================" >&6;}


# Check whether --with-cuda was given.
if test ${with_cuda+y}
then :
  withval=$with_cuda; cudapath="$withval"
else $as_nop
  cudapath1=`ls -d1 /usr/src/nvidia-*/nvidia/ 2>/dev/null | tail -1`
fi



# Check whether --with-gds was given.
if test ${with_gds+y}
then :
  withval=$with_gds; gdspath="$withval"
else $as_nop
  gdspath1=`ls -d1 /usr/src/nvidia-fs*/ 2>/dev/null | tail -1`
fi


{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking cuda source directory" >&5
printf %s "checking cuda source directory... " >&6; }
	if test -z "${cudapath}"
then :

		if test -e "${cudapath1}/nv-p2p.h"
then :

			cudapath=${cudapath1}

else $as_nop

			cudapath="Not found"

fi

fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cudapath" >&5
printf "%s\n" "$cudapath" >&6; }

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking gds source directory" >&5
printf %s "checking gds source directory... " >&6; }
	if test -z "${gdspath}"
then :

		if test -e "${gdspath1}/nvfs-dma.h"
then :

			gdspath=${gdspath1}

else $as_nop

			gdspath="Not found"

fi

fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gdspath" >&5
printf "%s\n" "$gdspath" >&6; }

if test -e "${cudapath}" && test -e "${gdspath}"
then :


as_lb_file=`printf "%s\n" "lb_cv_file_$cudapath/nv-p2p.h" | $as_tr_sh`
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $cudapath/nv-p2p.h" >&5
printf %s "checking for $cudapath/nv-p2p.h... " >&6; }
if eval test \${$as_lb_file+y}
then :
  printf %s "(cached) " >&6
else $as_nop

if test -r "$cudapath/nv-p2p.h"
then :
  eval "$as_lb_file=yes"
else $as_nop
  eval "$as_lb_file=no"
fi

fi
eval ac_res=\$$as_lb_file
	       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
if eval test \"x\$"$as_lb_file"\" = x"yes"
then :

		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: CUDA path is $cudapath" >&5
printf "%s\n" "CUDA path is $cudapath" >&6; }
		CUDA_PATH=${cudapath}


else $as_nop

		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: CUDA sources not found: nv-p2p.h does not exist" >&5
printf "%s\n" "CUDA sources not found: nv-p2p.h does not exist" >&6; }

fi


as_lb_file=`printf "%s\n" "lb_cv_file_$gdspath/nvfs-dma.h" | $as_tr_sh`
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $gdspath/nvfs-dma.h" >&5
printf %s "checking for $gdspath/nvfs-dma.h... " >&6; }
if eval test \${$as_lb_file+y}
then :
  printf %s "(cached) " >&6
else $as_nop

if test -r "$gdspath/nvfs-dma.h"
then :
  eval "$as_lb_file=yes"
else $as_nop
  eval "$as_lb_file=no"
fi

fi
eval ac_res=\$$as_lb_file
	       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
if eval test \"x\$"$as_lb_file"\" = x"yes"
then :


as_lb_file=`printf "%s\n" "lb_cv_file_$gdspath/config-host.h" | $as_tr_sh`
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $gdspath/config-host.h" >&5
printf %s "checking for $gdspath/config-host.h... " >&6; }
if eval test \${$as_lb_file+y}
then :
  printf %s "(cached) " >&6
else $as_nop

if test -r "$gdspath/config-host.h"
then :
  eval "$as_lb_file=yes"
else $as_nop
  eval "$as_lb_file=no"
fi

fi
eval ac_res=\$$as_lb_file
	       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
if eval test \"x\$"$as_lb_file"\" = x"yes"
then :

			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: GDS path is ${gdspath}" >&5
printf "%s\n" "GDS path is ${gdspath}" >&6; }
			GDS_PATH=${gdspath}


printf "%s\n" "#define WITH_GDS 1" >>confdefs.h


else $as_nop

		    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: GDS sources not found: config-host.h does not exist" >&5
printf "%s\n" "GDS sources not found: config-host.h does not exist" >&6; }

fi

else $as_nop

		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: GDS sources not found: nvfs-dma.h does not exist" >&5
printf "%s\n" "GDS sources not found: nvfs-dma.h does not exist" >&6; }

fi

else $as_nop

	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: CUDA or GDS sources not found. GDS support disabled" >&5
printf "%s\n" "$as_me: WARNING: CUDA or GDS sources not found. GDS support disabled" >&2;}

fi

# lnet/utils/lnetconfig/liblnetconfig_netlink.c
if test "x$PKGCONF" = "x"
then :
  as_fn_error $? "pkg-config package is required to configure Lustre" "$LINENO" 5
fi

if test "x$enable_dist" = xno
then :


pkg_failed=no
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libnl-genl-3.0 >= 3.1" >&5
printf %s "checking for libnl-genl-3.0 >= 3.1... " >&6; }

if test -n "$LIBNL3_CFLAGS"; then
    pkg_cv_LIBNL3_CFLAGS="$LIBNL3_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 \"libnl-genl-3.0 >= 3.1\""; } >&5
  ($PKG_CONFIG --exists --print-errors "libnl-genl-3.0 >= 3.1") 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; then
  pkg_cv_LIBNL3_CFLAGS=`$PKG_CONFIG --cflags "libnl-genl-3.0 >= 3.1" 2>/dev/null`
		      test "x$?" != "x0" && pkg_failed=yes
else
  pkg_failed=yes
fi
 else
    pkg_failed=untried
fi
if test -n "$LIBNL3_LIBS"; then
    pkg_cv_LIBNL3_LIBS="$LIBNL3_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 \"libnl-genl-3.0 >= 3.1\""; } >&5
  ($PKG_CONFIG --exists --print-errors "libnl-genl-3.0 >= 3.1") 2>&5
  ac_status=$?
  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; then
  pkg_cv_LIBNL3_LIBS=`$PKG_CONFIG --libs "libnl-genl-3.0 >= 3.1" 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
                LIBNL3_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libnl-genl-3.0 >= 3.1" 2>&1`
        else
                LIBNL3_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libnl-genl-3.0 >= 3.1" 2>&1`
        fi
        # Put the nasty error message in config.log where it belongs
        echo "$LIBNL3_PKG_ERRORS" >&5

        as_fn_error $? "Package requirements (libnl-genl-3.0 >= 3.1) were not met:

$LIBNL3_PKG_ERRORS

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables LIBNL3_CFLAGS
and LIBNL3_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details." "$LINENO" 5
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}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "The pkg-config script could not be found or is too old.  Make sure it
is in your PATH or set the PKG_CONFIG environment variable to the full
path to pkg-config.

Alternatively, you may set the environment variables LIBNL3_CFLAGS
and LIBNL3_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

To get pkg-config, see <http://pkg-config.freedesktop.org/>.
See \`config.log' for more details" "$LINENO" 5; }
else
        LIBNL3_CFLAGS=$pkg_cv_LIBNL3_CFLAGS
        LIBNL3_LIBS=$pkg_cv_LIBNL3_LIBS
        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }

fi

fi

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for nla_get_s32 in -lnl-3" >&5
printf %s "checking for nla_get_s32 in -lnl-3... " >&6; }
if test ${ac_cv_lib_nl_3_nla_get_s32+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  ac_check_lib_save_LIBS=$LIBS
LIBS="-lnl-3  $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.  */
char nla_get_s32 ();
int
main (void)
{
return nla_get_s32 ();
  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
  ac_cv_lib_nl_3_nla_get_s32=yes
else $as_nop
  ac_cv_lib_nl_3_nla_get_s32=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
    conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nl_3_nla_get_s32" >&5
printf "%s\n" "$ac_cv_lib_nl_3_nla_get_s32" >&6; }
if test "x$ac_cv_lib_nl_3_nla_get_s32" = xyes
then :


printf "%s\n" "#define HAVE_NLA_GET_S32 1" >>confdefs.h


fi


{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for nla_get_s64 in -lnl-3" >&5
printf %s "checking for nla_get_s64 in -lnl-3... " >&6; }
if test ${ac_cv_lib_nl_3_nla_get_s64+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  ac_check_lib_save_LIBS=$LIBS
LIBS="-lnl-3  $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.  */
char nla_get_s64 ();
int
main (void)
{
return nla_get_s64 ();
  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
  ac_cv_lib_nl_3_nla_get_s64=yes
else $as_nop
  ac_cv_lib_nl_3_nla_get_s64=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
    conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nl_3_nla_get_s64" >&5
printf "%s\n" "$ac_cv_lib_nl_3_nla_get_s64" >&6; }
if test "x$ac_cv_lib_nl_3_nla_get_s64" = xyes
then :


printf "%s\n" "#define HAVE_NLA_GET_S64 1" >>confdefs.h


fi


#
# LN_USR_NLMSGERR
#
 # LN_USR_NLMGSERR

# lnet/utils/portals.c
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


# lnet/utils/wirecheck.c
ac_fn_c_check_func "$LINENO" "strnlen" "ac_cv_func_strnlen"
if test "x$ac_cv_func_strnlen" = xyes
then :
  printf "%s\n" "#define HAVE_STRNLEN 1" >>confdefs.h

fi


# --------  Check for required packages  --------------

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable 'efence' debugging support" >&5
printf %s "checking whether to enable 'efence' debugging support... " >&6; }
# Check whether --enable-efence was given.
if test ${enable_efence+y}
then :
  enableval=$enable_efence;
else $as_nop
  enable_efence="no"
fi

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_efence" >&5
printf "%s\n" "$enable_efence" >&6; }

LIBEFENCE=""
if test "$enable_efence" = yes
then :

	LIBEFENCE="-lefence"

printf "%s\n" "#define HAVE_LIBEFENCE 1" >>confdefs.h

	ENABLE_EFENCE=yes


else $as_nop

	ENABLE_EFENCE=no


fi



	if test "x$enable_dist" = xno
then :

		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for yaml_parser_initialize in -lyaml" >&5
printf %s "checking for yaml_parser_initialize in -lyaml... " >&6; }
if test ${ac_cv_lib_yaml_yaml_parser_initialize+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  ac_check_lib_save_LIBS=$LIBS
LIBS="-lyaml -lm $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.  */
char yaml_parser_initialize ();
int
main (void)
{
return yaml_parser_initialize ();
  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
  ac_cv_lib_yaml_yaml_parser_initialize=yes
else $as_nop
  ac_cv_lib_yaml_yaml_parser_initialize=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
    conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_yaml_yaml_parser_initialize" >&5
printf "%s\n" "$ac_cv_lib_yaml_yaml_parser_initialize" >&6; }
if test "x$ac_cv_lib_yaml_yaml_parser_initialize" = xyes
then :
  LIBYAML="libyaml"
else $as_nop
  as_fn_error $? "YAML development libraries not not installed" "$LINENO" 5
fi


fi


{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if RDMA_PS_TCP exists" >&5
printf %s "checking if RDMA_PS_TCP exists... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

	#include <rdma/rdma_user_cm.h>

	int main(void) {
		int x = (int)RDMA_PS_TCP;
		return x;
	}

_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :


printf "%s\n" "#define HAVE_USRSPC_RDMA_PS_TCP 1" >>confdefs.h


fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext


{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 'enum nlmsgerr_attrs' exists" >&5
printf %s "checking if 'enum nlmsgerr_attrs' exists... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

	#include <linux/netlink.h>

	int main(void) {
		int x = (int)NLMSGERR_ATTR_MAX;
		return x;
	}

_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :


printf "%s\n" "#define HAVE_USRSPC_NLMSGERR 1" >>confdefs.h


fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext



{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: Lustre core checks
==============================================================================" >&5
printf "%s\n" "$as_me: Lustre core checks
==============================================================================" >&6;}

# maximum MDS thread count

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for maximum number of MDS threads" >&5
printf %s "checking for maximum number of MDS threads... " >&6; }

# Check whether --with-mds_max_threads was given.
if test ${with_mds_max_threads+y}
then :
  withval=$with_mds_max_threads;
printf "%s\n" "#define MDS_MAX_THREADS $with_mds_max_threads" >>confdefs.h

fi

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_mds_max_threads" >&5
printf "%s\n" "$with_mds_max_threads" >&6; }


# lustre/utils/gss/gss_util.c
# lustre/utils/llog_reader.c
# lustre/utils/libiam.c
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" "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


# lustre/utils/llverfs.c lustre/utils/libmount_utils_ldiskfs.c
       for ac_header in ext2fs/ext2fs.h
do :
  ac_fn_c_check_header_compile "$LINENO" "ext2fs/ext2fs.h" "ac_cv_header_ext2fs_ext2fs_h" "$ac_includes_default"
if test "x$ac_cv_header_ext2fs_ext2fs_h" = xyes
then :
  printf "%s\n" "#define HAVE_EXT2FS_EXT2FS_H 1" >>confdefs.h

else $as_nop

	if test "x$enable_utils" = xyes -a "x$enable_ldiskfs" = xyes
then :

		as_fn_error $? "
ext2fs.h not found. Please install e2fsprogs development package.
		" "$LINENO" 5

fi

fi

done

# lustre/tests/statx_test.c
ac_fn_c_check_func "$LINENO" "statx" "ac_cv_func_statx"
if test "x$ac_cv_func_statx" = xyes
then :
  printf "%s\n" "#define HAVE_STATX 1" >>confdefs.h

fi


# lustre/utils/lfs.c
if test "$enable_dist" = "no"
then :

		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for crc32 in -lz" >&5
printf %s "checking for crc32 in -lz... " >&6; }
if test ${ac_cv_lib_z_crc32+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  ac_check_lib_save_LIBS=$LIBS
LIBS="-lz  $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.  */
char crc32 ();
int
main (void)
{
return crc32 ();
  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
  ac_cv_lib_z_crc32=yes
else $as_nop
  ac_cv_lib_z_crc32=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
    conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_crc32" >&5
printf "%s\n" "$ac_cv_lib_z_crc32" >&6; }
if test "x$ac_cv_lib_z_crc32" = xyes
then :

				 ac_fn_c_check_header_compile "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_includes_default"
if test "x$ac_cv_header_zlib_h" = xyes
then :

else $as_nop

						 as_fn_error $? "zlib.h not found." "$LINENO" 5
fi


else $as_nop

				 as_fn_error $? "
		zlib library not found. Please install zlib development package." "$LINENO" 5

fi


fi

SELINUX=""

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for is_selinux_enabled in -lselinux" >&5
printf %s "checking for is_selinux_enabled in -lselinux... " >&6; }
if test ${ac_cv_lib_selinux_is_selinux_enabled+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  ac_check_lib_save_LIBS=$LIBS
LIBS="-lselinux  $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.  */
char is_selinux_enabled ();
int
main (void)
{
return is_selinux_enabled ();
  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
  ac_cv_lib_selinux_is_selinux_enabled=yes
else $as_nop
  ac_cv_lib_selinux_is_selinux_enabled=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
    conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_selinux_is_selinux_enabled" >&5
printf "%s\n" "$ac_cv_lib_selinux_is_selinux_enabled" >&6; }
if test "x$ac_cv_lib_selinux_is_selinux_enabled" = xyes
then :
         for ac_header in selinux/selinux.h
do :
  ac_fn_c_check_header_compile "$LINENO" "selinux/selinux.h" "ac_cv_header_selinux_selinux_h" "$ac_includes_default"
if test "x$ac_cv_header_selinux_selinux_h" = xyes
then :
  printf "%s\n" "#define HAVE_SELINUX_SELINUX_H 1" >>confdefs.h
 SELINUX="-lselinux"

printf "%s\n" "#define HAVE_SELINUX 1" >>confdefs.h

else $as_nop
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING:

No libselinux-devel package found, unable to build selinux enabled tools
" >&5
printf "%s\n" "$as_me: WARNING:

No libselinux-devel package found, unable to build selinux enabled tools
" >&2;}

fi

done
else $as_nop
  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING:

No selinux package found, unable to build selinux enabled tools
" >&5
printf "%s\n" "$as_me: WARNING:

No selinux package found, unable to build selinux enabled tools
" >&2;}

fi



{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for add_key in -lkeyutils" >&5
printf %s "checking for add_key in -lkeyutils... " >&6; }
if test ${ac_cv_lib_keyutils_add_key+y}
then :
  printf %s "(cached) " >&6
else $as_nop
  ac_check_lib_save_LIBS=$LIBS
LIBS="-lkeyutils  $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.  */
char add_key ();
int
main (void)
{
return add_key ();
  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
  ac_cv_lib_keyutils_add_key=yes
else $as_nop
  ac_cv_lib_keyutils_add_key=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
    conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_keyutils_add_key" >&5
printf "%s\n" "$ac_cv_lib_keyutils_add_key" >&6; }
if test "x$ac_cv_lib_keyutils_add_key" = xyes
then :
  printf "%s\n" "#define HAVE_LIBKEYUTILS 1" >>confdefs.h

  LIBS="-lkeyutils $LIBS"

fi


# Super safe df
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to report minimum OST free space" >&5
printf %s "checking whether to report minimum OST free space... " >&6; }
# Check whether --enable-mindf was given.
if test ${enable_mindf+y}
then :
  enableval=$enable_mindf;
else $as_nop
  enable_mindf="no"
fi

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_mindf" >&5
printf "%s\n" "$enable_mindf" >&6; }
if test "$enable_mindf" = "yes"
then :


printf "%s\n" "#define MIN_DF 1" >>confdefs.h

	ENABLE_MINDF=yes


else $as_nop

	ENABLE_MINDF=no


fi

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to randomly failing memory alloc" >&5
printf %s "checking whether to randomly failing memory alloc... " >&6; }
# Check whether --enable-fail_alloc was given.
if test ${enable_fail_alloc+y}
then :
  enableval=$enable_fail_alloc;
else $as_nop
  enable_fail_alloc="yes"
fi

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_fail_alloc" >&5
printf "%s\n" "$enable_fail_alloc" >&6; }
if test "x$enable_fail_alloc" != xno
then :


printf "%s\n" "#define RANDOM_FAIL_ALLOC 1" >>confdefs.h

	ENABLE_FAIL_ALLOC=yes


else $as_nop

	ENABLE_FAIL_ALLOC=no


fi

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to check invariants (expensive cpu-wise)" >&5
printf %s "checking whether to check invariants (expensive cpu-wise)... " >&6; }
# Check whether --enable-invariants was given.
if test ${enable_invariants+y}
then :
  enableval=$enable_invariants;
else $as_nop
  enable_invariants="no"
fi

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_invariants" >&5
printf "%s\n" "$enable_invariants" >&6; }
if test "x$enable_invariants" = xyes
then :


printf "%s\n" "#define CONFIG_LUSTRE_DEBUG_EXPENSIVE_CHECK 1" >>confdefs.h

	ENABLE_INVARIANTS=yes


else $as_nop

	ENABLE_INVARIANTS=no


fi

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable page state tracking" >&5
printf %s "checking whether to enable page state tracking... " >&6; }
# Check whether --enable-pgstate-track was given.
if test ${enable_pgstate_track+y}
then :
  enableval=$enable_pgstate_track;
else $as_nop
  enable_pgstat_track="no"
fi

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_pgstat_track" >&5
printf "%s\n" "$enable_pgstat_track" >&6; }
if test "x$enable_pgstat_track" = xyes
then :


printf "%s\n" "#define CONFIG_DEBUG_PAGESTATE_TRACKING 1" >>confdefs.h

	ENABLE_PGSTAT_TRACK=yes


else $as_nop

	ENABLE_PGSTAT_TRACK=no


fi








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 $as_nop
  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
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 $as_nop
  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
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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking systemd unit file directory" >&5
printf %s "checking systemd unit file directory... " >&6; }

# Check whether --with-systemdsystemunitdir was given.
if test ${with_systemdsystemunitdir+y}
then :
  withval=$with_systemdsystemunitdir;
else $as_nop
  with_systemdsystemunitdir=auto
fi

if test "x$with_systemdsystemunitdir" = "xyes" -o "x$with_systemdsystemunitdir" = "xauto"
then :
  def_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)
	if test "x$def_systemdsystemunitdir" = "x"
then :
  if test "x$with_systemdsystemunitdir" = "xyes"
then :
  as_fn_error $? "systemd support requested but pkg-config unable to query systemd package" "$LINENO" 5
fi
		with_systemdsystemunitdir=no
else $as_nop
  with_systemdsystemunitdir="$def_systemdsystemunitdir"
fi
fi
if test "x$with_systemdsystemunitdir" != "xno"
then :
  systemdsystemunitdir=$with_systemdsystemunitdir

fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_systemdsystemunitdir" >&5
printf "%s\n" "$with_systemdsystemunitdir" >&6; }

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking bash-completion directory" >&5
printf %s "checking bash-completion directory... " >&6; }

# Check whether --with-bash-completion-dir was given.
if test ${with_bash_completion_dir+y}
then :
  withval=$with_bash_completion_dir;
else $as_nop
  with_bash_completion_dir=yes
fi

if test "x$with_bash_completion_dir" = "xyes"
then :

	BASH_COMPLETION_DIR="`pkg-config --variable=completionsdir bash-completion`"
	if test "x$BASH_COMPLETION_DIR" = "x"
then :

		BASH_COMPLETION_DIR="/usr/share/bash-completion/completions"

fi

else $as_nop

	BASH_COMPLETION_DIR="$with_bash_completion_dir"

fi

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $BASH_COMPLETION_DIR" >&5
printf "%s\n" "$BASH_COMPLETION_DIR" >&6; }



 if test x$enable_shared = xyes; then
  PLUGINS_TRUE=
  PLUGINS_FALSE='#'
else
  PLUGINS_TRUE='#'
  PLUGINS_FALSE=
fi

 if test x$enable_modules = xyes; then
  MODULES_TRUE=
  MODULES_FALSE='#'
else
  MODULES_TRUE='#'
  MODULES_FALSE=
fi

 if test x$enable_utils = xyes; then
  UTILS_TRUE=
  UTILS_FALSE='#'
else
  UTILS_TRUE='#'
  UTILS_FALSE=
fi

 if test x$enable_tests = xyes; then
  TESTS_TRUE=
  TESTS_FALSE='#'
else
  TESTS_TRUE='#'
  TESTS_FALSE=
fi

 if test x$ENABLE_DOC = x1; then
  DOC_TRUE=
  DOC_FALSE='#'
else
  DOC_TRUE='#'
  DOC_FALSE=
fi

 if test x$enable_manpages = xyes; then
  MANPAGES_TRUE=
  MANPAGES_FALSE='#'
else
  MANPAGES_TRUE='#'
  MANPAGES_FALSE=
fi

 if test x$lb_target_os = xlinux; then
  LINUX_TRUE=
  LINUX_FALSE='#'
else
  LINUX_TRUE='#'
  LINUX_FALSE=
fi

 if test x$use_quilt = xyes; then
  USE_QUILT_TRUE=
  USE_QUILT_FALSE='#'
else
  USE_QUILT_TRUE='#'
  USE_QUILT_FALSE=
fi

 if test -f /etc/redhat-release -o -f /etc/openEuler-release; then
  RHEL_TRUE=
  RHEL_FALSE='#'
else
  RHEL_TRUE='#'
  RHEL_FALSE=
fi

 if test x$AZURELINUX_KERNEL = xyes; then
  AZURELINUX_TRUE=
  AZURELINUX_FALSE='#'
else
  AZURELINUX_TRUE='#'
  AZURELINUX_FALSE=
fi

 if test -f /etc/SUSE-brand -o -f /etc/SuSE-release; then
  SUSE_TRUE=
  SUSE_FALSE='#'
else
  SUSE_TRUE='#'
  SUSE_FALSE=
fi

 if test x$UBUNTU_KERNEL = xyes; then
  UBUNTU_TRUE=
  UBUNTU_FALSE='#'
else
  UBUNTU_TRUE='#'
  UBUNTU_FALSE=
fi

 if test x$enable_lutf = xyes; then
  BUILD_LUTF_TRUE=
  BUILD_LUTF_FALSE='#'
else
  BUILD_LUTF_TRUE='#'
  BUILD_LUTF_FALSE=
fi

 if test x$lb_cv_dequote_CC_VERSION_TEXT = xyes; then
  DEQUOTE_CC_VERSION_TEXT_TRUE=
  DEQUOTE_CC_VERSION_TEXT_FALSE='#'
else
  DEQUOTE_CC_VERSION_TEXT_TRUE='#'
  DEQUOTE_CC_VERSION_TEXT_FALSE=
fi



 if test x$EXTERNAL_KO2IBLND = "xyes"; then
  EXTERNAL_KO2IBLND_TRUE=
  EXTERNAL_KO2IBLND_FALSE='#'
else
  EXTERNAL_KO2IBLND_TRUE='#'
  EXTERNAL_KO2IBLND_FALSE=
fi

 if test x$BUILT_IN_KO2IBLND = "xyes"; then
  BUILT_IN_KO2IBLND_TRUE=
  BUILT_IN_KO2IBLND_FALSE='#'
else
  BUILT_IN_KO2IBLND_TRUE='#'
  BUILT_IN_KO2IBLND_FALSE=
fi

 if test x$GNILND  = "xgnilnd"; then
  BUILD_GNILND_TRUE=
  BUILD_GNILND_FALSE='#'
else
  BUILD_GNILND_TRUE='#'
  BUILD_GNILND_FALSE=
fi

 if test x$KFILND  = "xkfilnd"; then
  BUILD_KFILND_TRUE=
  BUILD_KFILND_FALSE='#'
else
  BUILD_KFILND_TRUE='#'
  BUILD_KFILND_FALSE=
fi



 if test x$enable_mpitests = xyes; then
  MPITESTS_TRUE=
  MPITESTS_FALSE='#'
else
  MPITESTS_TRUE='#'
  MPITESTS_FALSE=
fi

 if test x$enable_client = xyes; then
  CLIENT_TRUE=
  CLIENT_FALSE='#'
else
  CLIENT_TRUE='#'
  CLIENT_FALSE=
fi

 if test x$enable_server = xyes; then
  SERVER_TRUE=
  SERVER_FALSE='#'
else
  SERVER_TRUE='#'
  SERVER_FALSE=
fi

 if test x$enable_split = xyes; then
  SPLIT_TRUE=
  SPLIT_FALSE='#'
else
  SPLIT_TRUE='#'
  SPLIT_FALSE=
fi

 if test x$ac_cv_header_ext2fs_ext2fs_h = xyes; then
  EXT2FS_DEVEL_TRUE=
  EXT2FS_DEVEL_FALSE='#'
else
  EXT2FS_DEVEL_TRUE='#'
  EXT2FS_DEVEL_FALSE=
fi

 if test x$enable_gss = xyes; then
  GSS_TRUE=
  GSS_FALSE='#'
else
  GSS_TRUE='#'
  GSS_FALSE=
fi

 if test x$enable_gss_keyring = xyes; then
  GSS_KEYRING_TRUE=
  GSS_KEYRING_FALSE='#'
else
  GSS_KEYRING_TRUE='#'
  GSS_KEYRING_FALSE=
fi

 if test x$enable_ssk = xyes; then
  GSS_SSK_TRUE=
  GSS_SSK_FALSE='#'
else
  GSS_SSK_TRUE='#'
  GSS_SSK_FALSE=
fi

 if test x$enable_libpthread = xyes; then
  LIBPTHREAD_TRUE=
  LIBPTHREAD_FALSE='#'
else
  LIBPTHREAD_TRUE='#'
  LIBPTHREAD_FALSE=
fi

 if test "x$with_systemdsystemunitdir" != "xno"; then
  HAVE_SYSTEMD_TRUE=
  HAVE_SYSTEMD_FALSE='#'
else
  HAVE_SYSTEMD_TRUE='#'
  HAVE_SYSTEMD_FALSE=
fi

 if test "x$with_bash_completion_dir" != "xno"; then
  ENABLE_BASH_COMPLETION_TRUE=
  ENABLE_BASH_COMPLETION_FALSE='#'
else
  ENABLE_BASH_COMPLETION_TRUE='#'
  ENABLE_BASH_COMPLETION_FALSE=
fi

 if test "x$lb_cv_compile_xattr_handler_flags" = xyes; then
  XATTR_HANDLER_TRUE=
  XATTR_HANDLER_FALSE='#'
else
  XATTR_HANDLER_TRUE='#'
  XATTR_HANDLER_FALSE=
fi

 if test "$SELINUX" = "-lselinux"; then
  SELINUX_TRUE=
  SELINUX_FALSE='#'
else
  SELINUX_TRUE='#'
  SELINUX_FALSE=
fi

 if test x$enable_getsepol = xyes &&
                         test x$config_getsepol = xyes; then
  GETSEPOL_TRUE=
  GETSEPOL_FALSE='#'
else
  GETSEPOL_TRUE='#'
  GETSEPOL_FALSE=
fi

 if test x$enable_llcrypt = xyes; then
  LLCRYPT_TRUE=
  LLCRYPT_FALSE='#'
else
  LLCRYPT_TRUE='#'
  LLCRYPT_FALSE=
fi

 if test x$enable_libaio = xyes; then
  LIBAIO_TRUE=
  LIBAIO_FALSE='#'
else
  LIBAIO_TRUE='#'
  LIBAIO_FALSE=
fi




ac_config_headers="$ac_config_headers config.h"

CPPFLAGS="-include $PWD/undef.h -include $PWD/config.h $CPPFLAGS"
EXTRA_KCFLAGS="-include $PWD/undef.h -include $PWD/config.h $EXTRA_KCFLAGS"





# Check whether --enable-compiler-plugins was given.
if test ${enable_compiler_plugins+y}
then :
  enableval=$enable_compiler_plugins;
fi


if test "x$enable_compiler_plugins" == "xyes"
then :

CFLAGS="$CFLAGS -fplugin=$(pwd)/cc-plugins/.libs/libfindstatic.so"

fi
 if test x$enable_compiler_plugins = xyes; then
  CC_PLUGINS_TRUE=
  CC_PLUGINS_FALSE='#'
else
  CC_PLUGINS_TRUE='#'
  CC_PLUGINS_FALSE=
fi




ac_config_files="$ac_config_files libcfs/Makefile libcfs/autoMakefile libcfs/autoconf/Makefile libcfs/include/Makefile libcfs/include/libcfs/Makefile libcfs/include/uapi/Makefile libcfs/include/libcfs/linux/Makefile libcfs/include/libcfs/util/Makefile libcfs/include/libcfs/crypto/Makefile libcfs/include/uapi/linux/Makefile libcfs/libcfs/Makefile libcfs/libcfs/autoMakefile libcfs/libcfs/linux/Makefile libcfs/libcfs/util/Makefile libcfs/libcfs/crypto/Makefile"



	ac_config_files="$ac_config_files Makefile autoMakefile config/Makefile Rules:build/Rules.in lustre.spec lustre-dkms.spec ldiskfs/Makefile ldiskfs/autoMakefile lnet/utils/lnet.pc lustre/utils/lustre.pc lustre-iokit/Makefile lustre-iokit/obdfilter-survey/Makefile lustre-iokit/ost-survey/Makefile lustre-iokit/sgpdd-survey/Makefile lustre-iokit/mds-survey/Makefile lustre-iokit/ior-survey/Makefile lustre-iokit/stats-collect/Makefile lustre-iokit/lst-survey/Makefile"



ac_config_files="$ac_config_files lnet/Makefile lnet/autoMakefile lnet/autoconf/Makefile lnet/doc/Makefile lnet/include/Makefile lnet/include/lnet/Makefile lnet/include/uapi/linux/lnet/Makefile lnet/klnds/Makefile lnet/klnds/autoMakefile lnet/klnds/o2iblnd/Makefile lnet/klnds/o2iblnd/autoMakefile lnet/klnds/in-kernel-o2iblnd/Makefile lnet/klnds/in-kernel-o2iblnd/autoMakefile lnet/klnds/gnilnd/Makefile lnet/klnds/gnilnd/autoMakefile lnet/klnds/socklnd/Makefile lnet/klnds/socklnd/autoMakefile lnet/klnds/kfilnd/Makefile lnet/klnds/kfilnd/autoMakefile lnet/lnet/Makefile lnet/lnet/autoMakefile lnet/selftest/Makefile lnet/selftest/autoMakefile lnet/utils/Makefile lnet/utils/lnetconfig/Makefile"


ac_config_files="$ac_config_files lustre/Makefile lustre/autoMakefile lustre/autoconf/Makefile lustre/conf/Makefile lustre/conf/resource/Makefile lustre/doc/Makefile lustre/include/Makefile lustre/include/lustre/Makefile lustre/include/uapi/linux/lustre/Makefile lustre/kernel_patches/targets/5.14-rhel9.4.target lustre/kernel_patches/targets/5.14-rhel9.3.target lustre/kernel_patches/targets/5.14-rhel9.2.target lustre/kernel_patches/targets/5.14-rhel9.1.target lustre/kernel_patches/targets/5.14-rhel9.0.target lustre/kernel_patches/targets/4.18-rhel8.10.target lustre/kernel_patches/targets/4.18-rhel8.9.target lustre/kernel_patches/targets/4.18-rhel8.8.target lustre/kernel_patches/targets/4.18-rhel8.7.target lustre/kernel_patches/targets/4.18-rhel8.6.target lustre/kernel_patches/targets/4.18-rhel8.5.target lustre/kernel_patches/targets/4.18-rhel8.4.target lustre/kernel_patches/targets/4.18-rhel8.3.target lustre/kernel_patches/targets/4.18-rhel8.2.target lustre/kernel_patches/targets/4.18-rhel8.1.target lustre/kernel_patches/targets/4.18-rhel8.target lustre/kernel_patches/targets/3.10-rhel7.9.target lustre/kernel_patches/targets/3.10-rhel7.8.target lustre/kernel_patches/targets/3.10-rhel7.7.target lustre/kernel_patches/targets/3.10-rhel7.6.target lustre/kernel_patches/targets/3.10-rhel7.5.target lustre/kernel_patches/targets/4.14-rhel7.5.target lustre/kernel_patches/targets/4.14-rhel7.6.target lustre/kernel_patches/targets/4.12-sles12sp4.target lustre/kernel_patches/targets/4.12-sles12sp5.target lustre/kernel_patches/targets/4.12-sles15sp1.target lustre/kernel_patches/targets/5.3-sles15sp2.target lustre/kernel_patches/targets/5.3-sles15sp3.target lustre/kernel_patches/targets/5.14-sles15sp4.target lustre/kernel_patches/targets/5.14-sles15sp5.target lustre/kernel_patches/targets/6.4-sles15sp6.target lustre/kernel_patches/targets/3.x-fc18.target lustre/kernel_patches/targets/5.10-oe2203.target lustre/kernel_patches/targets/5.10-oe2203sp1.target lustre/kernel_patches/targets/5.10-oe2203sp2.target lustre/kernel_patches/targets/6.6-azurelinux3.target lustre/ldlm/Makefile lustre/ldlm/autoMakefile lustre/ec/autoMakefile lustre/ec/Makefile lustre/fid/Makefile lustre/fid/autoMakefile lustre/llite/Makefile lustre/llite/autoMakefile lustre/lov/Makefile lustre/lov/autoMakefile lustre/mdc/Makefile lustre/mdc/autoMakefile lustre/lmv/Makefile lustre/lmv/autoMakefile lustre/lfsck/Makefile lustre/lfsck/autoMakefile lustre/mdt/Makefile lustre/mdt/autoMakefile lustre/mdd/Makefile lustre/mdd/autoMakefile lustre/fld/Makefile lustre/fld/autoMakefile lustre/obdclass/Makefile lustre/obdclass/autoMakefile lustre/obdecho/Makefile lustre/obdecho/autoMakefile lustre/ofd/Makefile lustre/ofd/autoMakefile lustre/osc/Makefile lustre/osc/autoMakefile lustre/ost/Makefile lustre/ost/autoMakefile lustre/osd-ldiskfs/Makefile lustre/osd-ldiskfs/autoMakefile lustre/osd-zfs/Makefile lustre/osd-zfs/autoMakefile lustre/mgc/Makefile lustre/mgc/autoMakefile lustre/mgs/Makefile lustre/mgs/autoMakefile lustre/target/Makefile lustre/target/autoMakefile lustre/ptlrpc/Makefile lustre/ptlrpc/autoMakefile lustre/ptlrpc/gss/Makefile lustre/ptlrpc/gss/autoMakefile lustre/quota/Makefile lustre/quota/autoMakefile lustre/scripts/Makefile lustre/scripts/systemd/Makefile lustre/tests/Makefile lustre/tests/mpi/Makefile lustre/tests/iabf/Makefile lustre/tests/lutf/Makefile lustre/tests/lutf/src/Makefile lustre/kunit/Makefile lustre/kunit/autoMakefile lustre/utils/Makefile lustre/utils/gss/Makefile lustre/osp/Makefile lustre/osp/autoMakefile lustre/lod/Makefile lustre/lod/autoMakefile"



	ac_config_files="$ac_config_files cc-plugins/Makefile"





MOSTLYCLEANFILES='.*.cmd .*.flags *.o *.ko *.mod.c .depend .*.1.* Modules.symvers Module.symvers'



RPMBINARGS=
CONFIGURE_ARGS=
eval set -- $ac_configure_args
for arg; do
	case $arg in
		--*dir=* ) ;;
		-C | --cache-file=* ) ;;
		--prefix=* | --*-prefix=* ) ;;
		--enable-dist ) ;;
		--with-kmp-moddir=* ) ;;
		--with-linux=* | --with-linux-obj=* ) ;;
		--enable-shared | --disable-shared ) ;;
		--enable-static | --disable-static ) ;;
		--enable-ldiskfs | --disable-ldiskfs ) ;;
		--enable-modules | --disable-modules ) ;;
		--enable-server | --disable-server ) ;;
		--enable-tests | --disable-tests ) ;;
		--enable-utils | --disable-utils ) ;;
		--enable-iokit | --disable-iokit ) ;;
		--enable-manpages | --disable-manpages ) ;;
		* ) CONFIGURE_ARGS="$CONFIGURE_ARGS '$arg'" ;;
	esac
done
if test -n "$CONFIGURE_ARGS" ; then
	RPMBINARGS="$RPMBINARGS --define \"configure_args $CONFIGURE_ARGS\""
fi
if test -n "$LINUX" ; then
	RPMBINARGS="$RPMBINARGS --define \"kdir $LINUX\""
	if test -n "$LINUX_OBJ" -a "$LINUX_OBJ" != x"$LINUX" ; then
		RPMBINARGS="$RPMBINARGS --define \"kobjdir $LINUX_OBJ\""
	fi
fi
if test x$enable_modules != xyes ; then
	RPMBINARGS="$RPMBINARGS --without lustre_modules"
fi
if test x$enable_tests != xyes ; then
	RPMBINARGS="$RPMBINARGS --without lustre_tests"
fi
if test x$enable_lutf != xyes ; then
	RPMBINARGS="$RPMBINARGS --without lustre_tests_lutf"
fi
if test x$enable_utils != xyes ; then
	RPMBINARGS="$RPMBINARGS --without lustre_utils"
fi
if test x$enable_server != xyes ; then
	RPMBINARGS="$RPMBINARGS --without servers"
fi
if test x$enable_ldiskfs != xyes ; then
	RPMBINARGS="$RPMBINARGS --without ldiskfs"
fi
if test x$enable_zfs = xyes ; then
	RPMBINARGS="$RPMBINARGS --with zfs"
fi
if test x$enable_gss_keyring = xyes ; then
	RPMBINARGS="$RPMBINARGS --with gss_keyring --with gss"
fi
if test x$enable_gss = xyes ; then
	RPMBINARGS="$RPMBINARGS --with gss"
	ENABLE_GSS=yes

elif test x$enable_gss = xno ; then
	RPMBINARGS="$RPMBINARGS --without gss"
	ENABLE_GSS=no

fi
if test x$enable_crypto = xyes ; then
	RPMBINARGS="$RPMBINARGS --with crypto"
	ENABLE_CRYPTO=yes

elif test x$enable_crypto = xno ; then
	RPMBINARGS="$RPMBINARGS --without crypto"
	ENABLE_CRYPTO=no

fi
if test x$enable_multiple_lnds = xyes ; then
	RPMBINARGS="$RPMBINARGS --with multiple_lnds"
else
	RPMBINARGS="$RPMBINARGS --without multiple_lnds"
fi
if test x$EXTERNAL_KO2IBLND = xyes ; then
	RPMBINARGS="$RPMBINARGS --with mofed"
else
	RPMBINARGS="$RPMBINARGS --without mofed"
fi
if test x$BUILT_IN_KO2IBLND = xyes ; then
	RPMBINARGS="$RPMBINARGS --with o2ib"
else
	RPMBINARGS="$RPMBINARGS --without o2ib"
fi
if test x$KFILND = xkfilnd ; then
	RPMBINARGS="$RPMBINARGS --with kfi"
else
	RPMBINARGS="$RPMBINARGS --without kfi"
fi
if test x$ENABLE_GNI = xyes ; then
	RPMBINARGS="$RPMBINARGS --with gni"
else
	RPMBINARGS="$RPMBINARGS --without gni"
fi
if test x$enable_iokit != xyes ; then
	RPMBINARGS="$RPMBINARGS --without lustre_iokit"
fi
if test x$enable_manpages != xyes ; then
	RPMBINARGS="$RPMBINARGS --without manpages"
fi
if test x$enable_shared != xyes ; then
	RPMBINARGS="$RPMBINARGS --without shared"
fi
if test x$enable_static != xyes ; then
	RPMBINARGS="$RPMBINARGS --without static"
fi
if test x$enable_mpitests != xyes ; then
	RPMBINARGS="$RPMBINARGS --without mpi"
fi

RPMBUILD_BINARY_ARGS=$RPMBINARGS




CONFIG_CACHE_FILE=
if test -f "$cache_file"; then
	CONFIG_CACHE_FILE=$(readlink --canonicalize "$cache_file")
fi



if test -d $TEST_DIR -a "x${PARALLEL_BUILD_OPT}" != "xdebug"
then :

	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: remove temporary parallel configure dir $TEST_DIR" >&5
printf "%s\n" "$as_me: remove temporary parallel configure dir $TEST_DIR" >&6;}
	rm -rf $TEST_DIR

fi

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 : $LIBOBJS; do test "x$ac_i" = x: && continue
  # 1. Remove the extension, and $U if already installed.
  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
  ac_i=`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
LIBOBJS=$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 "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
  as_fn_error $? "conditional \"MAINTAINER_MODE\" 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__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 "${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 "${NO_STRINGOP_OVERFLOW_TRUE}" && test -z "${NO_STRINGOP_OVERFLOW_FALSE}"; then
  as_fn_error $? "conditional \"NO_STRINGOP_OVERFLOW\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${LDISKFS_ENABLED_TRUE}" && test -z "${LDISKFS_ENABLED_FALSE}"; then
  as_fn_error $? "conditional \"LDISKFS_ENABLED\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${ZFS_ENABLED_TRUE}" && test -z "${ZFS_ENABLED_FALSE}"; then
  as_fn_error $? "conditional \"ZFS_ENABLED\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${SPL_ENABLED_TRUE}" && test -z "${SPL_ENABLED_FALSE}"; then
  as_fn_error $? "conditional \"SPL_ENABLED\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${BUILD_LUSTREIOKIT_TRUE}" && test -z "${BUILD_LUSTREIOKIT_FALSE}"; then
  as_fn_error $? "conditional \"BUILD_LUSTREIOKIT\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${PLUGINS_TRUE}" && test -z "${PLUGINS_FALSE}"; then
  as_fn_error $? "conditional \"PLUGINS\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${MODULES_TRUE}" && test -z "${MODULES_FALSE}"; then
  as_fn_error $? "conditional \"MODULES\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${UTILS_TRUE}" && test -z "${UTILS_FALSE}"; then
  as_fn_error $? "conditional \"UTILS\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${TESTS_TRUE}" && test -z "${TESTS_FALSE}"; then
  as_fn_error $? "conditional \"TESTS\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${DOC_TRUE}" && test -z "${DOC_FALSE}"; then
  as_fn_error $? "conditional \"DOC\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${MANPAGES_TRUE}" && test -z "${MANPAGES_FALSE}"; then
  as_fn_error $? "conditional \"MANPAGES\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${LINUX_TRUE}" && test -z "${LINUX_FALSE}"; then
  as_fn_error $? "conditional \"LINUX\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${USE_QUILT_TRUE}" && test -z "${USE_QUILT_FALSE}"; then
  as_fn_error $? "conditional \"USE_QUILT\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${RHEL_TRUE}" && test -z "${RHEL_FALSE}"; then
  as_fn_error $? "conditional \"RHEL\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${AZURELINUX_TRUE}" && test -z "${AZURELINUX_FALSE}"; then
  as_fn_error $? "conditional \"AZURELINUX\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${SUSE_TRUE}" && test -z "${SUSE_FALSE}"; then
  as_fn_error $? "conditional \"SUSE\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${UBUNTU_TRUE}" && test -z "${UBUNTU_FALSE}"; then
  as_fn_error $? "conditional \"UBUNTU\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${BUILD_LUTF_TRUE}" && test -z "${BUILD_LUTF_FALSE}"; then
  as_fn_error $? "conditional \"BUILD_LUTF\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${DEQUOTE_CC_VERSION_TEXT_TRUE}" && test -z "${DEQUOTE_CC_VERSION_TEXT_FALSE}"; then
  as_fn_error $? "conditional \"DEQUOTE_CC_VERSION_TEXT\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${EXTERNAL_KO2IBLND_TRUE}" && test -z "${EXTERNAL_KO2IBLND_FALSE}"; then
  as_fn_error $? "conditional \"EXTERNAL_KO2IBLND\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${BUILT_IN_KO2IBLND_TRUE}" && test -z "${BUILT_IN_KO2IBLND_FALSE}"; then
  as_fn_error $? "conditional \"BUILT_IN_KO2IBLND\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${BUILD_GNILND_TRUE}" && test -z "${BUILD_GNILND_FALSE}"; then
  as_fn_error $? "conditional \"BUILD_GNILND\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${BUILD_KFILND_TRUE}" && test -z "${BUILD_KFILND_FALSE}"; then
  as_fn_error $? "conditional \"BUILD_KFILND\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${MPITESTS_TRUE}" && test -z "${MPITESTS_FALSE}"; then
  as_fn_error $? "conditional \"MPITESTS\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${CLIENT_TRUE}" && test -z "${CLIENT_FALSE}"; then
  as_fn_error $? "conditional \"CLIENT\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${SERVER_TRUE}" && test -z "${SERVER_FALSE}"; then
  as_fn_error $? "conditional \"SERVER\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${SPLIT_TRUE}" && test -z "${SPLIT_FALSE}"; then
  as_fn_error $? "conditional \"SPLIT\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${EXT2FS_DEVEL_TRUE}" && test -z "${EXT2FS_DEVEL_FALSE}"; then
  as_fn_error $? "conditional \"EXT2FS_DEVEL\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${GSS_TRUE}" && test -z "${GSS_FALSE}"; then
  as_fn_error $? "conditional \"GSS\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${GSS_KEYRING_TRUE}" && test -z "${GSS_KEYRING_FALSE}"; then
  as_fn_error $? "conditional \"GSS_KEYRING\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${GSS_SSK_TRUE}" && test -z "${GSS_SSK_FALSE}"; then
  as_fn_error $? "conditional \"GSS_SSK\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${LIBPTHREAD_TRUE}" && test -z "${LIBPTHREAD_FALSE}"; then
  as_fn_error $? "conditional \"LIBPTHREAD\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${HAVE_SYSTEMD_TRUE}" && test -z "${HAVE_SYSTEMD_FALSE}"; then
  as_fn_error $? "conditional \"HAVE_SYSTEMD\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${ENABLE_BASH_COMPLETION_TRUE}" && test -z "${ENABLE_BASH_COMPLETION_FALSE}"; then
  as_fn_error $? "conditional \"ENABLE_BASH_COMPLETION\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${XATTR_HANDLER_TRUE}" && test -z "${XATTR_HANDLER_FALSE}"; then
  as_fn_error $? "conditional \"XATTR_HANDLER\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${SELINUX_TRUE}" && test -z "${SELINUX_FALSE}"; then
  as_fn_error $? "conditional \"SELINUX\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${GETSEPOL_TRUE}" && test -z "${GETSEPOL_FALSE}"; then
  as_fn_error $? "conditional \"GETSEPOL\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${LLCRYPT_TRUE}" && test -z "${LLCRYPT_FALSE}"; then
  as_fn_error $? "conditional \"LLCRYPT\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${LIBAIO_TRUE}" && test -z "${LIBAIO_FALSE}"; then
  as_fn_error $? "conditional \"LIBAIO\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${CC_PLUGINS_TRUE}" && test -z "${CC_PLUGINS_FALSE}"; then
  as_fn_error $? "conditional \"CC_PLUGINS\" 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
as_nop=:
if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1
then :
  emulate sh
  NULLCMD=:
  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else $as_nop
  case `(set -o) 2>/dev/null` in #(
  *posix*) :
    set -o posix ;; #(
  *) :
     ;;
esac
fi



# Reset variables that may have inherited troublesome values from
# the environment.

# IFS needs to be set, to space, tab, and newline, in precisely that order.
# (If _AS_PATH_WALK were called with IFS unset, it would have the
# side effect of setting IFS to empty, thus disabling word splitting.)
# Quoting is to prevent editors from complaining about space-tab.
as_nl='
'
export as_nl
IFS=" ""	$as_nl"

PS1='$ '
PS2='> '
PS4='+ '

# Ensure predictable behavior from utilities with locale-dependent output.
LC_ALL=C
export LC_ALL
LANGUAGE=C
export LANGUAGE

# We cannot yet rely on "unset" to work, but we need these variables
# to be unset--not just set to an empty or harmless value--now, to
# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh).  This construct
# also avoids known problems related to "unset" and subshell syntax
# in other old shells (e.g. bash 2.01 and pdksh 5.2.14).
for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH
do eval test \${$as_var+y} \
  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
done

# Ensure that fds 0, 1, and 2 are open.
if (exec 3>&0) 2>/dev/null; then :; else exec 0</dev/null; fi
if (exec 3>&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 $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 $? to STATUS, without forking.
as_fn_set_status ()
{
  return $1
} # as_fn_set_status

# as_fn_exit STATUS
# -----------------
# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
as_fn_exit ()
{
  set +e
  as_fn_set_status $1
  exit $1
} # as_fn_exit

# as_fn_unset VAR
# ---------------
# Portably unset VAR.
as_fn_unset ()
{
  { eval $1=; unset $1;}
}
as_unset=as_fn_unset

# as_fn_append VAR VALUE
# ----------------------
# Append the text in VALUE to the end of the definition contained in VAR. Take
# advantage of any shell optimizations that allow amortized linear growth over
# repeated appends, instead of the typical quadratic growth present in naive
# implementations.
if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null
then :
  eval 'as_fn_append ()
  {
    eval $1+=\$2
  }'
else $as_nop
  as_fn_append ()
  {
    eval $1=\$$1\$2
  }
fi # as_fn_append

# as_fn_arith ARG...
# ------------------
# Perform arithmetic evaluation on the ARGs, and store the result in the
# global $as_val. Take advantage of shells that can avoid forks. The arguments
# must be portable across $(()) and expr.
if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null
then :
  eval 'as_fn_arith ()
  {
    as_val=$(( $* ))
  }'
else $as_nop
  as_fn_arith ()
  {
    as_val=`expr "$@" || test $? -eq 1`
  }
fi # as_fn_arith


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_echo='printf %s\n'
as_echo_n='printf %s'

rm -f conf$$ conf$$.exe conf$$.file
if test -d conf$$.dir; then
  rm -f conf$$.dir/conf$$.file
else
  rm -f conf$$.dir
  mkdir conf$$.dir 2>/dev/null
fi
if (echo >conf$$.file) 2>/dev/null; then
  if ln -s conf$$.file conf$$ 2>/dev/null; then
    as_ln_s='ln -s'
    # ... but there are two gotchas:
    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
    # In both cases, we have to default to `cp -pR'.
    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
      as_ln_s='cp -pR'
  elif ln conf$$.file conf$$ 2>/dev/null; then
    as_ln_s=ln
  else
    as_ln_s='cp -pR'
  fi
else
  as_ln_s='cp -pR'
fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null


# as_fn_mkdir_p
# -------------
# Create "$as_dir" as a directory, including parents if necessary.
as_fn_mkdir_p ()
{

  case $as_dir in #(
  -*) as_dir=./$as_dir;;
  esac
  test -d "$as_dir" || eval $as_mkdir_p || {
    as_dirs=
    while :; do
      case $as_dir in #(
      *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
      *) as_qdir=$as_dir;;
      esac
      as_dirs="'$as_qdir' $as_dirs"
      as_dir=`$as_dirname -- "$as_dir" ||
$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
	 X"$as_dir" : 'X\(//\)[^/]' \| \
	 X"$as_dir" : 'X\(//\)$' \| \
	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
printf "%s\n" X"$as_dir" |
    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)[^/].*/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\).*/{
	    s//\1/
	    q
	  }
	  s/.*/./; q'`
      test -d "$as_dir" && break
    done
    test -z "$as_dirs" || eval "mkdir $as_dirs"
  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"


} # as_fn_mkdir_p
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_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"

# Sed expression to map a string onto a valid variable name.
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"


exec 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 Lustre $as_me 2.16.1_22_g584eedc, which was
generated by GNU Autoconf 2.71.  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_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 commands:
$config_commands

Report bugs to <https://jira.whamcloud.com/>."

_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="\\
Lustre config.status 2.16.1_22_g584eedc
configured by $0, generated by GNU Autoconf 2.71,
  with options \\"\$ac_cs_config\\"

Copyright (C) 2021 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'
macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
enable_static='`$ECHO "$enable_static" | $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"`'
NM='`$ECHO "$NM" | $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"`'
reload_flag_CXX='`$ECHO "$reload_flag_CXX" | $SED "$delay_single_quote_subst"`'
reload_cmds_CXX='`$ECHO "$reload_cmds_CXX" | $SED "$delay_single_quote_subst"`'
old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote_subst"`'
compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`'
GCC_CXX='`$ECHO "$GCC_CXX" | $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_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`'
lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`'
lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $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"`'
archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`'
enable_shared_with_static_runtimes_CXX='`$ECHO "$enable_shared_with_static_runtimes_CXX" | $SED "$delay_single_quote_subst"`'
export_dynamic_flag_spec_CXX='`$ECHO "$export_dynamic_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
whole_archive_flag_spec_CXX='`$ECHO "$whole_archive_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
compiler_needs_object_CXX='`$ECHO "$compiler_needs_object_CXX" | $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_expsyms_cmds_CXX='`$ECHO "$old_archive_from_expsyms_cmds_CXX" | $SED "$delay_single_quote_subst"`'
archive_cmds_CXX='`$ECHO "$archive_cmds_CXX" | $SED "$delay_single_quote_subst"`'
archive_expsym_cmds_CXX='`$ECHO "$archive_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`'
module_cmds_CXX='`$ECHO "$module_cmds_CXX" | $SED "$delay_single_quote_subst"`'
module_expsym_cmds_CXX='`$ECHO "$module_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`'
with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`'
allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`'
no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`'
hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`'
hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`'
hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`'
hardcode_minus_L_CXX='`$ECHO "$hardcode_minus_L_CXX" | $SED "$delay_single_quote_subst"`'
hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_single_quote_subst"`'
hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`'
inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`'
link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`'
always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`'
export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`'
exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`'
include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`'
prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`'
postlink_cmds_CXX='`$ECHO "$postlink_cmds_CXX" | $SED "$delay_single_quote_subst"`'
file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`'
hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`'
compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`'
predep_objects_CXX='`$ECHO "$predep_objects_CXX" | $SED "$delay_single_quote_subst"`'
postdep_objects_CXX='`$ECHO "$postdep_objects_CXX" | $SED "$delay_single_quote_subst"`'
predeps_CXX='`$ECHO "$predeps_CXX" | $SED "$delay_single_quote_subst"`'
postdeps_CXX='`$ECHO "$postdeps_CXX" | $SED "$delay_single_quote_subst"`'
compiler_lib_search_path_CXX='`$ECHO "$compiler_lib_search_path_CXX" | $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 SHELL \
ECHO \
PATH_SEPARATOR \
SED \
GREP \
EGREP \
FGREP \
LD \
NM \
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 \
reload_flag_CXX \
compiler_CXX \
lt_prog_compiler_no_builtin_flag_CXX \
lt_prog_compiler_pic_CXX \
lt_prog_compiler_wl_CXX \
lt_prog_compiler_static_CXX \
lt_cv_prog_compiler_c_o_CXX \
export_dynamic_flag_spec_CXX \
whole_archive_flag_spec_CXX \
compiler_needs_object_CXX \
with_gnu_ld_CXX \
allow_undefined_flag_CXX \
no_undefined_flag_CXX \
hardcode_libdir_flag_spec_CXX \
hardcode_libdir_separator_CXX \
exclude_expsyms_CXX \
include_expsyms_CXX \
file_list_spec_CXX \
compiler_lib_search_dirs_CXX \
predep_objects_CXX \
postdep_objects_CXX \
predeps_CXX \
postdeps_CXX \
compiler_lib_search_path_CXX; 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 \
old_archive_cmds_CXX \
old_archive_from_new_cmds_CXX \
old_archive_from_expsyms_cmds_CXX \
archive_cmds_CXX \
archive_expsym_cmds_CXX \
module_cmds_CXX \
module_expsym_cmds_CXX \
export_symbols_cmds_CXX \
prelink_cmds_CXX \
postlink_cmds_CXX; 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'






_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
    "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
    "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
    "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
    "libcfs/Makefile") CONFIG_FILES="$CONFIG_FILES libcfs/Makefile" ;;
    "libcfs/autoMakefile") CONFIG_FILES="$CONFIG_FILES libcfs/autoMakefile" ;;
    "libcfs/autoconf/Makefile") CONFIG_FILES="$CONFIG_FILES libcfs/autoconf/Makefile" ;;
    "libcfs/include/Makefile") CONFIG_FILES="$CONFIG_FILES libcfs/include/Makefile" ;;
    "libcfs/include/libcfs/Makefile") CONFIG_FILES="$CONFIG_FILES libcfs/include/libcfs/Makefile" ;;
    "libcfs/include/uapi/Makefile") CONFIG_FILES="$CONFIG_FILES libcfs/include/uapi/Makefile" ;;
    "libcfs/include/libcfs/linux/Makefile") CONFIG_FILES="$CONFIG_FILES libcfs/include/libcfs/linux/Makefile" ;;
    "libcfs/include/libcfs/util/Makefile") CONFIG_FILES="$CONFIG_FILES libcfs/include/libcfs/util/Makefile" ;;
    "libcfs/include/libcfs/crypto/Makefile") CONFIG_FILES="$CONFIG_FILES libcfs/include/libcfs/crypto/Makefile" ;;
    "libcfs/include/uapi/linux/Makefile") CONFIG_FILES="$CONFIG_FILES libcfs/include/uapi/linux/Makefile" ;;
    "libcfs/libcfs/Makefile") CONFIG_FILES="$CONFIG_FILES libcfs/libcfs/Makefile" ;;
    "libcfs/libcfs/autoMakefile") CONFIG_FILES="$CONFIG_FILES libcfs/libcfs/autoMakefile" ;;
    "libcfs/libcfs/linux/Makefile") CONFIG_FILES="$CONFIG_FILES libcfs/libcfs/linux/Makefile" ;;
    "libcfs/libcfs/util/Makefile") CONFIG_FILES="$CONFIG_FILES libcfs/libcfs/util/Makefile" ;;
    "libcfs/libcfs/crypto/Makefile") CONFIG_FILES="$CONFIG_FILES libcfs/libcfs/crypto/Makefile" ;;
    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
    "autoMakefile") CONFIG_FILES="$CONFIG_FILES autoMakefile" ;;
    "config/Makefile") CONFIG_FILES="$CONFIG_FILES config/Makefile" ;;
    "Rules") CONFIG_FILES="$CONFIG_FILES Rules:build/Rules.in" ;;
    "lustre.spec") CONFIG_FILES="$CONFIG_FILES lustre.spec" ;;
    "lustre-dkms.spec") CONFIG_FILES="$CONFIG_FILES lustre-dkms.spec" ;;
    "ldiskfs/Makefile") CONFIG_FILES="$CONFIG_FILES ldiskfs/Makefile" ;;
    "ldiskfs/autoMakefile") CONFIG_FILES="$CONFIG_FILES ldiskfs/autoMakefile" ;;
    "lnet/utils/lnet.pc") CONFIG_FILES="$CONFIG_FILES lnet/utils/lnet.pc" ;;
    "lustre/utils/lustre.pc") CONFIG_FILES="$CONFIG_FILES lustre/utils/lustre.pc" ;;
    "lustre-iokit/Makefile") CONFIG_FILES="$CONFIG_FILES lustre-iokit/Makefile" ;;
    "lustre-iokit/obdfilter-survey/Makefile") CONFIG_FILES="$CONFIG_FILES lustre-iokit/obdfilter-survey/Makefile" ;;
    "lustre-iokit/ost-survey/Makefile") CONFIG_FILES="$CONFIG_FILES lustre-iokit/ost-survey/Makefile" ;;
    "lustre-iokit/sgpdd-survey/Makefile") CONFIG_FILES="$CONFIG_FILES lustre-iokit/sgpdd-survey/Makefile" ;;
    "lustre-iokit/mds-survey/Makefile") CONFIG_FILES="$CONFIG_FILES lustre-iokit/mds-survey/Makefile" ;;
    "lustre-iokit/ior-survey/Makefile") CONFIG_FILES="$CONFIG_FILES lustre-iokit/ior-survey/Makefile" ;;
    "lustre-iokit/stats-collect/Makefile") CONFIG_FILES="$CONFIG_FILES lustre-iokit/stats-collect/Makefile" ;;
    "lustre-iokit/lst-survey/Makefile") CONFIG_FILES="$CONFIG_FILES lustre-iokit/lst-survey/Makefile" ;;
    "lnet/Makefile") CONFIG_FILES="$CONFIG_FILES lnet/Makefile" ;;
    "lnet/autoMakefile") CONFIG_FILES="$CONFIG_FILES lnet/autoMakefile" ;;
    "lnet/autoconf/Makefile") CONFIG_FILES="$CONFIG_FILES lnet/autoconf/Makefile" ;;
    "lnet/doc/Makefile") CONFIG_FILES="$CONFIG_FILES lnet/doc/Makefile" ;;
    "lnet/include/Makefile") CONFIG_FILES="$CONFIG_FILES lnet/include/Makefile" ;;
    "lnet/include/lnet/Makefile") CONFIG_FILES="$CONFIG_FILES lnet/include/lnet/Makefile" ;;
    "lnet/include/uapi/linux/lnet/Makefile") CONFIG_FILES="$CONFIG_FILES lnet/include/uapi/linux/lnet/Makefile" ;;
    "lnet/klnds/Makefile") CONFIG_FILES="$CONFIG_FILES lnet/klnds/Makefile" ;;
    "lnet/klnds/autoMakefile") CONFIG_FILES="$CONFIG_FILES lnet/klnds/autoMakefile" ;;
    "lnet/klnds/o2iblnd/Makefile") CONFIG_FILES="$CONFIG_FILES lnet/klnds/o2iblnd/Makefile" ;;
    "lnet/klnds/o2iblnd/autoMakefile") CONFIG_FILES="$CONFIG_FILES lnet/klnds/o2iblnd/autoMakefile" ;;
    "lnet/klnds/in-kernel-o2iblnd/Makefile") CONFIG_FILES="$CONFIG_FILES lnet/klnds/in-kernel-o2iblnd/Makefile" ;;
    "lnet/klnds/in-kernel-o2iblnd/autoMakefile") CONFIG_FILES="$CONFIG_FILES lnet/klnds/in-kernel-o2iblnd/autoMakefile" ;;
    "lnet/klnds/gnilnd/Makefile") CONFIG_FILES="$CONFIG_FILES lnet/klnds/gnilnd/Makefile" ;;
    "lnet/klnds/gnilnd/autoMakefile") CONFIG_FILES="$CONFIG_FILES lnet/klnds/gnilnd/autoMakefile" ;;
    "lnet/klnds/socklnd/Makefile") CONFIG_FILES="$CONFIG_FILES lnet/klnds/socklnd/Makefile" ;;
    "lnet/klnds/socklnd/autoMakefile") CONFIG_FILES="$CONFIG_FILES lnet/klnds/socklnd/autoMakefile" ;;
    "lnet/klnds/kfilnd/Makefile") CONFIG_FILES="$CONFIG_FILES lnet/klnds/kfilnd/Makefile" ;;
    "lnet/klnds/kfilnd/autoMakefile") CONFIG_FILES="$CONFIG_FILES lnet/klnds/kfilnd/autoMakefile" ;;
    "lnet/lnet/Makefile") CONFIG_FILES="$CONFIG_FILES lnet/lnet/Makefile" ;;
    "lnet/lnet/autoMakefile") CONFIG_FILES="$CONFIG_FILES lnet/lnet/autoMakefile" ;;
    "lnet/selftest/Makefile") CONFIG_FILES="$CONFIG_FILES lnet/selftest/Makefile" ;;
    "lnet/selftest/autoMakefile") CONFIG_FILES="$CONFIG_FILES lnet/selftest/autoMakefile" ;;
    "lnet/utils/Makefile") CONFIG_FILES="$CONFIG_FILES lnet/utils/Makefile" ;;
    "lnet/utils/lnetconfig/Makefile") CONFIG_FILES="$CONFIG_FILES lnet/utils/lnetconfig/Makefile" ;;
    "lustre/Makefile") CONFIG_FILES="$CONFIG_FILES lustre/Makefile" ;;
    "lustre/autoMakefile") CONFIG_FILES="$CONFIG_FILES lustre/autoMakefile" ;;
    "lustre/autoconf/Makefile") CONFIG_FILES="$CONFIG_FILES lustre/autoconf/Makefile" ;;
    "lustre/conf/Makefile") CONFIG_FILES="$CONFIG_FILES lustre/conf/Makefile" ;;
    "lustre/conf/resource/Makefile") CONFIG_FILES="$CONFIG_FILES lustre/conf/resource/Makefile" ;;
    "lustre/doc/Makefile") CONFIG_FILES="$CONFIG_FILES lustre/doc/Makefile" ;;
    "lustre/include/Makefile") CONFIG_FILES="$CONFIG_FILES lustre/include/Makefile" ;;
    "lustre/include/lustre/Makefile") CONFIG_FILES="$CONFIG_FILES lustre/include/lustre/Makefile" ;;
    "lustre/include/uapi/linux/lustre/Makefile") CONFIG_FILES="$CONFIG_FILES lustre/include/uapi/linux/lustre/Makefile" ;;
    "lustre/kernel_patches/targets/5.14-rhel9.4.target") CONFIG_FILES="$CONFIG_FILES lustre/kernel_patches/targets/5.14-rhel9.4.target" ;;
    "lustre/kernel_patches/targets/5.14-rhel9.3.target") CONFIG_FILES="$CONFIG_FILES lustre/kernel_patches/targets/5.14-rhel9.3.target" ;;
    "lustre/kernel_patches/targets/5.14-rhel9.2.target") CONFIG_FILES="$CONFIG_FILES lustre/kernel_patches/targets/5.14-rhel9.2.target" ;;
    "lustre/kernel_patches/targets/5.14-rhel9.1.target") CONFIG_FILES="$CONFIG_FILES lustre/kernel_patches/targets/5.14-rhel9.1.target" ;;
    "lustre/kernel_patches/targets/5.14-rhel9.0.target") CONFIG_FILES="$CONFIG_FILES lustre/kernel_patches/targets/5.14-rhel9.0.target" ;;
    "lustre/kernel_patches/targets/4.18-rhel8.10.target") CONFIG_FILES="$CONFIG_FILES lustre/kernel_patches/targets/4.18-rhel8.10.target" ;;
    "lustre/kernel_patches/targets/4.18-rhel8.9.target") CONFIG_FILES="$CONFIG_FILES lustre/kernel_patches/targets/4.18-rhel8.9.target" ;;
    "lustre/kernel_patches/targets/4.18-rhel8.8.target") CONFIG_FILES="$CONFIG_FILES lustre/kernel_patches/targets/4.18-rhel8.8.target" ;;
    "lustre/kernel_patches/targets/4.18-rhel8.7.target") CONFIG_FILES="$CONFIG_FILES lustre/kernel_patches/targets/4.18-rhel8.7.target" ;;
    "lustre/kernel_patches/targets/4.18-rhel8.6.target") CONFIG_FILES="$CONFIG_FILES lustre/kernel_patches/targets/4.18-rhel8.6.target" ;;
    "lustre/kernel_patches/targets/4.18-rhel8.5.target") CONFIG_FILES="$CONFIG_FILES lustre/kernel_patches/targets/4.18-rhel8.5.target" ;;
    "lustre/kernel_patches/targets/4.18-rhel8.4.target") CONFIG_FILES="$CONFIG_FILES lustre/kernel_patches/targets/4.18-rhel8.4.target" ;;
    "lustre/kernel_patches/targets/4.18-rhel8.3.target") CONFIG_FILES="$CONFIG_FILES lustre/kernel_patches/targets/4.18-rhel8.3.target" ;;
    "lustre/kernel_patches/targets/4.18-rhel8.2.target") CONFIG_FILES="$CONFIG_FILES lustre/kernel_patches/targets/4.18-rhel8.2.target" ;;
    "lustre/kernel_patches/targets/4.18-rhel8.1.target") CONFIG_FILES="$CONFIG_FILES lustre/kernel_patches/targets/4.18-rhel8.1.target" ;;
    "lustre/kernel_patches/targets/4.18-rhel8.target") CONFIG_FILES="$CONFIG_FILES lustre/kernel_patches/targets/4.18-rhel8.target" ;;
    "lustre/kernel_patches/targets/3.10-rhel7.9.target") CONFIG_FILES="$CONFIG_FILES lustre/kernel_patches/targets/3.10-rhel7.9.target" ;;
    "lustre/kernel_patches/targets/3.10-rhel7.8.target") CONFIG_FILES="$CONFIG_FILES lustre/kernel_patches/targets/3.10-rhel7.8.target" ;;
    "lustre/kernel_patches/targets/3.10-rhel7.7.target") CONFIG_FILES="$CONFIG_FILES lustre/kernel_patches/targets/3.10-rhel7.7.target" ;;
    "lustre/kernel_patches/targets/3.10-rhel7.6.target") CONFIG_FILES="$CONFIG_FILES lustre/kernel_patches/targets/3.10-rhel7.6.target" ;;
    "lustre/kernel_patches/targets/3.10-rhel7.5.target") CONFIG_FILES="$CONFIG_FILES lustre/kernel_patches/targets/3.10-rhel7.5.target" ;;
    "lustre/kernel_patches/targets/4.14-rhel7.5.target") CONFIG_FILES="$CONFIG_FILES lustre/kernel_patches/targets/4.14-rhel7.5.target" ;;
    "lustre/kernel_patches/targets/4.14-rhel7.6.target") CONFIG_FILES="$CONFIG_FILES lustre/kernel_patches/targets/4.14-rhel7.6.target" ;;
    "lustre/kernel_patches/targets/4.12-sles12sp4.target") CONFIG_FILES="$CONFIG_FILES lustre/kernel_patches/targets/4.12-sles12sp4.target" ;;
    "lustre/kernel_patches/targets/4.12-sles12sp5.target") CONFIG_FILES="$CONFIG_FILES lustre/kernel_patches/targets/4.12-sles12sp5.target" ;;
    "lustre/kernel_patches/targets/4.12-sles15sp1.target") CONFIG_FILES="$CONFIG_FILES lustre/kernel_patches/targets/4.12-sles15sp1.target" ;;
    "lustre/kernel_patches/targets/5.3-sles15sp2.target") CONFIG_FILES="$CONFIG_FILES lustre/kernel_patches/targets/5.3-sles15sp2.target" ;;
    "lustre/kernel_patches/targets/5.3-sles15sp3.target") CONFIG_FILES="$CONFIG_FILES lustre/kernel_patches/targets/5.3-sles15sp3.target" ;;
    "lustre/kernel_patches/targets/5.14-sles15sp4.target") CONFIG_FILES="$CONFIG_FILES lustre/kernel_patches/targets/5.14-sles15sp4.target" ;;
    "lustre/kernel_patches/targets/5.14-sles15sp5.target") CONFIG_FILES="$CONFIG_FILES lustre/kernel_patches/targets/5.14-sles15sp5.target" ;;
    "lustre/kernel_patches/targets/6.4-sles15sp6.target") CONFIG_FILES="$CONFIG_FILES lustre/kernel_patches/targets/6.4-sles15sp6.target" ;;
    "lustre/kernel_patches/targets/3.x-fc18.target") CONFIG_FILES="$CONFIG_FILES lustre/kernel_patches/targets/3.x-fc18.target" ;;
    "lustre/kernel_patches/targets/5.10-oe2203.target") CONFIG_FILES="$CONFIG_FILES lustre/kernel_patches/targets/5.10-oe2203.target" ;;
    "lustre/kernel_patches/targets/5.10-oe2203sp1.target") CONFIG_FILES="$CONFIG_FILES lustre/kernel_patches/targets/5.10-oe2203sp1.target" ;;
    "lustre/kernel_patches/targets/5.10-oe2203sp2.target") CONFIG_FILES="$CONFIG_FILES lustre/kernel_patches/targets/5.10-oe2203sp2.target" ;;
    "lustre/kernel_patches/targets/6.6-azurelinux3.target") CONFIG_FILES="$CONFIG_FILES lustre/kernel_patches/targets/6.6-azurelinux3.target" ;;
    "lustre/ldlm/Makefile") CONFIG_FILES="$CONFIG_FILES lustre/ldlm/Makefile" ;;
    "lustre/ldlm/autoMakefile") CONFIG_FILES="$CONFIG_FILES lustre/ldlm/autoMakefile" ;;
    "lustre/ec/autoMakefile") CONFIG_FILES="$CONFIG_FILES lustre/ec/autoMakefile" ;;
    "lustre/ec/Makefile") CONFIG_FILES="$CONFIG_FILES lustre/ec/Makefile" ;;
    "lustre/fid/Makefile") CONFIG_FILES="$CONFIG_FILES lustre/fid/Makefile" ;;
    "lustre/fid/autoMakefile") CONFIG_FILES="$CONFIG_FILES lustre/fid/autoMakefile" ;;
    "lustre/llite/Makefile") CONFIG_FILES="$CONFIG_FILES lustre/llite/Makefile" ;;
    "lustre/llite/autoMakefile") CONFIG_FILES="$CONFIG_FILES lustre/llite/autoMakefile" ;;
    "lustre/lov/Makefile") CONFIG_FILES="$CONFIG_FILES lustre/lov/Makefile" ;;
    "lustre/lov/autoMakefile") CONFIG_FILES="$CONFIG_FILES lustre/lov/autoMakefile" ;;
    "lustre/mdc/Makefile") CONFIG_FILES="$CONFIG_FILES lustre/mdc/Makefile" ;;
    "lustre/mdc/autoMakefile") CONFIG_FILES="$CONFIG_FILES lustre/mdc/autoMakefile" ;;
    "lustre/lmv/Makefile") CONFIG_FILES="$CONFIG_FILES lustre/lmv/Makefile" ;;
    "lustre/lmv/autoMakefile") CONFIG_FILES="$CONFIG_FILES lustre/lmv/autoMakefile" ;;
    "lustre/lfsck/Makefile") CONFIG_FILES="$CONFIG_FILES lustre/lfsck/Makefile" ;;
    "lustre/lfsck/autoMakefile") CONFIG_FILES="$CONFIG_FILES lustre/lfsck/autoMakefile" ;;
    "lustre/mdt/Makefile") CONFIG_FILES="$CONFIG_FILES lustre/mdt/Makefile" ;;
    "lustre/mdt/autoMakefile") CONFIG_FILES="$CONFIG_FILES lustre/mdt/autoMakefile" ;;
    "lustre/mdd/Makefile") CONFIG_FILES="$CONFIG_FILES lustre/mdd/Makefile" ;;
    "lustre/mdd/autoMakefile") CONFIG_FILES="$CONFIG_FILES lustre/mdd/autoMakefile" ;;
    "lustre/fld/Makefile") CONFIG_FILES="$CONFIG_FILES lustre/fld/Makefile" ;;
    "lustre/fld/autoMakefile") CONFIG_FILES="$CONFIG_FILES lustre/fld/autoMakefile" ;;
    "lustre/obdclass/Makefile") CONFIG_FILES="$CONFIG_FILES lustre/obdclass/Makefile" ;;
    "lustre/obdclass/autoMakefile") CONFIG_FILES="$CONFIG_FILES lustre/obdclass/autoMakefile" ;;
    "lustre/obdecho/Makefile") CONFIG_FILES="$CONFIG_FILES lustre/obdecho/Makefile" ;;
    "lustre/obdecho/autoMakefile") CONFIG_FILES="$CONFIG_FILES lustre/obdecho/autoMakefile" ;;
    "lustre/ofd/Makefile") CONFIG_FILES="$CONFIG_FILES lustre/ofd/Makefile" ;;
    "lustre/ofd/autoMakefile") CONFIG_FILES="$CONFIG_FILES lustre/ofd/autoMakefile" ;;
    "lustre/osc/Makefile") CONFIG_FILES="$CONFIG_FILES lustre/osc/Makefile" ;;
    "lustre/osc/autoMakefile") CONFIG_FILES="$CONFIG_FILES lustre/osc/autoMakefile" ;;
    "lustre/ost/Makefile") CONFIG_FILES="$CONFIG_FILES lustre/ost/Makefile" ;;
    "lustre/ost/autoMakefile") CONFIG_FILES="$CONFIG_FILES lustre/ost/autoMakefile" ;;
    "lustre/osd-ldiskfs/Makefile") CONFIG_FILES="$CONFIG_FILES lustre/osd-ldiskfs/Makefile" ;;
    "lustre/osd-ldiskfs/autoMakefile") CONFIG_FILES="$CONFIG_FILES lustre/osd-ldiskfs/autoMakefile" ;;
    "lustre/osd-zfs/Makefile") CONFIG_FILES="$CONFIG_FILES lustre/osd-zfs/Makefile" ;;
    "lustre/osd-zfs/autoMakefile") CONFIG_FILES="$CONFIG_FILES lustre/osd-zfs/autoMakefile" ;;
    "lustre/mgc/Makefile") CONFIG_FILES="$CONFIG_FILES lustre/mgc/Makefile" ;;
    "lustre/mgc/autoMakefile") CONFIG_FILES="$CONFIG_FILES lustre/mgc/autoMakefile" ;;
    "lustre/mgs/Makefile") CONFIG_FILES="$CONFIG_FILES lustre/mgs/Makefile" ;;
    "lustre/mgs/autoMakefile") CONFIG_FILES="$CONFIG_FILES lustre/mgs/autoMakefile" ;;
    "lustre/target/Makefile") CONFIG_FILES="$CONFIG_FILES lustre/target/Makefile" ;;
    "lustre/target/autoMakefile") CONFIG_FILES="$CONFIG_FILES lustre/target/autoMakefile" ;;
    "lustre/ptlrpc/Makefile") CONFIG_FILES="$CONFIG_FILES lustre/ptlrpc/Makefile" ;;
    "lustre/ptlrpc/autoMakefile") CONFIG_FILES="$CONFIG_FILES lustre/ptlrpc/autoMakefile" ;;
    "lustre/ptlrpc/gss/Makefile") CONFIG_FILES="$CONFIG_FILES lustre/ptlrpc/gss/Makefile" ;;
    "lustre/ptlrpc/gss/autoMakefile") CONFIG_FILES="$CONFIG_FILES lustre/ptlrpc/gss/autoMakefile" ;;
    "lustre/quota/Makefile") CONFIG_FILES="$CONFIG_FILES lustre/quota/Makefile" ;;
    "lustre/quota/autoMakefile") CONFIG_FILES="$CONFIG_FILES lustre/quota/autoMakefile" ;;
    "lustre/scripts/Makefile") CONFIG_FILES="$CONFIG_FILES lustre/scripts/Makefile" ;;
    "lustre/scripts/systemd/Makefile") CONFIG_FILES="$CONFIG_FILES lustre/scripts/systemd/Makefile" ;;
    "lustre/tests/Makefile") CONFIG_FILES="$CONFIG_FILES lustre/tests/Makefile" ;;
    "lustre/tests/mpi/Makefile") CONFIG_FILES="$CONFIG_FILES lustre/tests/mpi/Makefile" ;;
    "lustre/tests/iabf/Makefile") CONFIG_FILES="$CONFIG_FILES lustre/tests/iabf/Makefile" ;;
    "lustre/tests/lutf/Makefile") CONFIG_FILES="$CONFIG_FILES lustre/tests/lutf/Makefile" ;;
    "lustre/tests/lutf/src/Makefile") CONFIG_FILES="$CONFIG_FILES lustre/tests/lutf/src/Makefile" ;;
    "lustre/kunit/Makefile") CONFIG_FILES="$CONFIG_FILES lustre/kunit/Makefile" ;;
    "lustre/kunit/autoMakefile") CONFIG_FILES="$CONFIG_FILES lustre/kunit/autoMakefile" ;;
    "lustre/utils/Makefile") CONFIG_FILES="$CONFIG_FILES lustre/utils/Makefile" ;;
    "lustre/utils/gss/Makefile") CONFIG_FILES="$CONFIG_FILES lustre/utils/gss/Makefile" ;;
    "lustre/osp/Makefile") CONFIG_FILES="$CONFIG_FILES lustre/osp/Makefile" ;;
    "lustre/osp/autoMakefile") CONFIG_FILES="$CONFIG_FILES lustre/osp/autoMakefile" ;;
    "lustre/lod/Makefile") CONFIG_FILES="$CONFIG_FILES lustre/lod/Makefile" ;;
    "lustre/lod/autoMakefile") CONFIG_FILES="$CONFIG_FILES lustre/lod/autoMakefile" ;;
    "cc-plugins/Makefile") CONFIG_FILES="$CONFIG_FILES cc-plugins/Makefile" ;;

  *) 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_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 2>/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
' <conf$$subs.awk | sed '
/^[^""]/{
  N
  s/\n//
}
' >>$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
' <confdefs.h | sed '
s/'"$ac_delim"'/"\\\
"/g' >>$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    :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
 ;;

  :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
}
 ;;
    "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 <http://www.gnu.org/licenses/>.


# The names of the tagged configurations supported by this script.
available_tags='CXX '

# Configured defaults for sys_lib_dlsearch_path munging.
: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}

# ### BEGIN LIBTOOL CONFIG

# Which release of libtool.m4 was used?
macro_version=$macro_version
macro_revision=$macro_revision

# Whether or not to build shared libraries.
build_libtool_libs=$enable_shared

# Whether or not to build static libraries.
build_old_libs=$enable_static

# 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

# A BSD- or MS-compatible name lister.
NM=$lt_NM

# 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=\${ARFLAGS-"\$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$2 in
    x)
        ;;
    *:)
        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\"
        ;;
    x:*)
        eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"
        ;;
    *::*)
        eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
        eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"
        ;;
    *)
        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"
        ;;
    esac
}


# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
func_cc_basename ()
{
    for cc_temp in $*""; 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

 ;;

  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 <<_ACEOF

CC:            $CC
CFLAGS:        $CFLAGS
EXTRA_CFLAGS:  $EXTRA_CFLAGS

EXTRA_KCFLAGS: $EXTRA_KCFLAGS

LD:            $LD

CXX:           $CXX
CPPFLAGS:      $CPPFLAGS

Type 'make' to build Lustre.
_ACEOF


