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

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


as_nl='
'
export as_nl
# Printing a long string crashes Solaris 7 /usr/bin/printf.
as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
# Prefer a ksh shell builtin over an external printf program on Solaris,
# but without wasting forks for bash or zsh.
if test -z "$BASH_VERSION$ZSH_VERSION" \
    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
  as_echo='print -r --'
  as_echo_n='print -rn --'
elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
  as_echo='printf %s\n'
  as_echo_n='printf %s'
else
  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
    as_echo_n='/usr/ucb/echo -n'
  else
    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
    as_echo_n_body='eval
      arg=$1;
      case $arg in #(
      *"$as_nl"*)
	expr "X$arg" : "X\\(.*\\)$as_nl";
	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
      esac;
      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
    '
    export as_echo_n_body
    as_echo_n='sh -c $as_echo_n_body as_echo'
  fi
  export as_echo_body
  as_echo='sh -c $as_echo_body as_echo'
fi

# The user is always right.
if test "${PATH_SEPARATOR+set}" != set; 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


# IFS
# We need space, tab and new line, in precisely that order.  Quoting is
# there to prevent editors from complaining about space-tab.
# (If _AS_PATH_WALK were called with IFS unset, it would disable word
# splitting by setting IFS to empty value.)
IFS=" ""	$as_nl"

# 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
  test -z "$as_dir" && as_dir=.
    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
  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
  exit 1
fi

# Unset variables that we do not need and which cause bugs (e.g. in
# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
# suppresses any "Segmentation fault" message there.  '((' could
# trigger a bug in pdksh 5.2.14.
for as_var in BASH_ENV ENV MAIL MAILPATH
do eval test x\${$as_var+set} = xset \
  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
done
PS1='$ '
PS2='> '
PS4='+ '

# NLS nuisances.
LC_ALL=C
export LC_ALL
LANGUAGE=C
export LANGUAGE

# CDPATH.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH

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

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

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

  test -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
test \$(( 1 + 1 )) = 2 || exit 1"
  if (eval "$as_required") 2>/dev/null; then :
  as_have_required=yes
else
  as_have_required=no
fi
  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :

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


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

    if test x$as_have_required = xno; then :
  $as_echo "$0: This script requires a shell more modern than all"
  $as_echo "$0: the shells that I found on your system."
  if test x${ZSH_VERSION+set} = xset ; then
    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
  else
    $as_echo "$0: Please tell bug-autoconf@gnu.org and
$0: https://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_mkdir_p
# -------------
# Create "$as_dir" as a directory, including parents if necessary.
as_fn_mkdir_p ()
{

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


} # as_fn_mkdir_p

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

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


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

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 ||
$as_echo 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" ||
    { $as_echo "$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
}

ECHO_C= ECHO_N= ECHO_T=
case `echo -n x` in #(((((
-n*)
  case `echo 'xy\c'` in
  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
  xy)  ECHO_C='\c';;
  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
       ECHO_T='	';;
  esac;;
*)
  ECHO_N='-n';;
esac

rm -f conf$$ conf$$.exe conf$$.file
if test -d conf$$.dir; then
  rm -f conf$$.dir/conf$$.file
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.15.8_34_gc0f2040'
PACKAGE_STRING='Lustre 2.15.8_34_gc0f2040'
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 <stdio.h>
#ifdef HAVE_SYS_TYPES_H
# include <sys/types.h>
#endif
#ifdef HAVE_SYS_STAT_H
# include <sys/stat.h>
#endif
#ifdef STDC_HEADERS
# include <stdlib.h>
# include <stddef.h>
#else
# ifdef HAVE_STDLIB_H
#  include <stdlib.h>
# endif
#endif
#ifdef HAVE_STRING_H
# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
#  include <memory.h>
# endif
# include <string.h>
#endif
#ifdef HAVE_STRINGS_H
# include <strings.h>
#endif
#ifdef HAVE_INTTYPES_H
# include <inttypes.h>
#endif
#ifdef HAVE_STDINT_H
# include <stdint.h>
#endif
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif"

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
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_PIPEFS_FALSE
GSS_PIPEFS_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_GNILND_FALSE
BUILD_GNILND_TRUE
BUILD_O2IBLND_FALSE
BUILD_O2IBLND_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
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
mibdir
agentdir
NET_SNMP_LIBS
NET_SNMP_CFLAGS
NET_SNMP_CONFIG
BASH_COMPLETION_DIR
systemdsystemunitdir
ENABLE_PGSTAT_TRACK
ENABLE_LU_REF
ENABLE_INVARIANTS
ENABLE_FAIL_ALLOC
ENABLE_MINDF
SELINUX
LIBEFENCE
ENABLE_EFENCE
LIBNL3_LIBS
LIBNL3_CFLAGS
PKG_CONFIG_LIBDIR
PKG_CONFIG_PATH
PKG_CONFIG
PTHREAD_LIBS
ENABLE_LIBPTHREAD
LIBREADLINE
ENABLE_READLINE
PFSCK
E2FSCK
DUMPE2FS
E2LABEL
TUNE2FS
DEBUGFS
MKE2FS
E2FSPROGS
BUILD_LUSTREIOKIT_FALSE
BUILD_LUSTREIOKIT_TRUE
LUSTREIOKIT_SUBDIR
SNMP_SUBDIR
SNMP_DIST_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_HEALTH_WRITE
ENABLE_FLOCK
ENABLE_CHECKSUM
ENABLE_PINGER
GNILND
GNICPPFLAGS
ENABLE_GNI
ENABLEO2IB
O2IBPATH
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
EXTRA_KCFLAGS
pkgexampledir
demodir
rootsbindir
LUSTRE
INCLUDE_RULES
lb_target_os
RPMBUILD
BISON
FLEX
am__fastdepCCAS_FALSE
am__fastdepCCAS_TRUE
CCASDEPMODE
CCASFLAGS
CCAS
CPP
LT_SYS_LIBRARY_PATH
OTOOL64
OTOOL
LIPO
NMEDIT
DSYMUTIL
MANIFEST_TOOL
RANLIB
ac_ct_AR
AR
DLLTOOL
OBJDUMP
LN_S
NM
ac_ct_DUMPBIN
DUMPBIN
LD
FGREP
EGREP
GREP
SED
LIBTOOL
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
MAINT
MAINTAINER_MODE_FALSE
MAINTAINER_MODE_TRUE
AM_BACKSLASH
AM_DEFAULT_VERBOSITY
AM_DEFAULT_V
AM_V
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_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_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
with_o2ib
enable_gni
enable_pinger
enable_checksum
enable_flock
enable_health_write
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
enable_efence
with_mds_max_threads
enable_mindf
enable_fail_alloc
enable_invariants
enable_lu_ref
enable_pgstate_track
with_systemdsystemunitdir
with_bash_completion_dir
enable_snmp
'
      ac_precious_vars='build_alias
host_alias
target_alias
CC
CFLAGS
LDFLAGS
LIBS
CPPFLAGS
LT_SYS_LIBRARY_PATH
CPP
CCAS
CCASFLAGS
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

  # Accept the important Cygnus configure options, so we can diagnose typos.

  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=`$as_echo "$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=`$as_echo "$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=`$as_echo "$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=`$as_echo "$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.
    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
    ;;

  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" ;;
    *)     $as_echo "$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 ||
$as_echo 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.15.8_34_gc0f2040 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.15.8_34_gc0f2040:";;
   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
  --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-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-gni            enable GNI lnd
  --disable-pinger        disable recovery pinger support
  --disable-checksum      disable data checksum support
  --disable-flock         disable flock by default
  --enable-health_write   enable disk writes when doing health check
  --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-lu_ref         enable lu_ref reference tracking code
  --enable-pgstate-track  enable page state tracking
  --enable-snmp           require SNMP support (default=auto)

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-krb5=DIR         use Kerberos v5 installation in DIR
  --with-ldiskfsprogs     use alternate names for ldiskfs-enabled e2fsprogs
  --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:
  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>
  LT_SYS_LIBRARY_PATH
              User-defined run-time library search path.
  CPP         C preprocessor
  CCAS        assembler compiler command (defaults to CC)
  CCASFLAGS   assembler compiler flags (defaults to CFLAGS)
  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=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
  # A ".." for each directory in $ac_dir_suffix.
  ac_top_builddir_sub=`$as_echo "$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 guested configure.
    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
      $as_echo "$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.15.8_34_gc0f2040
generated by GNU Autoconf 2.69

Copyright (C) 2012 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
  if { { ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
  (eval "$ac_compile") 2>conftest.err
  ac_status=$?
  if test -s conftest.err; then
    grep -v '^ *+' conftest.err >conftest.er1
    cat conftest.er1 >&5
    mv -f conftest.er1 conftest.err
  fi
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then :
  ac_retval=0
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

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

} # ac_fn_c_try_compile

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

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

} # ac_fn_c_try_link

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

} # ac_fn_c_check_header_compile

# ac_fn_c_try_cpp LINENO
# ----------------------
# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
ac_fn_c_try_cpp ()
{
  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
  if { { ac_try="$ac_cpp conftest.$ac_ext"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$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
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; } > conftest.i && {
	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
	 test ! -s conftest.err
       }; then :
  ac_retval=0
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

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

} # ac_fn_c_try_cpp

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

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

} # ac_fn_c_try_run

# ac_fn_c_check_func LINENO FUNC VAR
# ----------------------------------
# Tests whether FUNC exists, setting the cache variable VAR accordingly
ac_fn_c_check_func ()
{
  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
if eval \${$3+:} false; then :
  $as_echo_n "(cached) " >&6
else
  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */
/* Define $2 to an innocuous variant, in case <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.
    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
    <limits.h> exists even on freestanding compilers.  */

#ifdef __STDC__
# include <limits.h>
#else
# include <assert.h>
#endif

#undef $2

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

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

} # ac_fn_c_check_func

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

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

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

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

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

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

  FILE *f = fopen ("conftest.val", "w");
  if (! f)
    return 1;
  if (($2) < 0)
    {
      long int i = longval ();
      if (i != ($2))
	return 1;
      fprintf (f, "%ld", i);
    }
  else
    {
      unsigned long int i = ulongval ();
      if (i != ($2))
	return 1;
      fprintf (f, "%lu", i);
    }
  /* Do not output a trailing newline, as this causes \r\n confusion
     on some platforms.  */
  return ferror (f) || fclose (f) != 0;

  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_run "$LINENO"; then :
  echo >>conftest.val; read $3 <conftest.val; ac_retval=0
else
  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_mongrel LINENO HEADER VAR INCLUDES
# -------------------------------------------------------
# Tests whether HEADER exists, giving a warning if it cannot be compiled using
# the include files in INCLUDES and setting the cache variable VAR
# accordingly.
ac_fn_c_check_header_mongrel ()
{
  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
  if eval \${$3+:} false; then :
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
if eval \${$3+:} false; then :
  $as_echo_n "(cached) " >&6
fi
eval ac_res=\$$3
	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
else
  # Is the header compilable?
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
$as_echo_n "checking $2 usability... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */
$4
#include <$2>
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
  ac_header_compiler=yes
else
  ac_header_compiler=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
$as_echo "$ac_header_compiler" >&6; }

# Is the header present?
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
$as_echo_n "checking $2 presence... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */
#include <$2>
_ACEOF
if ac_fn_c_try_cpp "$LINENO"; then :
  ac_header_preproc=yes
else
  ac_header_preproc=no
fi
rm -f conftest.err conftest.i conftest.$ac_ext
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
$as_echo "$ac_header_preproc" >&6; }

# So?  What about this header?
case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
  yes:no: )
    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
    ;;
  no:yes:* )
    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
( $as_echo "## ------------------------------------------ ##
## Report this to https://jira.whamcloud.com/ ##
## ------------------------------------------ ##"
     ) | sed "s/^/$as_me: WARNING:     /" >&2
    ;;
esac
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
if eval \${$3+:} false; then :
  $as_echo_n "(cached) " >&6
else
  eval "$3=\$ac_header_compiler"
fi
eval ac_res=\$$3
	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
fi
  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno

} # ac_fn_c_check_header_mongrel
cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by Lustre $as_me 2.15.8_34_gc0f2040, which was
generated by GNU Autoconf 2.69.  Invocation command line was

  $ $0 $@

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

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

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

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

_ASUNAME

as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
    $as_echo "PATH: $as_dir"
  done
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=`$as_echo "$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=$?
  # Save into config.log some information that might help in debugging.
  {
    echo

    $as_echo "## ---------------- ##
## 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_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
      esac
      case $ac_var in #(
      _ | IFS | as_nl) ;; #(
      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
      *) { eval $ac_var=; unset $ac_var;} ;;
      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

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

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

    if test -s confdefs.h; then
      $as_echo "## ----------- ##
## confdefs.h. ##
## ----------- ##"
      echo
      cat confdefs.h
      echo
    fi
    test "$ac_signal" != 0 &&
      $as_echo "$as_me: caught signal $ac_signal"
    $as_echo "$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

$as_echo "/* confdefs.h */" > confdefs.h

# Predefined preprocessor variables.

cat >>confdefs.h <<_ACEOF
#define PACKAGE_NAME "$PACKAGE_NAME"
_ACEOF

cat >>confdefs.h <<_ACEOF
#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
_ACEOF

cat >>confdefs.h <<_ACEOF
#define PACKAGE_VERSION "$PACKAGE_VERSION"
_ACEOF

cat >>confdefs.h <<_ACEOF
#define PACKAGE_STRING "$PACKAGE_STRING"
_ACEOF

cat >>confdefs.h <<_ACEOF
#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
_ACEOF

cat >>confdefs.h <<_ACEOF
#define PACKAGE_URL "$PACKAGE_URL"
_ACEOF


# Let the site file select an alternate cache file if it wants to.
# Prefer an explicitly selected file to automatically selected ones.
ac_site_file1=NONE
ac_site_file2=NONE
if test -n "$CONFIG_SITE"; then
  # We do not want a PATH search for config.site.
  case $CONFIG_SITE in #((
    -*)  ac_site_file1=./$CONFIG_SITE;;
    */*) ac_site_file1=$CONFIG_SITE;;
    *)   ac_site_file1=./$CONFIG_SITE;;
  esac
elif test "x$prefix" != xNONE; then
  ac_site_file1=$prefix/share/config.site
  ac_site_file2=$prefix/etc/config.site
else
  ac_site_file1=$ac_default_prefix/share/config.site
  ac_site_file2=$ac_default_prefix/etc/config.site
fi
for ac_site_file in "$ac_site_file1" "$ac_site_file2"
do
  test "x$ac_site_file" = xNONE && continue
  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
    { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
$as_echo "$as_me: loading site script $ac_site_file" >&6;}
    sed 's/^/| /' "$ac_site_file" >&5
    . "$ac_site_file" \
      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "failed to load site script $ac_site_file
See \`config.log' for more details" "$LINENO" 5; }
  fi
done

if test -r "$cache_file"; then
  # Some versions of bash will fail to source /dev/null (special files
  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
    { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
$as_echo "$as_me: loading cache $cache_file" >&6;}
    case $cache_file in
      [\\/]* | ?:[\\/]* ) . "$cache_file";;
      *)                      . "./$cache_file";;
    esac
  fi
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
$as_echo "$as_me: creating cache $cache_file" >&6;}
  >$cache_file
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,)
      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
      ac_cache_corrupted=: ;;
    ,set)
      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
$as_echo "$as_me: 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
	  { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
	  ac_cache_corrupted=:
	else
	  { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
	  eval $ac_var=\$ac_old_val
	fi
	{ $as_echo "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
	{ $as_echo "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
$as_echo "$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=`$as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
  { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
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



ac_aux_dir=
for ac_dir in config "$srcdir"/config; do
  if test -f "$ac_dir/install-sh"; then
    ac_aux_dir=$ac_dir
    ac_install_sh="$ac_aux_dir/install-sh -c"
    break
  elif test -f "$ac_dir/install.sh"; then
    ac_aux_dir=$ac_dir
    ac_install_sh="$ac_aux_dir/install.sh -c"
    break
  elif test -f "$ac_dir/shtool"; then
    ac_aux_dir=$ac_dir
    ac_install_sh="$ac_aux_dir/shtool install -c"
    break
  fi
done
if test -z "$ac_aux_dir"; then
  as_fn_error $? "cannot find install-sh, install.sh, or shtool in config \"$srcdir\"/config" "$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.
ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.






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

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
$as_echo_n "checking build system type... " >&6; }
if ${ac_cv_build+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
$as_echo "$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


{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
$as_echo_n "checking host system type... " >&6; }
if ${ac_cv_host+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
$as_echo "$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


{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
$as_echo_n "checking target system type... " >&6; }
if ${ac_cv_target+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
$as_echo "$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.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
$as_echo_n "checking for a BSD-compatible install... " >&6; }
if test -z "$INSTALL"; then
if ${ac_cv_path_install+:} false; then :
  $as_echo_n "(cached) " >&6
else
  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
    # Account for people who put trailing slashes in PATH elements.
case $as_dir/ in #((
  ./ | .// | /[cC]/* | \
  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
  ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
  /usr/ucb/* ) ;;
  *)
    # OSF1 and SCO ODT 3.0 have their own names for install.
    # Don't use installbsd from OSF since it installs stuff as root
    # by default.
    for ac_prog in ginstall scoinst install; do
      for ac_exec_ext in '' $ac_executable_extensions; do
	if 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+set}" = set; 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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
$as_echo "$INSTALL" >&6; }

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

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

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

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
$as_echo_n "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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
# If we didn't sleep, we still need to ensure time stamps of config.status and
# generated files are strictly newer.
am_sleep_pid=
if grep 'slept: no' conftest.file >/dev/null 2>&1; then
  ( sleep 1 ) &
  am_sleep_pid=$!
fi

rm -f conftest.file

test "$program_prefix" != NONE &&
  program_transform_name="s&^&$program_prefix&;$program_transform_name"
# Use a double $ so make ignores it.
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=`$as_echo "$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
  case $am_aux_dir in
  *\ * | *\	*)
    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
  *)
    MISSING="\${SHELL} $am_aux_dir/missing" ;;
  esac
fi
# Use eval to expand $SHELL
if eval "$MISSING --is-lightweight"; then
  am_missing_run="$MISSING "
else
  am_missing_run=
  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5
$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_STRIP+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
$as_echo "$STRIP" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_prog_ac_ct_STRIP="strip"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
$as_echo "$ac_ct_STRIP" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi

  if test "x$ac_ct_STRIP" = x; then
    STRIP=":"
  else
    case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: 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"

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
if test -z "$MKDIR_P"; then
  if ${ac_cv_path_mkdir+:} false; then :
  $as_echo_n "(cached) " >&6
else
  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
    for ac_prog in mkdir gmkdir; do
	 for ac_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 (GNU coreutils) '* | \
	     'mkdir (coreutils) '* | \
	     '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+set}" = set; 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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
$as_echo "$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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_AWK+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_prog_AWK="$ac_prog"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
$as_echo "$AWK" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi


  test -n "$AWK" && break
done

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
set x ${MAKE-make}
ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
  SET_MAKE=
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "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+set}" = set; then :
  enableval=$enable_silent_rules;
fi

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

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


cat >>confdefs.h <<_ACEOF
#define PACKAGE "$PACKAGE"
_ACEOF


cat >>confdefs.h <<_ACEOF
#define VERSION "$VERSION"
_ACEOF

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



  { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to create a pax tar archive" >&5
$as_echo_n "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 ${am_cv_prog_tar_pax+:} false; then :
  $as_echo_n "(cached) " >&6
else
  am_cv_prog_tar_pax=$_am_tool
fi

  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_tar_pax" >&5
$as_echo "$am_cv_prog_tar_pax" >&6; }






# 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


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

  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
$as_echo "$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



ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_CC+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_prog_CC="${ac_tool_prefix}gcc"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
$as_echo "$CC" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_CC+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_prog_ac_ct_CC="gcc"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
$as_echo "$ac_ct_CC" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi

  if test "x$ac_ct_CC" = x; then
    CC=""
  else
    case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: 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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_CC+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_prog_CC="${ac_tool_prefix}cc"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
$as_echo "$CC" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_CC+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
       ac_prog_rejected=yes
       continue
     fi
    ac_cv_prog_CC="cc"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
$as_echo "$CC" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_CC+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
    break 2
  fi
done
  done
IFS=$as_save_IFS

fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
$as_echo "$CC" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_CC+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_prog_ac_ct_CC="$ac_prog"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
$as_echo "$ac_ct_CC" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "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:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
    CC=$ac_ct_CC
  fi
fi

fi


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

# Provide some information about the compiler.
$as_echo "$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\""
$as_echo "$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
  $as_echo "$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 ()
{

  ;
  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.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
$as_echo_n "checking whether the C compiler works... " >&6; }
ac_link_default=`$as_echo "$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\""
$as_echo "$ac_try_echo"; } >&5
  (eval "$ac_link_default") 2>&5
  ac_status=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; then :
  # 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+set}" = set && 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
  ac_file=''
fi
if test -z "$ac_file"; then :
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$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_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
$as_echo_n "checking for C compiler default output file name... " >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
$as_echo "$ac_file" >&6; }
ac_exeext=$ac_cv_exeext

rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
ac_clean_files=$ac_clean_files_save
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
$as_echo_n "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\""
$as_echo "$ac_try_echo"; } >&5
  (eval "$ac_link") 2>&5
  ac_status=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; then :
  # 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_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "cannot compute suffix of executables: cannot compile and link
See \`config.log' for more details" "$LINENO" 5; }
fi
rm -f conftest conftest$ac_cv_exeext
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
$as_echo "$ac_cv_exeext" >&6; }

rm -f conftest.$ac_ext
EXEEXT=$ac_cv_exeext
ac_exeext=$EXEEXT
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */
#include <stdio.h>
int
main ()
{
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.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
$as_echo_n "checking whether we are cross compiling... " >&6; }
if test "$cross_compiling" != yes; then
  { { ac_try="$ac_link"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
  (eval "$ac_link") 2>&5
  ac_status=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }
  if { ac_try='./conftest$ac_cv_exeext'
  { { case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
  (eval "$ac_try") 2>&5
  ac_status=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then
    cross_compiling=no
  else
    if test "$cross_compiling" = maybe; then
	cross_compiling=yes
    else
	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "cannot run C compiled programs.
If you meant to cross compile, use \`--host'.
See \`config.log' for more details" "$LINENO" 5; }
    fi
  fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
$as_echo "$cross_compiling" >&6; }

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

int
main ()
{

  ;
  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\""
$as_echo "$ac_try_echo"; } >&5
  (eval "$ac_compile") 2>&5
  ac_status=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; then :
  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_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: 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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
$as_echo "$ac_cv_objext" >&6; }
OBJEXT=$ac_cv_objext
ac_objext=$OBJEXT
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
if ${ac_cv_c_compiler_gnu+:} false; then :
  $as_echo_n "(cached) " >&6
else
  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

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

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

fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
$as_echo "$ac_cv_c_compiler_gnu" >&6; }
if test $ac_compiler_gnu = yes; then
  GCC=yes
else
  GCC=
fi
ac_test_CFLAGS=${CFLAGS+set}
ac_save_CFLAGS=$CFLAGS
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
$as_echo_n "checking whether $CC accepts -g... " >&6; }
if ${ac_cv_prog_cc_g+:} false; then :
  $as_echo_n "(cached) " >&6
else
  ac_save_c_werror_flag=$ac_c_werror_flag
   ac_c_werror_flag=yes
   ac_cv_prog_cc_g=no
   CFLAGS="-g"
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

int
main ()
{

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

int
main ()
{

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

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

int
main ()
{

  ;
  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.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   ac_c_werror_flag=$ac_save_c_werror_flag
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
$as_echo "$ac_cv_prog_cc_g" >&6; }
if test "$ac_test_CFLAGS" = set; 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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
if ${ac_cv_prog_cc_c89+:} false; then :
  $as_echo_n "(cached) " >&6
else
  ac_cv_prog_cc_c89=no
ac_save_CC=$CC
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */
#include <stdarg.h>
#include <stdio.h>
struct stat;
/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
struct buf { int x; };
FILE * (*rcsopen) (struct buf *, struct stat *, int);
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 don't provoke an error unfortunately, instead are silently treated
   as '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's necessary to write '\x00'==0 to get something
   that's 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 **, FILE *(*)(struct buf *, struct stat *, int), int, int);
int argc;
char **argv;
int
main ()
{
return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
  ;
  return 0;
}
_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
  test "x$ac_cv_prog_cc_c89" != "xno" && break
done
rm -f conftest.$ac_ext
CC=$ac_save_CC

fi
# AC_CACHE_VAL
case "x$ac_cv_prog_cc_c89" in
  x)
    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
$as_echo "none needed" >&6; } ;;
  xno)
    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
$as_echo "unsupported" >&6; } ;;
  *)
    CC="$CC $ac_cv_prog_cc_c89"
    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
esac
if test "x$ac_cv_prog_cc_c89" != xno; then :

fi

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

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

int
main ()
{

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

DEPDIR="${am__leading_dot}deps"

ac_config_commands="$ac_config_commands depfiles"

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5
$as_echo_n "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.*
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5
$as_echo "${_am_result}" >&6; }

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

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



depcc="$CC"   am_compiler_list=

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
$as_echo_n "checking dependency style of $depcc... " >&6; }
if ${am_cv_CC_dependencies_compiler_type+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
  # We make a subdir and do the tests there.  Otherwise we can end up
  # making bogus files that we don't know about and never remove.  For
  # instance it was reported that on HP-UX the gcc test will end up
  # making a dummy file named 'D' -- because '-MD' means "put the output
  # in D".
  rm -rf conftest.dir
  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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type

 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


case `pwd` in
  *\ * | *\	*)
    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
esac



macro_version='2.4.6'
macro_revision='2.4.6'













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

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
$as_echo_n "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*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
$as_echo "printf" >&6; } ;;
  print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
$as_echo "print -r" >&6; } ;;
  *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
$as_echo "cat" >&6; } ;;
esac














{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
$as_echo_n "checking for a sed that does not truncate output... " >&6; }
if ${ac_cv_path_SED+:} false; then :
  $as_echo_n "(cached) " >&6
else
            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
  test -z "$as_dir" && as_dir=.
    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
  $as_echo_n 0123456789 >"conftest.in"
  while :
  do
    cat "conftest.in" "conftest.in" >"conftest.tmp"
    mv "conftest.tmp" "conftest.in"
    cp "conftest.in" "conftest.nl"
    $as_echo '' >> "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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
$as_echo "$ac_cv_path_SED" >&6; }
 SED="$ac_cv_path_SED"
  rm -f conftest.sed

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











{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
if ${ac_cv_path_GREP+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    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
  $as_echo_n 0123456789 >"conftest.in"
  while :
  do
    cat "conftest.in" "conftest.in" >"conftest.tmp"
    mv "conftest.tmp" "conftest.in"
    cp "conftest.in" "conftest.nl"
    $as_echo 'GREP' >> "conftest.nl"
    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
    as_fn_arith $ac_count + 1 && ac_count=$as_val
    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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
$as_echo "$ac_cv_path_GREP" >&6; }
 GREP="$ac_cv_path_GREP"


{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
$as_echo_n "checking for egrep... " >&6; }
if ${ac_cv_path_EGREP+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    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
  $as_echo_n 0123456789 >"conftest.in"
  while :
  do
    cat "conftest.in" "conftest.in" >"conftest.tmp"
    mv "conftest.tmp" "conftest.in"
    cp "conftest.in" "conftest.nl"
    $as_echo 'EGREP' >> "conftest.nl"
    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
    as_fn_arith $ac_count + 1 && ac_count=$as_val
    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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
$as_echo "$ac_cv_path_EGREP" >&6; }
 EGREP="$ac_cv_path_EGREP"


{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
$as_echo_n "checking for fgrep... " >&6; }
if ${ac_cv_path_FGREP+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    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
  $as_echo_n 0123456789 >"conftest.in"
  while :
  do
    cat "conftest.in" "conftest.in" >"conftest.tmp"
    mv "conftest.tmp" "conftest.in"
    cp "conftest.in" "conftest.nl"
    $as_echo '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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
$as_echo "$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+set}" = set; then :
  withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes
else
  with_gnu_ld=no
fi

ac_prog=ld
if test yes = "$GCC"; then
  # Check if gcc -print-prog-name=ld gives a path.
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
$as_echo_n "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
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
$as_echo_n "checking for GNU ld... " >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
$as_echo_n "checking for non-GNU ld... " >&6; }
fi
if ${lt_cv_path_LD+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
$as_echo "$LD" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
if ${lt_cv_prog_gnu_ld+:} false; then :
  $as_echo_n "(cached) " >&6
else
  # 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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
$as_echo "$lt_cv_prog_gnu_ld" >&6; }
with_gnu_ld=$lt_cv_prog_gnu_ld









{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
if ${lt_cv_path_NM+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
$as_echo "$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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_DUMPBIN+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
$as_echo "$DUMPBIN" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
$as_echo "$ac_ct_DUMPBIN" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "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:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
    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






{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
$as_echo_n "checking the name lister ($NM) interface... " >&6; }
if ${lt_cv_nm_interface+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
$as_echo "$lt_cv_nm_interface" >&6; }

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
$as_echo_n "checking whether ln -s works... " >&6; }
LN_S=$as_ln_s
if test "$LN_S" = "ln -s"; then
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
$as_echo "no, using $LN_S" >&6; }
fi

# find the maximum length of command line arguments
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
$as_echo_n "checking the maximum length of command line arguments... " >&6; }
if ${lt_cv_sys_max_cmd_len+:} false; then :
  $as_echo_n "(cached) " >&6
else
    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* | 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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
$as_echo "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









{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
if ${lt_cv_to_host_file_cmd+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
$as_echo "$lt_cv_to_host_file_cmd" >&6; }





{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
if ${lt_cv_to_tool_file_cmd+:} false; then :
  $as_echo_n "(cached) " >&6
else
  #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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
$as_echo "$lt_cv_to_tool_file_cmd" >&6; }





{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
$as_echo_n "checking for $LD option to reload object files... " >&6; }
if ${lt_cv_ld_reload_flag+:} false; then :
  $as_echo_n "(cached) " >&6
else
  lt_cv_ld_reload_flag='-r'
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
$as_echo "$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}objdump", so it can be a program name with args.
set dummy ${ac_tool_prefix}objdump; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_OBJDUMP+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
$as_echo "$OBJDUMP" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_prog_ac_ct_OBJDUMP="objdump"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
$as_echo "$ac_ct_OBJDUMP" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi

  if test "x$ac_ct_OBJDUMP" = x; then
    OBJDUMP="false"
  else
    case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: 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









{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
$as_echo_n "checking how to recognize dependent libraries... " >&6; }
if ${lt_cv_deplibs_check_method+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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='/usr/bin/file -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*)
  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=/usr/bin/file
      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=/usr/bin/file
  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=/usr/bin/file
  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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
$as_echo "$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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_DLLTOOL+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
$as_echo "$DLLTOOL" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_prog_ac_ct_DLLTOOL="dlltool"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
$as_echo "$ac_ct_DLLTOOL" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi

  if test "x$ac_ct_DLLTOOL" = x; then
    DLLTOOL="false"
  else
    case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: 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










{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
$as_echo "$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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_AR+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
$as_echo "$AR" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_AR+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_prog_ac_ct_AR="$ac_prog"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
$as_echo "$ac_ct_AR" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "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:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
    AR=$ac_ct_AR
  fi
fi

: ${AR=ar}
: ${AR_FLAGS=cr}











{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
$as_echo_n "checking for archiver @FILE support... " >&6; }
if ${lt_cv_ar_at_file+:} false; then :
  $as_echo_n "(cached) " >&6
else
  lt_cv_ar_at_file=no
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

int
main ()
{

  ;
  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=$?
  $as_echo "$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=$?
  $as_echo "$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.$ac_ext

fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
$as_echo "$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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_STRIP+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
$as_echo "$STRIP" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_prog_ac_ct_STRIP="strip"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
$as_echo "$ac_ct_STRIP" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi

  if test "x$ac_ct_STRIP" = x; then
    STRIP=":"
  else
    case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: 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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_RANLIB+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
$as_echo "$RANLIB" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_prog_ac_ct_RANLIB="ranlib"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
$as_echo "$ac_ct_RANLIB" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi

  if test "x$ac_ct_RANLIB" = x; then
    RANLIB=":"
  else
    case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: 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.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
if ${lt_cv_sys_global_symbol_pipe+:} false; then :
  $as_echo_n "(cached) " >&6
else

# 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++,
    # 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=$?
  $as_echo "$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=$?
  $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
$as_echo "failed" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
$as_echo "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





































{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
$as_echo_n "checking for sysroot... " >&6; }

# Check whether --with-sysroot was given.
if test "${with_sysroot+set}" = set; then :
  withval=$with_sysroot;
else
  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|'')
   ;; #(
 *)
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5
$as_echo "$with_sysroot" >&6; }
   as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
   ;;
esac

 { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
$as_echo "${lt_sysroot:-no}" >&6; }





{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5
$as_echo_n "checking for a working dd... " >&6; }
if ${ac_cv_path_lt_DD+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5
$as_echo "$ac_cv_path_lt_DD" >&6; }


{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5
$as_echo_n "checking how to truncate binary pipes... " >&6; }
if ${lt_cv_truncate_bin+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5
$as_echo "$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+set}" = set; 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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; then
    case `/usr/bin/file 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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; then
    if test yes = "$lt_cv_prog_gnu_ld"; then
      case `/usr/bin/file conftest.$ac_objext` in
	*32-bit*)
	  LD="${LD-ld} -melf32bsmip"
	  ;;
	*N32*)
	  LD="${LD-ld} -melf32bmipn32"
	  ;;
	*64-bit*)
	  LD="${LD-ld} -melf64bmip"
	;;
      esac
    else
      case `/usr/bin/file 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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; then
    emul=elf
    case `/usr/bin/file conftest.$ac_objext` in
      *32-bit*)
	emul="${emul}32"
	;;
      *64-bit*)
	emul="${emul}64"
	;;
    esac
    case `/usr/bin/file conftest.$ac_objext` in
      *MSB*)
	emul="${emul}btsmip"
	;;
      *LSB*)
	emul="${emul}ltsmip"
	;;
    esac
    case `/usr/bin/file 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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; then
    case `/usr/bin/file conftest.o` in
      *32-bit*)
	case $host in
	  x86_64-*kfreebsd*-gnu)
	    LD="${LD-ld} -m elf_i386_fbsd"
	    ;;
	  x86_64-*linux*)
	    case `/usr/bin/file 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"
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
if ${lt_cv_cc_needs_belf+:} false; then :
  $as_echo_n "(cached) " >&6
else
  ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&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 ()
{

  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
  lt_cv_cc_needs_belf=yes
else
  lt_cv_cc_needs_belf=no
fi
rm -f core conftest.err conftest.$ac_objext \
    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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
$as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; then
    case `/usr/bin/file 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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
$as_echo "$MANIFEST_TOOL" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi

  if test "x$ac_ct_MANIFEST_TOOL" = x; then
    MANIFEST_TOOL=":"
  else
    case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: 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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
if ${lt_cv_path_mainfest_tool+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
$as_echo "$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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_DSYMUTIL+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
$as_echo "$DSYMUTIL" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
$as_echo "$ac_ct_DSYMUTIL" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi

  if test "x$ac_ct_DSYMUTIL" = x; then
    DSYMUTIL=":"
  else
    case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: 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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_NMEDIT+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
$as_echo "$NMEDIT" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_prog_ac_ct_NMEDIT="nmedit"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
$as_echo "$ac_ct_NMEDIT" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi

  if test "x$ac_ct_NMEDIT" = x; then
    NMEDIT=":"
  else
    case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: 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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_LIPO+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
$as_echo "$LIPO" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_prog_ac_ct_LIPO="lipo"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
$as_echo "$ac_ct_LIPO" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi

  if test "x$ac_ct_LIPO" = x; then
    LIPO=":"
  else
    case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: 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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_OTOOL+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
$as_echo "$OTOOL" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_prog_ac_ct_OTOOL="otool"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
$as_echo "$ac_ct_OTOOL" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi

  if test "x$ac_ct_OTOOL" = x; then
    OTOOL=":"
  else
    case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: 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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_OTOOL64+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
$as_echo "$OTOOL64" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_prog_ac_ct_OTOOL64="otool64"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
$as_echo "$ac_ct_OTOOL64" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi

  if test "x$ac_ct_OTOOL64" = x; then
    OTOOL64=":"
  else
    case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: 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



























    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
$as_echo_n "checking for -single_module linker flag... " >&6; }
if ${lt_cv_apple_cc_single_mod+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
$as_echo "$lt_cv_apple_cc_single_mod" >&6; }

    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
if ${lt_cv_ld_exported_symbols_list+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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 ()
{

  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
  lt_cv_ld_exported_symbols_list=yes
else
  lt_cv_ld_exported_symbols_list=no
fi
rm -f core conftest.err conftest.$ac_objext \
    conftest$ac_exeext conftest.$ac_ext
	LDFLAGS=$save_LDFLAGS

fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }

    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
$as_echo_n "checking for -force_load linker flag... " >&6; }
if ${lt_cv_ld_force_load+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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 cr libconftest.a conftest.o" >&5
      $AR cr 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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
$as_echo "$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*) # darwin 5.x on
      # if running on 10.5 or later, the deployment target defaults
      # to the OS version, if on x86, and 10.4, the deployment
      # target defaults to 10.4. Don't you love it?
      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
	10.0,*86*-darwin8*|10.0,*-darwin[91]*)
	  _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
	10.[012][,.]*)
	  _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
	10.*)
	  _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_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
$as_echo_n "checking how to run the C preprocessor... " >&6; }
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
  CPP=
fi
if test -z "$CPP"; then
  if ${ac_cv_prog_CPP+:} false; then :
  $as_echo_n "(cached) " >&6
else
      # Double quotes because CPP needs to be expanded
    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
    do
      ac_preproc_ok=false
for ac_c_preproc_warn_flag in '' yes
do
  # Use a header file that comes with gcc, so configuring glibc
  # with a fresh cross-compiler works.
  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
  # <limits.h> exists even on freestanding compilers.
  # On the NeXT, cc -E runs the code through the compiler's parser,
  # not just through cpp. "Syntax error" is here to catch this case.
  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */
#ifdef __STDC__
# include <limits.h>
#else
# include <assert.h>
#endif
		     Syntax error
_ACEOF
if ac_fn_c_try_cpp "$LINENO"; then :

else
  # 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_c_try_cpp "$LINENO"; then :
  # Broken: success on invalid input.
continue
else
  # 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_CPP=$CPP

fi
  CPP=$ac_cv_prog_CPP
else
  ac_cv_prog_CPP=$CPP
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
$as_echo "$CPP" >&6; }
ac_preproc_ok=false
for ac_c_preproc_warn_flag in '' yes
do
  # Use a header file that comes with gcc, so configuring glibc
  # with a fresh cross-compiler works.
  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
  # <limits.h> exists even on freestanding compilers.
  # On the NeXT, cc -E runs the code through the compiler's parser,
  # not just through cpp. "Syntax error" is here to catch this case.
  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */
#ifdef __STDC__
# include <limits.h>
#else
# include <assert.h>
#endif
		     Syntax error
_ACEOF
if ac_fn_c_try_cpp "$LINENO"; then :

else
  # 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_c_try_cpp "$LINENO"; then :
  # Broken: success on invalid input.
continue
else
  # 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_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
See \`config.log' for more details" "$LINENO" 5; }
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


{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
$as_echo_n "checking for ANSI C header files... " >&6; }
if ${ac_cv_header_stdc+:} false; then :
  $as_echo_n "(cached) " >&6
else
  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */
#include <stdlib.h>
#include <stdarg.h>
#include <string.h>
#include <float.h>

int
main ()
{

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

if test $ac_cv_header_stdc = yes; then
  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */
#include <string.h>

_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
  $EGREP "memchr" >/dev/null 2>&1; then :

else
  ac_cv_header_stdc=no
fi
rm -f conftest*

fi

if test $ac_cv_header_stdc = yes; then
  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */
#include <stdlib.h>

_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
  $EGREP "free" >/dev/null 2>&1; then :

else
  ac_cv_header_stdc=no
fi
rm -f conftest*

fi

if test $ac_cv_header_stdc = yes; then
  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
  if test "$cross_compiling" = yes; then :
  :
else
  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */
#include <ctype.h>
#include <stdlib.h>
#if ((' ' & 0x0FF) == 0x020)
# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
#else
# define ISLOWER(c) \
		   (('a' <= (c) && (c) <= 'i') \
		     || ('j' <= (c) && (c) <= 'r') \
		     || ('s' <= (c) && (c) <= 'z'))
# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
#endif

#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
int
main ()
{
  int i;
  for (i = 0; i < 256; i++)
    if (XOR (islower (i), ISLOWER (i))
	|| toupper (i) != TOUPPER (i))
      return 2;
  return 0;
}
_ACEOF
if ac_fn_c_try_run "$LINENO"; then :

else
  ac_cv_header_stdc=no
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
  conftest.$ac_objext conftest.beam conftest.$ac_ext
fi

fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
$as_echo "$ac_cv_header_stdc" >&6; }
if test $ac_cv_header_stdc = yes; then

$as_echo "#define STDC_HEADERS 1" >>confdefs.h

fi

# On IRIX 5.3, sys/types and inttypes.h are conflicting.
for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
		  inttypes.h stdint.h unistd.h
do :
  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
"
if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
  cat >>confdefs.h <<_ACEOF
#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
_ACEOF

fi

done


for ac_header in dlfcn.h
do :
  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 :
  cat >>confdefs.h <<_ACEOF
#define HAVE_DLFCN_H 1
_ACEOF

fi

done





# Set options



        enable_dlopen=no


  enable_win32_dll=no


            # Check whether --enable-shared was given.
if test "${enable_shared+set}" = set; 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
  enable_shared=yes
fi









  # Check whether --enable-static was given.
if test "${enable_static+set}" = set; 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
  enable_static=yes
fi










# Check whether --with-pic was given.
if test "${with_pic+set}" = set; 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
  pic_mode=default
fi








  # Check whether --enable-fast-install was given.
if test "${enable_fast_install+set}" = set; 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
  enable_fast_install=yes
fi








  shared_archive_member_spec=
case $host,$enable_shared in
power*-*-aix[5-9]*,yes)
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5
$as_echo_n "checking which variant of shared library versioning to provide... " >&6; }

# Check whether --with-aix-soname was given.
if test "${with_aix_soname+set}" = set; 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
  if ${lt_cv_with_aix_soname+:} false; then :
  $as_echo_n "(cached) " >&6
else
  lt_cv_with_aix_soname=aix
fi

    with_aix_soname=$lt_cv_with_aix_soname
fi

  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5
$as_echo "$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

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
$as_echo_n "checking for objdir... " >&6; }
if ${lt_cv_objdir+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
$as_echo "$lt_cv_objdir" >&6; }
objdir=$lt_cv_objdir





cat >>confdefs.h <<_ACEOF
#define LT_OBJDIR "$lt_cv_objdir/"
_ACEOF




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,
# which needs '.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
    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
if ${lt_cv_path_MAGIC_CMD+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
$as_echo "$MAGIC_CMD" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi





if test -z "$lt_cv_path_MAGIC_CMD"; then
  if test -n "$ac_tool_prefix"; then
    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
$as_echo_n "checking for file... " >&6; }
if ${lt_cv_path_MAGIC_CMD+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
$as_echo "$MAGIC_CMD" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "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

  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
$as_echo "$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

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
if ${lt_cv_prog_compiler_pic+:} false; then :
  $as_echo_n "(cached) " >&6
else
  lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
$as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
if ${lt_cv_prog_compiler_pic_works+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
$as_echo "$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\"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
if ${lt_cv_prog_compiler_static_works+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
$as_echo "$lt_cv_prog_compiler_static_works" >&6; }

if test yes = "$lt_cv_prog_compiler_static_works"; then
    :
else
    lt_prog_compiler_static=
fi







  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
if ${lt_cv_prog_compiler_c_o+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
$as_echo "$lt_cv_prog_compiler_c_o" >&6; }






  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
if ${lt_cv_prog_compiler_c_o+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
$as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
$as_echo_n "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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
$as_echo "$hard_links" >&6; }
  if test no = "$hard_links"; then
    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5
$as_echo "$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






  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
$as_echo_n "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++ port hasn't been tested in a loooong time
    # When not using gcc, we currently assume that we are using
    # Microsoft Visual C++.
    if test yes != "$GCC"; then
      with_gnu_ld=no
    fi
    ;;
  interix*)
    # we just hope/assume this is gcc and not c89 (= MSVC++)
    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
      ;;

    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*)
	  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 == "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 ${lt_cv_aix_libpath_+:} false; then :
  $as_echo_n "(cached) " >&6
else
  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

int
main ()
{

  ;
  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$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 ${lt_cv_aix_libpath_+:} false; then :
  $as_echo_n "(cached) " >&6
else
  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

int
main ()
{

  ;
  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$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++.
      # hardcode_libdir_flag_spec is actually meaningless, as there is
      # no search path for DLLs.
      case $cc_basename in
      cl*)
	# Native MSVC
	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 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*)
      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)
	  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
$as_echo_n "checking if $CC understands -b... " >&6; }
if ${lt_cv_prog_compiler__b+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
$as_echo "$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.
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
if ${lt_cv_irix_exported_symbol+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  lt_cv_irix_exported_symbol=no
fi
rm -f core conftest.err conftest.$ac_objext \
    conftest$ac_exeext conftest.$ac_ext
           LDFLAGS=$save_LDFLAGS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
$as_echo "$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'
	;;
      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
      ;;

    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

{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
$as_echo "$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.
      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
if ${lt_cv_archive_cmds_need_lc+:} false; then :
  $as_echo_n "(cached) " >&6
else
  $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=$?
  $as_echo "$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=$?
  $as_echo "$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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
      archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
      ;;
    esac
  fi
  ;;
esac
























































































































































  { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
$as_echo_n "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*)
    # Native MSVC
    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 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*)
  # 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 ${lt_cv_shlibpath_overrides_runpath+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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 ()
{

  ;
  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$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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
$as_echo "$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

































































































  { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
$as_echo_n "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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
$as_echo "$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
    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
$as_echo_n "checking for dlopen in -ldl... " >&6; }
if ${ac_cv_lib_dl_dlopen+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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.  */
#ifdef __cplusplus
extern "C"
#endif
char dlopen ();
int
main ()
{
return dlopen ();
  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
  ac_cv_lib_dl_dlopen=yes
else
  ac_cv_lib_dl_dlopen=no
fi
rm -f core conftest.err conftest.$ac_objext \
    conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
$as_echo "$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

    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_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
$as_echo_n "checking for shl_load in -ldld... " >&6; }
if ${ac_cv_lib_dld_shl_load+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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.  */
#ifdef __cplusplus
extern "C"
#endif
char shl_load ();
int
main ()
{
return shl_load ();
  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
  ac_cv_lib_dld_shl_load=yes
else
  ac_cv_lib_dld_shl_load=no
fi
rm -f core conftest.err conftest.$ac_objext \
    conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
$as_echo "$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
  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_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
$as_echo_n "checking for dlopen in -ldl... " >&6; }
if ${ac_cv_lib_dl_dlopen+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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.  */
#ifdef __cplusplus
extern "C"
#endif
char dlopen ();
int
main ()
{
return dlopen ();
  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
  ac_cv_lib_dl_dlopen=yes
else
  ac_cv_lib_dl_dlopen=no
fi
rm -f core conftest.err conftest.$ac_objext \
    conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
$as_echo "$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_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
$as_echo_n "checking for dlopen in -lsvld... " >&6; }
if ${ac_cv_lib_svld_dlopen+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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.  */
#ifdef __cplusplus
extern "C"
#endif
char dlopen ();
int
main ()
{
return dlopen ();
  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
  ac_cv_lib_svld_dlopen=yes
else
  ac_cv_lib_svld_dlopen=no
fi
rm -f core conftest.err conftest.$ac_objext \
    conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
$as_echo "$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_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
$as_echo_n "checking for dld_link in -ldld... " >&6; }
if ${ac_cv_lib_dld_dld_link+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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.  */
#ifdef __cplusplus
extern "C"
#endif
char dld_link ();
int
main ()
{
return dld_link ();
  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
  ac_cv_lib_dld_dld_link=yes
else
  ac_cv_lib_dld_dld_link=no
fi
rm -f core conftest.err conftest.$ac_objext \
    conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
$as_echo "$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"

    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
$as_echo_n "checking whether a program can dlopen itself... " >&6; }
if ${lt_cv_dlopen_self+:} false; then :
  $as_echo_n "(cached) " >&6
else
  	  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=$?
  $as_echo "$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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
$as_echo "$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\"
      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
if ${lt_cv_dlopen_self_static+:} false; then :
  $as_echo_n "(cached) " >&6
else
  	  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=$?
  $as_echo "$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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
$as_echo "$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=
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
$as_echo_n "checking whether stripping libraries is possible... " >&6; }
if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
else
# FIXME - insert some real tests, host_os isn't really good enough
  case $host_os in
  darwin*)
    if test -n "$STRIP"; then
      striplib="$STRIP -x"
      old_striplib="$STRIP -S"
      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
    else
      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
    fi
    ;;
  *)
    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
    ;;
  esac
fi












  # Report what library types will actually be built
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
$as_echo_n "checking if libtool supports shared libraries... " >&6; }
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
$as_echo "$can_build_shared" >&6; }

  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
$as_echo_n "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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
$as_echo "$enable_shared" >&6; }

  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
$as_echo_n "checking whether to build static libraries... " >&6; }
  # Make sure either enable_shared or enable_static is yes.
  test yes = "$enable_shared" || enable_static=yes
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
$as_echo "$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















        ac_config_commands="$ac_config_commands libtool"




# Only expand once:



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

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
$as_echo_n "checking dependency style of $depcc... " >&6; }
if ${am_cv_CCAS_dependencies_compiler_type+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
  # We make a subdir and do the tests there.  Otherwise we can end up
  # making bogus files that we don't know about and never remove.  For
  # instance it was reported that on HP-UX the gcc test will end up
  # making a dummy file named 'D' -- because '-MD' means "put the output
  # in D".
  rm -rf conftest.dir
  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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CCAS_dependencies_compiler_type" >&5
$as_echo "$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



# Extract the first word of "flex", so it can be a program name with args.
set dummy flex; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_path_FLEX+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_path_FLEX="$as_dir/$ac_word$ac_exec_ext"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FLEX" >&5
$as_echo "$FLEX" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi


# Extract the first word of "bison", so it can be a program name with args.
set dummy bison; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_path_BISON+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_path_BISON="$as_dir/$ac_word$ac_exec_ext"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BISON" >&5
$as_echo "$BISON" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi


# Extract the first word of "rpmbuild", so it can be a program name with args.
set dummy rpmbuild; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_path_RPMBUILD+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_path_RPMBUILD="$as_dir/$ac_word$ac_exec_ext"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RPMBUILD" >&5
$as_echo "$RPMBUILD" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_AR+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
$as_echo "$AR" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_AR+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_prog_ac_ct_AR="$ac_prog"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
$as_echo "$ac_ct_AR" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "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:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
    AR=$ac_ct_AR
  fi
fi



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


cat >>confdefs.h <<_ACEOF
#define LUSTRE_MAJOR $LUSTRE_MAJOR
_ACEOF


cat >>confdefs.h <<_ACEOF
#define LUSTRE_MINOR $LUSTRE_MINOR
_ACEOF


cat >>confdefs.h <<_ACEOF
#define LUSTRE_PATCH $LUSTRE_PATCH
_ACEOF


cat >>confdefs.h <<_ACEOF
#define LUSTRE_FIX $LUSTRE_FIX
_ACEOF

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

cat >>confdefs.h <<_ACEOF
#define LUSTRE_VERSION_STRING "$PACKAGE_VERSION"
_ACEOF










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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_path_PKG_CONFIG+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
$as_echo "$PKG_CONFIG" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5
$as_echo "$ac_pt_PKG_CONFIG" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi

  if test "x$ac_pt_PKG_CONFIG" = x; then
    PKG_CONFIG=""
  else
    case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: 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
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; }
	if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
	else
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
		PKG_CONFIG=""
	fi
fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: Lustre base checks
==============================================================================" >&5
$as_echo "$as_me: Lustre base checks
==============================================================================" >&6;}

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




{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to configure just enough for make dist" >&5
$as_echo_n "checking whether to configure just enough for make dist... " >&6; }
# Check whether --enable-dist was given.
if test "${enable_dist+set}" = set; then :
  enableval=$enable_dist;
else
  enable_dist="no"
fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_dist" >&5
$as_echo "$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+set}" = set; then :
  withval=$with_downstream_release; as_fn_error $? "--downstream-release was deprecated.  Please read Documentation/versioning.txt." "$LINENO" 5

fi


{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if this distro uses dpkg" >&5
$as_echo_n "checking if this distro uses dpkg... " >&6; }
if ${lb_cv_uses_dpkg+:} false; then :
  $as_echo_n "(cached) " >&6
else

lb_cv_uses_dpkg="no"
case $(which dpkg 2>/dev/null) in #(
  */dpkg) :
    lb_cv_uses_dpkg="yes" ;; #(
  *) :
     ;;
esac

fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_uses_dpkg" >&5
$as_echo "$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'





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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_RANLIB+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
$as_echo "$RANLIB" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_prog_ac_ct_RANLIB="ranlib"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
$as_echo "$ac_ct_RANLIB" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi

  if test "x$ac_ct_RANLIB" = x; then
    RANLIB=":"
  else
    case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: 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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_LD+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_prog_LD="${ac_tool_prefix}ld"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
$as_echo "$LD" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_LD+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_prog_ac_ct_LD="ld"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LD" >&5
$as_echo "$ac_ct_LD" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi

  if test "x$ac_ct_LD" = x; then
    LD="no"
  else
    case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: 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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_OBJDUMP+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
$as_echo "$OBJDUMP" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_prog_ac_ct_OBJDUMP="objdump"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
$as_echo "$ac_ct_OBJDUMP" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi

  if test "x$ac_ct_OBJDUMP" = x; then
    OBJDUMP="no"
  else
    case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: 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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_STRIP+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
$as_echo "$STRIP" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_prog_ac_ct_STRIP="strip"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
$as_echo "$ac_ct_STRIP" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi

  if test "x$ac_ct_STRIP" = x; then
    STRIP="no"
  else
    case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: 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.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of unsigned long long" >&5
$as_echo_n "checking size of unsigned long long... " >&6; }
if ${ac_cv_sizeof_unsigned_long_long+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (unsigned long long))" "ac_cv_sizeof_unsigned_long_long"        "$ac_includes_default"; then :

else
  if test "$ac_cv_type_unsigned_long_long" = yes; then
     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_unsigned_long_long" >&5
$as_echo "$ac_cv_sizeof_unsigned_long_long" >&6; }



cat >>confdefs.h <<_ACEOF
#define SIZEOF_UNSIGNED_LONG_LONG $ac_cv_sizeof_unsigned_long_long
_ACEOF


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 :

	{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: set compiler with -m64" >&5
$as_echo "$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"



	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -Wno-format-truncation support" >&5
$as_echo_n "checking for -Wno-format-truncation support... " >&6; }

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

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

int
main ()
{

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

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

		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

else

		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }

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

	CFLAGS="$saved_flags"


	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -Wno-stringop-truncation support" >&5
$as_echo_n "checking for -Wno-stringop-truncation support... " >&6; }

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

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

int
main ()
{

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

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

		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

else

		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }

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

	CFLAGS="$saved_flags"


	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -Wno-stringop-overflow support" >&5
$as_echo_n "checking for -Wno-stringop-overflow support... " >&6; }

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

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

int
main ()
{

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

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

		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

else

		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }

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

	CFLAGS="$saved_flags"



{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use OSD addon" >&5
$as_echo_n "checking whether to use OSD addon... " >&6; }

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

else

		ENABLEOSDADDON=0

fi

if test $ENABLEOSDADDON -eq 0; then :

	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
	OSDADDON=""

else

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

		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: cannot link" >&5
$as_echo "cannot link" >&6; }
		OSDADDON=""

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

		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $OSDMODNAME" >&5
$as_echo "$OSDMODNAME" >&6; }
		OSDADDON="obj-m += $OSDMODNAME/"

else

		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: cannot link" >&5
$as_echo "cannot link" >&6; }
		OSDADDON=""

fi

fi




{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build Lustre docs" >&5
$as_echo_n "checking whether to build Lustre docs... " >&6; }
# Check whether --enable-doc was given.
if test "${enable_doc+set}" = set; then :
  enableval=$enable_doc;
else
  enable_doc="no"
fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_doc" >&5
$as_echo "$enable_doc" >&6; }
if test "x$enable_doc" = xyes; then :
  ENABLE_DOC=1
else
  ENABLE_DOC=0
fi



{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build Lustre manpages" >&5
$as_echo_n "checking whether to build Lustre manpages... " >&6; }
# Check whether --enable-manpages was given.
if test "${enable_manpages+set}" = set; then :
  enableval=$enable_manpages;
else
  enable_manpages="yes"
fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_manpages" >&5
$as_echo "$enable_manpages" >&6; }


{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build Lustre utilities" >&5
$as_echo_n "checking whether to build Lustre utilities... " >&6; }
# Check whether --enable-utils was given.
if test "${enable_utils+set}" = set; then :
  enableval=$enable_utils;
else
  enable_utils="yes"
fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_utils" >&5
$as_echo "$enable_utils" >&6; }


{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build Lustre tests" >&5
$as_echo_n "checking whether to build Lustre tests... " >&6; }
# Check whether --enable-tests was given.
if test "${enable_tests+set}" = set; then :
  enableval=$enable_tests;
else
  enable_tests="yes"
fi


#
# Check to see if we can build the lutf
#

	#
	# 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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_path_PYTHON+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_path_PYTHON="$as_dir/$ac_word$ac_exec_ext"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5
$as_echo "$PYTHON" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "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])
	   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find python in your system path" >&5
$as_echo "$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
	#
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a version of Python >= '3.6.0'" >&5
$as_echo_n "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
			{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
			PYTHON_VERSION_CHECK="no"

			{ $as_echo "$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
$as_echo "$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
			{ $as_echo "$as_me:${as_lineno-$LINENO}: result: skip at user request" >&5
$as_echo "skip at user request" >&6; }
		fi
	else
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
	fi

	#
	# if the macro parameter ``version'' is set, honour it
	#
	if test -n "" ; then
		{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a version of Python " >&5
$as_echo_n "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
		   { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
		else
			{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
			PYTHON_VERSION_CHECK="no"

			{ $as_echo "$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
$as_echo "$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
		{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for the distutils Python package" >&5
$as_echo_n "checking for the distutils Python package... " >&6; }
		ac_distutils_result=`$PYTHON -c "import distutils" 2>&1`
		if test $? -eq 0; then
			{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
		else
			{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
			PYTHON_VERSION_CHECK="no"

			{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cannot import Python module \"distutils\".
	Please check your Python installation. The error was:
	$ac_distutils_result" >&5
$as_echo "$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
		#
		{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Python include path" >&5
$as_echo_n "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
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON_CPPFLAGS" >&5
$as_echo "$PYTHON_CPPFLAGS" >&6; }


		#
		# Check for Python library path
		#
		{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Python library path" >&5
$as_echo_n "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

cat >>confdefs.h <<_ACEOF
#define HAVE_PYTHON "$ac_python_version"
_ACEOF


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

				{ $as_echo "$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
$as_echo "$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
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON_LIBS" >&5
$as_echo "$PYTHON_LIBS" >&6; }


		#
		# Check for site packages
		#
		{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Python site-packages path" >&5
$as_echo_n "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
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON_SITE_PKG" >&5
$as_echo "$PYTHON_SITE_PKG" >&6; }


		#
		# libraries which must be linked in when embedding
		#
		{ $as_echo "$as_me:${as_lineno-$LINENO}: checking python extra libraries" >&5
$as_echo_n "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
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON_EXTRA_LIBS" >&5
$as_echo "$PYTHON_EXTRA_LIBS" >&6; }


		#
		# linking flags needed when embedding
		#
		{ $as_echo "$as_me:${as_lineno-$LINENO}: checking python extra linking flags" >&5
$as_echo_n "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
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON_EXTRA_LDFLAGS" >&5
$as_echo "$PYTHON_EXTRA_LDFLAGS" >&6; }


		#
		# final check to see if everything compiles alright
		#
		{ $as_echo "$as_me:${as_lineno-$LINENO}: checking consistency of all components of python development environment" >&5
$as_echo_n "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 ()
{
Py_Initialize();
  ;
  return 0;
}

_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
  pythonexists=yes
else
  pythonexists=no
fi
rm -f core conftest.err conftest.$ac_objext \
    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"

		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pythonexists" >&5
$as_echo "$pythonexists" >&6; }

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

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

  if test "x$PYTHON_VERSION_CHECK" = xno; then :

	enable_lutf="no"

else


        # 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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_path_SWIG+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_path_SWIG="$as_dir/$ac_word$ac_exec_ext"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SWIG" >&5
$as_echo "$SWIG" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi


  test -n "$SWIG" && break
done

        if test -z "$SWIG" ; then
                 enable_lutf="no"
        elif test -n "2.0" ; then
                { $as_echo "$as_me:${as_lineno-$LINENO}: checking SWIG version" >&5
$as_echo_n "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'`
                { $as_echo "$as_me:${as_lineno-$LINENO}: result: $swig_version" >&5
$as_echo "$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
                                { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: SWIG version >= 2.0 is required.  You have $swig_version." >&5
$as_echo "$as_me: WARNING: SWIG version >= 2.0 is required.  You have $swig_version." >&2;}
                                SWIG=''
                                 enable_lutf="no"
                        else
                                { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SWIG library" >&5
$as_echo_n "checking for SWIG library... " >&6; }
                                SWIG_LIB=`$SWIG -swiglib`
                                { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SWIG_LIB" >&5
$as_echo "$SWIG_LIB" >&6; }
                                 enable_lutf="yes"
                        fi
                else
                        { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cannot determine SWIG version" >&5
$as_echo "$as_me: WARNING: cannot determine SWIG version" >&2;}
                        SWIG=''
                         enable_lutf="no"
                fi
        fi



fi

fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_tests" >&5
$as_echo "$enable_tests" >&6; }


{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build Lustre client support" >&5
$as_echo_n "checking whether to build Lustre client support... " >&6; }
# Check whether --enable-client was given.
if test "${enable_client+set}" = set; then :
  enableval=$enable_client;
else
  enable_client="yes"
fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_client" >&5
$as_echo "$enable_client" >&6; }


# Check whether --enable-mpitests was given.
if test "${enable_mpitests+set}" = set; 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

		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
		{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mpitests can be built" >&5
$as_echo_n "checking whether mpitests can be built... " >&6; }
if ${lb_cv_mpi_tests+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  lb_cv_mpi_tests="no"
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext

fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_mpi_tests" >&5
$as_echo "$lb_cv_mpi_tests" >&6; }
		enable_mpitests=$lb_cv_mpi_tests
		CC=$oldcc
	fi




# Check whether --enable-server was given.
if test "${enable_server+set}" = set; 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

		if test x$enable_dist = xyes; then :
  enable_server=no
else
  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.

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

else


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


fi

	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_modules ($target_os)" >&5
$as_echo "$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

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Linux sources" >&5
$as_echo_n "checking for Linux sources... " >&6; }

# Check whether --with-linux was given.
if test "${with_linux+set}" = set; 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
  LINUX=$DEFAULT_LINUX
fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $LINUX" >&5
$as_echo "$LINUX" >&6; }

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

as_lb_file=`$as_echo "lb_cv_file_$LINUX" | $as_tr_sh`
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LINUX" >&5
$as_echo_n "checking for $LINUX... " >&6; }
if eval \${$as_lb_file+:} false; then :
  $as_echo_n "(cached) " >&6
else

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

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

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

# -------- linux objects (for 2.6) --
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Linux objects" >&5
$as_echo_n "checking for Linux objects... " >&6; }

# Check whether --with-linux-obj was given.
if test "${with_linux_obj+set}" = set; 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
  LINUX_OBJ=$DEFAULT_LINUX_OBJ
fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $LINUX_OBJ" >&5
$as_echo "$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 :

			{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Setting LINUX to ${linux_headers_common} was ${LINUX}" >&5
$as_echo "$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+set}" = set; 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
  LINUX_CONFIG=$LINUX_OBJ/.config
fi


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

as_lb_file=`$as_echo "lb_cv_file_$LINUX_CONFIG" | $as_tr_sh`
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LINUX_CONFIG" >&5
$as_echo_n "checking for $LINUX_CONFIG... " >&6; }
if eval \${$as_lb_file+:} false; then :
  $as_echo_n "(cached) " >&6
else

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

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

else
  as_fn_error $? "

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

fi



{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for /boot/kernel.h" >&5
$as_echo_n "checking for /boot/kernel.h... " >&6; }
if ${lb_cv_file__boot_kernel_h+:} false; then :
  $as_echo_n "(cached) " >&6
else

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

fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_file__boot_kernel_h" >&5
$as_echo "$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_echo "$as_me:${as_lineno-$LINENO}: checking for /var/adm/running-kernel.h" >&5
$as_echo_n "checking for /var/adm/running-kernel.h... " >&6; }
if ${lb_cv_file__var_adm_running_kernel_h+:} false; then :
  $as_echo_n "(cached) " >&6
else

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

fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_file__var_adm_running_kernel_h" >&5
$as_echo "$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+set}" = set; 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=`$as_echo "lb_cv_file_$LINUX_OBJ/include/generated/autoconf.h" | $as_tr_sh`
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LINUX_OBJ/include/generated/autoconf.h" >&5
$as_echo_n "checking for $LINUX_OBJ/include/generated/autoconf.h... " >&6; }
if eval \${$as_lb_file+:} false; then :
  $as_echo_n "(cached) " >&6
else

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

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

as_lb_file=`$as_echo "lb_cv_file_$LINUX_OBJ/include/linux/autoconf.h" | $as_tr_sh`
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LINUX_OBJ/include/linux/autoconf.h" >&5
$as_echo_n "checking for $LINUX_OBJ/include/linux/autoconf.h... " >&6; }
if eval \${$as_lb_file+:} false; then :
  $as_echo_n "(cached) " >&6
else

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

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



as_lb_file=`$as_echo "lb_cv_file_$LINUX_OBJ/include/linux/version.h" | $as_tr_sh`
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LINUX_OBJ/include/linux/version.h" >&5
$as_echo_n "checking for $LINUX_OBJ/include/linux/version.h... " >&6; }
if eval \${$as_lb_file+:} false; then :
  $as_echo_n "(cached) " >&6
else

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

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

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

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

fi
eval ac_res=\$$as_lb_file
	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
if eval test \"x\$"$as_lb_file"\" = x"yes"; then :
  VERSION_HDIR=generated/uapi/linux
else
  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=`$as_echo "lb_cv_file_$LINUX/include/linux/kconfig.h" | $as_tr_sh`
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LINUX/include/linux/kconfig.h" >&5
$as_echo_n "checking for $LINUX/include/linux/kconfig.h... " >&6; }
if eval \${$as_lb_file+:} false; then :
  $as_echo_n "(cached) " >&6
else

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

fi
eval ac_res=\$$as_lb_file
	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
if eval test \"x\$"$as_lb_file"\" = x"yes"; then :
  CONFIG_INCLUDE=$LINUX/include/linux/kconfig.h
else
  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=`$as_echo "lb_cv_file_$KERNEL_SOURCE_HEADER" | $as_tr_sh`
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $KERNEL_SOURCE_HEADER" >&5
$as_echo_n "checking for $KERNEL_SOURCE_HEADER... " >&6; }
if eval \${$as_lb_file+:} false; then :
  $as_echo_n "(cached) " >&6
else

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

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

		if test $KERNEL_SOURCE_HEADER = '/boot/kernel.h'; then :
  { $as_echo "$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
$as_echo "$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_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"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for external module build target" >&5
$as_echo_n "checking for external module build target... " >&6; }
if ${lb_cv_module_target+:} false; then :
  $as_echo_n "(cached) " >&6
else

	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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_module_target="M54"
else
  $as_echo "$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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_module_target="M"
else
  $as_echo "$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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_module_target="M58"
else
  $as_echo "$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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_module_target="M517"
else
  $as_echo "$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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_module_target" >&5
$as_echo "$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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for compiler version text" >&5
$as_echo_n "checking for compiler version text... " >&6; }
if ${lb_cv_dequote_CC_VERSION_TEXT+:} false; then :
  $as_echo_n "(cached) " >&6
else

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

fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_dequote_CC_VERSION_TEXT" >&5
$as_echo "$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=$(gcc --version | head -n1 | tr ' ()' '.')
	MAKE_KMOD_ENV="CONFIG_CC_VERSION_TEXT='$CC_VERSION_TEXT'"
fi

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

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that modules can be built at all" >&5
$as_echo_n "checking that modules can be built at all... " >&6; }
if ${lb_cv_compile_build_modules+:} false; then :
  $as_echo_n "(cached) " >&6
else


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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_build_modules=yes
else
  $as_echo "$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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_build_modules" >&5
$as_echo "$lb_cv_compile_build_modules" >&6; }
if test "x$lb_cv_compile_build_modules" = xyes; then :

else

	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



{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Linux kernel utsrelease" >&5
$as_echo_n "checking for Linux kernel utsrelease... " >&6; }
if ${lb_cv_utsrelease+:} false; then :
  $as_echo_n "(cached) " >&6
else

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_fn_error $? "

Cannot find UTS_RELEASE definition.

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

fi

fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_utsrelease" >&5
$as_echo "$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"
	# And if any of the above kernels has been detected yet
	KERNEL_FOUND="no"

	# Check for RedHat first (no need to check KERNEL_FOUND
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for RedHat kernel release number" >&5
$as_echo_n "checking for RedHat kernel release number... " >&6; }
if ${lb_cv_rhel_kernel_version+:} false; then :
  $as_echo_n "(cached) " >&6
else

		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)
			lb_cv_rhel_kernel_release=$(awk \
				'/ RHEL_RELEASE / { print $3 }' \
				$LINUX_OBJ/include/$VERSION_HDIR/version.h | tr -d '"')

fi

fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_rhel_kernel_version" >&5
$as_echo "$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
		RHEL_RELEASE_STR=$lb_cv_rhel_kernel_release

fi

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



{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux kernel was built with CONFIG_SUSE_KERNEL" >&5
$as_echo_n "checking if Linux kernel was built with CONFIG_SUSE_KERNEL... " >&6; }
if ${lb_cv_compile_config_SUSE_KERNEL+:} false; then :
  $as_echo_n "(cached) " >&6
else


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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_config_SUSE_KERNEL=yes
else
  $as_echo "$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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_config_SUSE_KERNEL" >&5
$as_echo "$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 :

		{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Ubuntu kernel signature" >&5
$as_echo_n "checking for Ubuntu kernel signature... " >&6; }
if ${lb_cv_ubuntu_kernel_sig+:} false; then :
  $as_echo_n "(cached) " >&6
else

			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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_ubuntu_kernel_sig" >&5
$as_echo "$lb_cv_ubuntu_kernel_sig" >&6; }
		if test "x$lb_cv_ubuntu_kernel_sig" = "xyes"; then :

			UBUNTU_KERNEL="yes"
			KERNEL_FOUND="yes"

fi

fi

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

		{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ELRepo -ml kernel signature on CentOS" >&5
$as_echo_n "checking for ELRepo -ml kernel signature on CentOS... " >&6; }
if ${lb_cv_mainline_kernel_sig+:} false; then :
  $as_echo_n "(cached) " >&6
else

			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

fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_mainline_kernel_sig" >&5
$as_echo "$lb_cv_mainline_kernel_sig" >&6; }
		if test "x$lb_cv_mainline_kernel_sig" = "xyes"; then :

			RHEL_KERNEL="yes"
			KERNEL_FOUND="yes"

fi

fi

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

		{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Kernel Distro seems to be neither RedHat, SuSE nor Ubuntu" >&5
$as_echo "$as_me: WARNING: Kernel Distro seems to be neither RedHat, SuSE nor Ubuntu" >&2;}

fi

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Linux kernel module package directory" >&5
$as_echo_n "checking for Linux kernel module package directory... " >&6; }

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

		if test x$RHEL_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"
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Kernel Distro seems to be neither RedHat, SuSE nor Ubuntu" >&5
$as_echo "$as_me: WARNING: Kernel Distro seems to be neither RedHat, SuSE nor Ubuntu" >&2;}

fi
		IN_KERNEL="${PACKAGE}"
fi

	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $KMP_MODDIR" >&5
$as_echo "$KMP_MODDIR" >&6; }

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

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


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






{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for the name of module symbol version file" >&5
$as_echo_n "checking for the name of module symbol version file... " >&6; }
if ${lb_cv_module_symvers+:} false; then :
  $as_echo_n "(cached) " >&6
else

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

fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_module_symvers" >&5
$as_echo "$lb_cv_module_symvers" >&6; }
SYMVERFILE=$lb_cv_module_symvers


# 2.6.28

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux kernel module loading is possible" >&5
$as_echo_n "checking if Linux kernel module loading is possible... " >&6; }
if ${lb_cv_module_loading+:} false; then :
  $as_echo_n "(cached) " >&6
else


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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_module_loading="yes"
else
  $as_echo "$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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_module_loading" >&5
$as_echo "$lb_cv_module_loading" >&6; }
if test "$lb_cv_module_loading" = yes; then :

$as_echo "#define HAVE_MODULE_LOADING_SUPPORT 1" >>confdefs.h

else
  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:

Kernel module loading support is highly recommended.

" >&5
$as_echo "$as_me: WARNING:

Kernel module loading support is highly recommended.

" >&2;}

fi


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

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking ext4 source directory" >&5
$as_echo_n "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

	# 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

		# 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

			EXT4_SRC_DIR=""

fi

fi

fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $EXT4_SRC_DIR" >&5
$as_echo "$EXT4_SRC_DIR" >&6; }



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

	enable_ldiskfs_build="yes"

as_lb_file=`$as_echo "lb_cv_file_$EXT4_SRC_DIR/dir.c" | $as_tr_sh`
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $EXT4_SRC_DIR/dir.c" >&5
$as_echo_n "checking for $EXT4_SRC_DIR/dir.c... " >&6; }
if eval \${$as_lb_file+:} false; then :
  $as_echo_n "(cached) " >&6
else

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

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

else

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

fi

as_lb_file=`$as_echo "lb_cv_file_$EXT4_SRC_DIR/file.c" | $as_tr_sh`
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $EXT4_SRC_DIR/file.c" >&5
$as_echo_n "checking for $EXT4_SRC_DIR/file.c... " >&6; }
if eval \${$as_lb_file+:} false; then :
  $as_echo_n "(cached) " >&6
else

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

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

else

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

fi

as_lb_file=`$as_echo "lb_cv_file_$EXT4_SRC_DIR/inode.c" | $as_tr_sh`
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $EXT4_SRC_DIR/inode.c" >&5
$as_echo_n "checking for $EXT4_SRC_DIR/inode.c... " >&6; }
if eval \${$as_lb_file+:} false; then :
  $as_echo_n "(cached) " >&6
else

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

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

else

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

fi

as_lb_file=`$as_echo "lb_cv_file_$EXT4_SRC_DIR/super.c" | $as_tr_sh`
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $EXT4_SRC_DIR/super.c" >&5
$as_echo_n "checking for $EXT4_SRC_DIR/super.c... " >&6; }
if eval \${$as_lb_file+:} false; then :
  $as_echo_n "(cached) " >&6
else

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

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

else

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

fi

fi

if test "x$enable_ldiskfs_build" = xno; then :

	enable_ldiskfs="no"

	{ $as_echo "$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
$as_echo "$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+set}" = set; then :
  withval=$with_ldiskfs; { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --with-ldiskfs is deprecated, please use --enable-ldiskfs" >&5
$as_echo "$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+set}" = set; 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
  if test "${with_ldiskfs+set}" = set; then :
  enable_ldiskfs=$with_ldiskfs
else
  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



{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which ldiskfs series to use" >&5
$as_echo_n "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
	810)    LDISKFS_SERIES="4.18-rhel8.10.series"
		as_arg_v1=$RHEL_RELEASE_STR
as_arg_v2=553.22.1
awk "$as_awk_strverscmp" v1="$as_arg_v1" v2="$as_arg_v2" /dev/null
case $? in #(
  1) :
    LDISKFS_SERIES="4.18-rhel8.10-553.series" ;; #(
  0) :
     ;; #(
  2) :
     ;; #(
  *) :
     ;;
esac
		;;
	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"    ;;
	83)     LDISKFS_SERIES="4.18-rhel8.3.series"    ;;
	82)     LDISKFS_SERIES="4.18-rhel8.2.series"    ;;
	81)     LDISKFS_SERIES="4.18-rhel8.1.series"    ;;
	80)     LDISKFS_SERIES="4.18-rhel8.series"      ;;
	79)	LDISKFS_SERIES="3.10-rhel7.9.series"	;;
	78)	LDISKFS_SERIES="3.10-rhel7.8.series"	;;
	77)	LDISKFS_SERIES="3.10-rhel7.7.series"	;;
	76)	LDISKFS_SERIES="3.10-rhel7.6.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)
		echo "$suse_conf $suse_vers $suse_patchlevel  ${suse_vers}sp$suse_patchlevel" >> /tmp/log-nb
		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)
		echo "$suse_conf $suse_vers $suse_patchlevel  ${suse_vers}sp$suse_patchlevel" >> /tmp/log-nb

		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.4.0-66-ubuntu20.series"
			fi
			;; # (
		15sp3 ) LDISKFS_SERIES="5.3.18-sles15sp3.series"
			;;
		15sp4 ) LDISKFS_SERIES="5.14.21-sles15sp4.series"
			;;
		esac
	     ;; #(
  *) :
     ;;
esac

elif test x$UBUNTU_KERNEL = xyes; then :

	as_arg_v1=$LINUXRELEASE
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=$LINUXRELEASE
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=$LINUXRELEASE
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=$LINUXRELEASE
as_arg_v2=4.15.0
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.4.0
awk "$as_awk_strverscmp" v1="$as_arg_v1" v2="$as_arg_v2" /dev/null
case $? in #(
  1) :
     ;; #(
  0) :

		KPLEV=$(echo $LINUXRELEASE | sed -n 's/.*-\(0-9\+\).*/\1/p')
		if test -z "$KPLEV"; then :

				{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Failed to determine Kernel patch level. Assume latest." >&5
$as_echo "$as_me: WARNING: Failed to determine Kernel patch level. Assume latest." >&2;}
				LDISKFS_SERIES="4.4.0-73-ubuntu14+16.series"

elif test $KPLEV -ge 73; then :
  LDISKFS_SERIES="4.4.0-73-ubuntu14+16.series"
elif test $KPLEV -ge 62; then :
  LDISKFS_SERIES="4.4.0-62-ubuntu14+16.series"
elif test $KPLEV -ge 49; then :
  LDISKFS_SERIES="4.4.0-49-ubuntu14+16.series"
else
  LDISKFS_SERIES="4.4.0-45-ubuntu14+16.series"

fi
	 ;; #(
  2) :
    LDISKFS_SERIES="4.4.0-73-ubuntu14+16.series" ;; #(
  *) :
     ;;
esac ;; #(
  0) :

		KPLEV=$(echo $LINUXRELEASE | sed -n 's/.*-\(0-9\+\).*/\1/p')
		if test -z "$KPLEV"; then :

				{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Failed to determine Kernel patch level. Assume latest." >&5
$as_echo "$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) :
    LDISKFS_SERIES="5.4.0-42-ubuntu20.series" ;; #(
  2) :

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

				{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Failed to determine Kernel patch level. Assume latest." >&5
$as_echo "$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
  LDISKFS_SERIES="5.4.0-42-ubuntu20.series"

fi
	 ;; #(
  *) :
     ;;
esac ;; #(
  0) :
    LDISKFS_SERIES="5.8.0-53-ubuntu20.series" ;; #(
  2) :
    LDISKFS_SERIES="5.8.0-63-ubuntu20.series" ;; #(
  *) :
     ;;
esac

fi

fi
# Not RHEL/SLES 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) :
    # lt
	  LDISKFS_SERIES="5.4.21-ml.series" ;; #(
  2) :
    # eq
	  as_arg_v1=$LINUXRELEASE
as_arg_v2=5.8.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) :
    # lt
	    LDISKFS_SERIES="5.8.0-ml.series" ;; #(
  2) :
    # eq
	    as_arg_v1=$LINUXRELEASE
as_arg_v2=5.9.0
awk "$as_awk_strverscmp" v1="$as_arg_v1" v2="$as_arg_v2" /dev/null
case $? in #(
  1) :
    LDISKFS_SERIES="5.8.0-ml.series" ;; #(
  0) :
    # lt
	      LDISKFS_SERIES="5.9.0-ml.series" ;; #(
  2) :
    # eq
	      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.9.0-ml.series" ;; #(
  0) :
    # lt
	        LDISKFS_SERIES="5.10.0-ml.series" ;; #(
  2) :
    # eq
	        LDISKFS_SERIES="5.10.0-ml.series" ;; #(
  *) :
     ;;
esac
	     ;; #(
  *) :
     ;;
esac
	   ;; #(
  *) :
     ;;
esac
		 ;; #(
  *) :
     ;;
esac ;; #(
  *) :
     ;;
esac

fi
if test -z "$LDISKFS_SERIES"; then :
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed to identify series" >&5
$as_echo "failed to identify series" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LDISKFS_SERIES for $LINUXRELEASE" >&5
$as_echo "$LDISKFS_SERIES for $LINUXRELEASE" >&6; }
fi



	# Check whether --enable-quilt was given.
if test "${enable_quilt+set}" = set; then :
  enableval=$enable_quilt; if test "x$enableval" = xno; then :
  use_quilt=no
else
  use_quilt=maybe
fi
else
  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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_path_quilt_avail+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_path_quilt_avail="$as_dir/$ac_word$ac_exec_ext"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $quilt_avail" >&5
$as_echo "$quilt_avail" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi


		if test x$quilt_avail = xno; then :

			use_quilt=no

else

			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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_path_patch_avail+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_path_patch_avail="$as_dir/$ac_word$ac_exec_ext"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $patch_avail" >&5
$as_echo "$patch_avail" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi


		if test x$patch_avail = xno; then :

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

fi

fi


	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if ext4_(inc|dec)_count() have 2 arguments" >&5
$as_echo_n "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 :


$as_echo "#define HAVE_EXT4_INC_DEC_COUNT_2ARGS 1" >>confdefs.h

		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

else

		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }

fi


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

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if jbd2_journal_get_max_txn_bufs is available" >&5
$as_echo_n "checking if jbd2_journal_get_max_txn_bufs is available... " >&6; }
if ${lb_cv_compile_ext4_journal_get_write_access+:} false; then :
  $as_echo_n "(cached) " >&6
else


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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_ext4_journal_get_write_access=yes
else
  $as_echo "$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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_ext4_journal_get_write_access" >&5
$as_echo "$lb_cv_compile_ext4_journal_get_write_access" >&6; }
if test "x$lb_cv_compile_ext4_journal_get_write_access" = xyes; then :


$as_echo "#define HAVE_EXT4_JOURNAL_GET_WRITE_ACCESS_4ARGS 1" >>confdefs.h


fi
EXTRA_KCFLAGS="$tmp_flags"


$as_echo "#define CONFIG_LDISKFS_FS_POSIX_ACL 1" >>confdefs.h


$as_echo "#define CONFIG_LDISKFS_FS_SECURITY 1" >>confdefs.h


$as_echo "#define CONFIG_LDISKFS_FS_XATTR 1" >>confdefs.h


$as_echo "#define CONFIG_LDISKFS_FS_RW 1" >>confdefs.h

	LDISKFS_SUBDIR=ldiskfs


$as_echo "#define HAVE_LDISKFS_OSD 1" >>confdefs.h


else

	ENABLE_LDISKFS=no


fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build ldiskfs" >&5
$as_echo_n "checking whether to build ldiskfs... " >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_ldiskfs" >&5
$as_echo "$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+set}" = set; 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

				enable_spl=yes
				enable_zfs=yes
				require_zfs=yes
				zfssrc="$withval"

fi

else

			if test x$enable_server != xno; then :

				enable_spl=yes
				require_zfs=no
				enable_zfs=yes

else

				enable_spl=no
				require_zfs=no
				enable_zfs=no

fi

fi


	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable zfs" >&5
$as_echo_n "checking whether to enable zfs... " >&6; }
	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_zfs" >&5
$as_echo "$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+set}" = set; 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"

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking zfs source directory" >&5
$as_echo_n "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

			zfssrc="Not found"

fi

fi
	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $zfssrc" >&5
$as_echo "$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.
	#
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking zfs build directory" >&5
$as_echo_n "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

				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

			zfsobj="Not found"

fi

fi

	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $zfsobj" >&5
$as_echo "$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 :

		{ $as_echo "$as_me:${as_lineno-$LINENO}: checking zfs source version" >&5
$as_echo_n "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

			zfsver="Not found"
			enable_zfs=no

fi
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $zfsver" >&5
$as_echo "$zfsver" >&6; }

fi

	#
	# Verify the modules systems exist by the expect name.
	#
	if test x$enable_zfs = xyes; then :

		{ $as_echo "$as_me:${as_lineno-$LINENO}: checking zfs file name for module symbols" >&5
$as_echo_n "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

			zfssym="Not found"
			enable_zfs=no

fi
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $zfssym" >&5
$as_echo "$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+set}" = set; then :
  withval=$with_zfs_devel; zfsdevel="$withval"
fi


	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking user provided zfs devel headers" >&5
$as_echo_n "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_fn_error $? "Path to development headers directory does not exist" "$LINENO" 5

fi

fi
	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $zfsinc" >&5
$as_echo "$zfsinc" >&6; }


	#
	# Detect user space zfs development headers.
	#
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking zfs devel headers" >&5
$as_echo_n "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

			zfsinc="Not Found"
			zfslib=""
			enable_zfs=no

fi

fi
	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $zfsinc" >&5
$as_echo "$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


cat >>confdefs.h <<_ACEOF
#define ZFS_MAJOR $ZFS_MAJOR
_ACEOF


cat >>confdefs.h <<_ACEOF
#define ZFS_MINOR $ZFS_MINOR
_ACEOF


cat >>confdefs.h <<_ACEOF
#define ZFS_PATCH $ZFS_PATCH
_ACEOF


cat >>confdefs.h <<_ACEOF
#define ZFS_FIX $ZFS_FIX
_ACEOF


		#
		# 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+set}" = set; then :
  withval=$with_spl; splsrc="$withval"
fi



# Check whether --with-spl-obj was given.
if test "${with_spl_obj+set}" = set; 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"

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking spl source directory" >&5
$as_echo_n "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

			splsrc="Not found"

fi

fi
	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $splsrc" >&5
$as_echo "$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.
	#
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking spl build directory" >&5
$as_echo_n "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

				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

			splobj="Not found"

fi

fi
	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $splobj" >&5
$as_echo "$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 :

		{ $as_echo "$as_me:${as_lineno-$LINENO}: checking spl source version" >&5
$as_echo_n "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

			splver="Not found"
			enable_zfs=no

fi
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $splver" >&5
$as_echo "$splver" >&6; }

fi

	#
	# Verify the modules systems exist by the expect name.
	#
	if test x$enable_zfs = xyes; then :

		{ $as_echo "$as_me:${as_lineno-$LINENO}: checking spl file name for module symbols" >&5
$as_echo_n "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

			splsym="Not found"
			enable_zfs=no

fi
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $splsym" >&5
$as_echo "$splsym" >&6; }

fi

	if test x$enable_zfs = xyes; then :

		SPL=${splsrc}
		SPL_OBJ=${splobj}
		SPL_VERSION=${splver}






fi



else

			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 :


$as_echo "#define HAVE_ZFS_OSD 1" >>confdefs.h


else

			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_echo "$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
$as_echo "$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

		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

{ $as_echo "$as_me:${as_lineno-$LINENO}: LibCFS kernel checks
==============================================================================" >&5
$as_echo "$as_me: LibCFS kernel checks
==============================================================================" >&6;}

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use tunable 'panic_dumplog' support" >&5
$as_echo_n "checking whether to use tunable 'panic_dumplog' support... " >&6; }
# Check whether --enable-panic_dumplog was given.
if test "${enable_panic_dumplog+set}" = set; then :
  enableval=$enable_panic_dumplog;
else
  enable_panic_dumplog="no"
fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_panic_dumplog" >&5
$as_echo "$enable_panic_dumplog" >&6; }
if test "x$enable_panic_dumplog" = xyes; then :


$as_echo "#define LNET_DUMP_ON_PANIC 1" >>confdefs.h

	ENABLE_PANIC_DUMPLOG=yes


else

	ENABLE_PANIC_DUMPLOG=no


fi


# 4.6 - Header Check



	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for linux/stringhash.h" >&5
$as_echo_n "checking for linux/stringhash.h... " >&6; }
if ${lb_cv_header_linux_stringhash_h+:} false; then :
  $as_echo_n "(cached) " >&6
else

		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/stringhash.h>
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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_header_linux_stringhash_h=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

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

fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_header_linux_stringhash_h" >&5
$as_echo "$lb_cv_header_linux_stringhash_h" >&6; }
	if test "x$lb_cv_header_linux_stringhash_h" = xyes; then :


$as_echo "#define HAVE_STRINGHASH 1" >>confdefs.h

fi



# 4.6 - Export Check


{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux kernel exports 'kset_find_obj'" >&5
$as_echo_n "checking if Linux kernel exports 'kset_find_obj'... " >&6; }
if ${lb_cv_export_kset_find_obj+:} false; then :
  $as_echo_n "(cached) " >&6
else

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
  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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_export_kset_find_obj" >&5
$as_echo "$lb_cv_export_kset_find_obj" >&6; }
if test "x$lb_cv_export_kset_find_obj" = xyes; then :

$as_echo "#define HAVE_KSET_FIND_OBJ 1" >>confdefs.h

fi

# 4.10 - Header Check

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


	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for linux/refcount.h" >&5
$as_echo_n "checking for linux/refcount.h... " >&6; }
if ${lb_cv_header_linux_refcount_h+:} false; then :
  $as_echo_n "(cached) " >&6
else

		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/refcount.h>
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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_header_linux_refcount_h=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

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

fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_header_linux_refcount_h" >&5
$as_echo "$lb_cv_header_linux_refcount_h" >&6; }
	if test "x$lb_cv_header_linux_refcount_h" = xyes; then :


$as_echo "#define HAVE_REFCOUNT_T 1" >>confdefs.h


fi


EXTRA_KCFLAGS="$tmp_flags"

# 4.11 - Header Check



	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for linux/sched/signal.h" >&5
$as_echo_n "checking for linux/sched/signal.h... " >&6; }
if ${lb_cv_header_linux_sched_signal_h+:} false; then :
  $as_echo_n "(cached) " >&6
else

		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/sched/signal.h>
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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_header_linux_sched_signal_h=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

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

fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_header_linux_sched_signal_h" >&5
$as_echo "$lb_cv_header_linux_sched_signal_h" >&6; }
	if test "x$lb_cv_header_linux_sched_signal_h" = xyes; then :


$as_echo "#define HAVE_SCHED_HEADERS 1" >>confdefs.h

fi



# 4.13 - Header Checks

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


	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for linux/processor.h" >&5
$as_echo_n "checking for linux/processor.h... " >&6; }
if ${lb_cv_header_linux_processor_h+:} false; then :
  $as_echo_n "(cached) " >&6
else

		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/processor.h>
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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_header_linux_processor_h=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

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

fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_header_linux_processor_h" >&5
$as_echo "$lb_cv_header_linux_processor_h" >&6; }
	if test "x$lb_cv_header_linux_processor_h" = xyes; then :


$as_echo "#define HAVE_PROCESSOR_H 1" >>confdefs.h


fi


EXTRA_KCFLAGS="$tmp_flags"




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for linux/wait_bit.h" >&5
$as_echo_n "checking for linux/wait_bit.h... " >&6; }
if ${lb_cv_header_linux_wait_bit_h+:} false; then :
  $as_echo_n "(cached) " >&6
else

		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/wait_bit.h>
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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_header_linux_wait_bit_h=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

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

fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_header_linux_wait_bit_h" >&5
$as_echo "$lb_cv_header_linux_wait_bit_h" >&6; }
	if test "x$lb_cv_header_linux_wait_bit_h" = xyes; then :


$as_echo "#define HAVE_WAIT_BIT_HEADER_H 1" >>confdefs.h

fi



# 4.13 - Export Check


{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux kernel exports 'save_stack_trace_tsk'" >&5
$as_echo_n "checking if Linux kernel exports 'save_stack_trace_tsk'... " >&6; }
if ${lb_cv_export_save_stack_trace_tsk+:} false; then :
  $as_echo_n "(cached) " >&6
else

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
  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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_export_save_stack_trace_tsk" >&5
$as_echo "$lb_cv_export_save_stack_trace_tsk" >&6; }
if test "x$lb_cv_export_save_stack_trace_tsk" = xyes; then :

$as_echo "#define HAVE_SAVE_STACK_TRACE_TSK 1" >>confdefs.h

fi

# 5.0


{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux kernel exports '__genradix_ptr'" >&5
$as_echo_n "checking if Linux kernel exports '__genradix_ptr'... " >&6; }
if ${lb_cv_export___genradix_ptr+:} false; then :
  $as_echo_n "(cached) " >&6
else

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
  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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_export___genradix_ptr" >&5
$as_echo "$lb_cv_export___genradix_ptr" >&6; }
if test "x$lb_cv_export___genradix_ptr" = xyes; then :

$as_echo "#define HAVE_GENRADIX_SUPPORT 1" >>confdefs.h

fi

# 5.7 - Export Check and Header Check


{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux kernel exports 'kallsyms_lookup_name'" >&5
$as_echo_n "checking if Linux kernel exports 'kallsyms_lookup_name'... " >&6; }
if ${lb_cv_export_kallsyms_lookup_name+:} false; then :
  $as_echo_n "(cached) " >&6
else

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
  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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_export_kallsyms_lookup_name" >&5
$as_echo "$lb_cv_export_kallsyms_lookup_name" >&6; }
if test "x$lb_cv_export_kallsyms_lookup_name" = xyes; then :

$as_echo "#define HAVE_KALLSYMS_LOOKUP_NAME 1" >>confdefs.h

fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for crypto/sha2.h" >&5
$as_echo_n "checking for crypto/sha2.h... " >&6; }
if ${lb_cv_header_crypto_sha2_h+:} false; then :
  $as_echo_n "(cached) " >&6
else

		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 <crypto/sha2.h>
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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_header_crypto_sha2_h=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

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

fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_header_crypto_sha2_h" >&5
$as_echo "$lb_cv_header_crypto_sha2_h" >&6; }
	if test "x$lb_cv_header_crypto_sha2_h" = xyes; then :


$as_echo "#define HAVE_CRYPTO_SHA2_HEADER 1" >>confdefs.h

fi



# 5.8

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

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if ip6_sock_set_addr_preferences() exists" >&5
$as_echo_n "checking if ip6_sock_set_addr_preferences() exists... " >&6; }
if ${lb_cv_compile_ip6_set_pref_test+:} false; then :
  $as_echo_n "(cached) " >&6
else


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 <net/ipv6.h>

int
main (void)
{

	ip6_sock_set_addr_preferences(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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_ip6_set_pref_test=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

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


fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_ip6_set_pref_test" >&5
$as_echo "$lb_cv_compile_ip6_set_pref_test" >&6; }
if test "x$lb_cv_compile_ip6_set_pref_test" = xyes; then :


$as_echo "#define HAVE_IP6_SET_PREF 1" >>confdefs.h


fi
EXTRA_KCFLAGS="$tmp_flags"

# 5.12 - Header Check

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


	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for crypto/internal/cipher.h" >&5
$as_echo_n "checking for crypto/internal/cipher.h... " >&6; }
if ${lb_cv_header_crypto_internal_cipher_h+:} false; then :
  $as_echo_n "(cached) " >&6
else

		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 <crypto/internal/cipher.h>
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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_header_crypto_internal_cipher_h=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

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

fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_header_crypto_internal_cipher_h" >&5
$as_echo "$lb_cv_header_crypto_internal_cipher_h" >&6; }
	if test "x$lb_cv_header_crypto_internal_cipher_h" = xyes; then :


$as_echo "#define HAVE_CIPHER_H 1" >>confdefs.h


fi


EXTRA_KCFLAGS="$tmp_flags"

# 5.14 - Header Checks

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


	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for linux/stdarg.h" >&5
$as_echo_n "checking for linux/stdarg.h... " >&6; }
if ${lb_cv_header_linux_stdarg_h+:} false; then :
  $as_echo_n "(cached) " >&6
else

		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/stdarg.h>
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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_header_linux_stdarg_h=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

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

fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_header_linux_stdarg_h" >&5
$as_echo "$lb_cv_header_linux_stdarg_h" >&6; }
	if test "x$lb_cv_header_linux_stdarg_h" = xyes; then :


$as_echo "#define HAVE_LINUX_STDARG_HEADER 1" >>confdefs.h


fi


EXTRA_KCFLAGS="$tmp_flags"


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


	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for linux/panic_notifier.h" >&5
$as_echo_n "checking for linux/panic_notifier.h... " >&6; }
if ${lb_cv_header_linux_panic_notifier_h+:} false; then :
  $as_echo_n "(cached) " >&6
else

		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/panic_notifier.h>
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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_header_linux_panic_notifier_h=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

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

fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_header_linux_panic_notifier_h" >&5
$as_echo "$lb_cv_header_linux_panic_notifier_h" >&6; }
	if test "x$lb_cv_header_linux_panic_notifier_h" = xyes; then :


$as_echo "#define HAVE_PANIC_NOTIFIER_H 1" >>confdefs.h


fi


EXTRA_KCFLAGS="$tmp_flags"

# 5.15 - Header Check

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


	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for linux/blk-integrity.h" >&5
$as_echo_n "checking for linux/blk-integrity.h... " >&6; }
if ${lb_cv_header_linux_blk_integrity_h+:} false; then :
  $as_echo_n "(cached) " >&6
else

		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/blk-integrity.h>
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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_header_linux_blk_integrity_h=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

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

fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_header_linux_blk_integrity_h" >&5
$as_echo "$lb_cv_header_linux_blk_integrity_h" >&6; }
	if test "x$lb_cv_header_linux_blk_integrity_h" = xyes; then :


$as_echo "#define HAVE_LINUX_BLK_INTEGRITY_HEADER 1" >>confdefs.h


fi


EXTRA_KCFLAGS="$tmp_flags"



{ $as_echo "$as_me:${as_lineno-$LINENO}: LNet kernel checks
==============================================================================" >&5
$as_echo "$as_me: LNet kernel checks
==============================================================================" >&6;}


{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable tunable backoff TCP support" >&5
$as_echo_n "checking whether to enable tunable backoff TCP support... " >&6; }
# Check whether --enable-backoff was given.
if test "${enable_backoff+set}" = set; then :
  enableval=$enable_backoff;
else
  enable_backoff="yes"
fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_backoff" >&5
$as_echo "$enable_backoff" >&6; }
if test "x$enable_backoff" = xyes; then :

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux kernel has tunable backoff TCP support" >&5
$as_echo_n "checking if Linux kernel has tunable backoff TCP support... " >&6; }
	if grep -c TCP_BACKOFF $LINUX/include/linux/tcp.h >/dev/null; then :

		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

$as_echo "#define SOCKNAL_BACKOFF 1" >>confdefs.h

		if grep rto_max $LINUX/include/linux/tcp.h | grep -q __u16 >/dev/null; then :

$as_echo "#define SOCKNAL_BACKOFF_MS 1" >>confdefs.h

fi

else

		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }

fi

	ENABLE_BACKOFF=yes


else

	ENABLE_BACKOFF=no



fi


{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use Compat RDMA" >&5
$as_echo_n "checking whether to use Compat RDMA... " >&6; }

# Check whether --with-o2ib was given.
if test "${with_o2ib+set}" = set; then :
  withval=$with_o2ib;
else
  with_o2ib="yes"
fi


case $with_o2ib in
	yes)    if which ofed_info 2>/dev/null; then :

			if test x$uses_dpkg = xyes; then :

				LIST_ALL_PKG="dpkg -l | awk '{print \$2}'"
				LSPKG="dpkg --listfiles"

else

				LIST_ALL_PKG="rpm -qa"
				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 $LIST_ALL_PKG |
				       egrep -w "$O2IBPKG" | xargs $LSPKG |
				       egrep "${O2IBDIR}$" | head -n1)

			if test -n "$O2IBDIR_PATH"; then
				if test -d $O2IBDIR_PATH/${LINUXRELEASE}; then
					O2IBDIR_PATH=$O2IBDIR_PATH/${LINUXRELEASE}
				fi
				O2IBPATHS=$(find $O2IBDIR_PATH -name rdma_cm.h |
					sed -e 's/\/include\/rdma\/rdma_cm.h//')
			fi

			if test -z "$O2IBPATHS"; then :

				as_fn_error $? "
You seem to have an OFED installed but have not installed it's devel package.
If you still want to build Lustre for your OFED I/B stack, you need to install its devel headers RPM.
Instead, if you want to build Lustre for your kernel's built-in I/B stack rather than your installed OFED stack, either remove the OFED package(s) or use --with-o2ib=no.
					     " "$LINENO" 5

fi
			if test $(echo $O2IBPATHS | wc -w) -ge 2; then :

				as_fn_error $? "
It appears that you have multiple OFED versions installed.
If you still want to build Lustre for your OFED I/B stack, you need to install a single version with its devel headers RPM.
Instead, if you want to build Lustre for your in-kernel I/B stack rather than your installed external OFED stack, either remove the OFED package(s) or use --with-o2ib=no.
					     " "$LINENO" 5

fi
			if test -e $O2IBPATHS/${LINUXRELEASE}; then
			    O2IBPATHS=$O2IBPATHS/${LINUXRELEASE}
			elif test -e $O2IBPATHS/default; then
			    O2IBPATHS=$O2IBPATHS/default
			fi
			OFED="yes"

else

			O2IBPATHS="$LINUX $LINUX/drivers/infiniband"

fi
		ENABLEO2IB="yes"
		;;
	no)     ENABLEO2IB="no"
		;;
	*)      O2IBPATHS=$with_o2ib
		ENABLEO2IB="withpath"
		OFED="yes"
		;;
esac

if test $ENABLEO2IB = "no"; then :

	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }



else

	o2ib_found=false
	for O2IBPATH in $O2IBPATHS; do
		if test \( -f ${O2IBPATH}/include/rdma/rdma_cm.h -a \
			   -f ${O2IBPATH}/include/rdma/ib_cm.h -a \
			   -f ${O2IBPATH}/include/rdma/ib_verbs.h \); then :

			o2ib_found=true
			break

fi
	done
	if ! $o2ib_found; then
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
		case $ENABLEO2IB in
			"yes") as_fn_error $? "no OFED nor kernel OpenIB gen2 headers present" "$LINENO" 5 ;;
			"withpath") as_fn_error $? "bad --with-o2ib path" "$LINENO" 5 ;;
			*) as_fn_error $? "internal error" "$LINENO" 5 ;;
		esac
	else
		COMPAT_AUTOCONF=""
		compatrdma_found=false
		if test -f ${O2IBPATH}/include/linux/compat-2.6.h; then
			{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
			compatrdma_found=true

$as_echo "#define HAVE_COMPAT_RDMA 1" >>confdefs.h

			EXTRA_OFED_CONFIG="$EXTRA_OFED_CONFIG -include ${O2IBPATH}/include/linux/compat-2.6.h"
			if test -f "$O2IBPATH/include/linux/compat_autoconf.h"; then
				COMPAT_AUTOCONF="$O2IBPATH/include/linux/compat_autoconf.h"
			fi
		else
			{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
		fi
		if ! $compatrdma_found; then
			if test -f "$O2IBPATH/config.mk"; then
				. "$O2IBPATH/config.mk"
			elif test -f "$O2IBPATH/ofed_patch.mk"; then
				. "$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

		{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use any OFED backport headers" >&5
$as_echo_n "checking whether to use any OFED backport headers... " >&6; }
		if test -n "$BACKPORT_INCLUDES"; then
			{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
			OFED_BACKPORT_PATH="$O2IBPATH/${BACKPORT_INCLUDES/*\/kernel_addons/kernel_addons}/"
			EXTRA_OFED_INCLUDE="-I$OFED_BACKPORT_PATH $EXTRA_OFED_INCLUDE"
		else
			{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
		fi

		O2IBLND=""
		O2IBPATH=$(readlink --canonicalize $O2IBPATH)
		EXTRA_OFED_INCLUDE="$EXTRA_OFED_INCLUDE -I$O2IBPATH/include -I$O2IBPATH/include/uapi"
		EXTRA_CHECK_INCLUDE="$EXTRA_OFED_CONFIG $EXTRA_OFED_INCLUDE"

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable OpenIB gen2 support" >&5
$as_echo_n "checking whether to enable OpenIB gen2 support... " >&6; }
if ${lb_cv_compile_openib_gen2_support+:} false; then :
  $as_echo_n "(cached) " >&6
else


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_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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_openib_gen2_support=yes
else
  $as_echo "$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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_openib_gen2_support" >&5
$as_echo "$lb_cv_compile_openib_gen2_support" >&6; }
if test "x$lb_cv_compile_openib_gen2_support" = xyes; then :

			O2IBLND="o2iblnd"

else

			case $ENABLEO2IB in
			"yes") as_fn_error $? "can't compile with OpenIB gen2 headers" "$LINENO" 5 ;;
			"withpath") as_fn_error $? "can't compile with OpenIB gen2 headers under $O2IBPATH" "$LINENO" 5 ;;
			*) as_fn_error $? "internal error" "$LINENO" 5 ;;
			esac

fi
		# we know at this point that the found OFED source is good
		O2IB_SYMVER=""
		if test -f $O2IBPATH/Module.symvers; then
			O2IB_SYMVER=$O2IBPATH/Module.symvers
		elif test "x$SUSE_KERNEL" = "xyes"; then
			O2IB_SYMVER=$(find ${O2IBPATH}* -name Module.symvers)
			# Select only the current 'flavor' if there is more than 1
			NUM_AVAIL=$(find ${O2IBPATH}* -name Module.symvers | wc -l)
			if test ${NUM_AVAIL} -gt 1; then
				PREFER=$(basename ${LINUX_OBJ})
				for F in $(find ${O2IBPATH}-obj -name Module.symvers)
				do
					maybe=$(echo $F | grep "/${PREFER}")
					if test "x$maybe" != "x"; then
						O2IB_SYMVER=$F
					fi
				done
			fi
		elif test -f $LINUX_OBJ/Module.symvers; then
			# Debian symvers is in the arch tree
			O2IB_SYMVER=$LINUX_OBJ/Module.symvers
		fi
		if test -n "$O2IB_SYMVER"; then
			if test ! "$O2IB_SYMVER" -ef "$LINUX_OBJ/Module.symvers"; then
				{ $as_echo "$as_me:${as_lineno-$LINENO}: adding $O2IB_SYMVER to Symbol Path O2IB" >&5
$as_echo "$as_me: adding $O2IB_SYMVER to Symbol Path O2IB" >&6;}
				EXTRA_SYMBOLS="$EXTRA_SYMBOLS $O2IB_SYMVER"

			fi
		else
			as_fn_error $? "an external source tree was, either specified or detected, for o2iblnd however I could not find a $O2IBPATH/Module.symvers there" "$LINENO" 5
		fi


{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux kernel has kthread_worker" >&5
$as_echo_n "checking if Linux kernel has kthread_worker... " >&6; }
if ${lb_cv_compile_linux_kthread_worker+:} false; then :
  $as_echo_n "(cached) " >&6
else


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_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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_linux_kthread_worker=yes
else
  $as_echo "$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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_linux_kthread_worker" >&5
$as_echo "$lb_cv_compile_linux_kthread_worker" >&6; }
if test "x$lb_cv_compile_linux_kthread_worker" = xyes; then :


$as_echo "#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

fi






if test $ENABLEO2IB != "no"; then :

	EXTRA_CHECK_INCLUDE="$EXTRA_OFED_CONFIG $EXTRA_OFED_INCLUDE"
	if test ! $O2IBPATH -ef $LINUX_OBJ &&
	   test -f $O2IBPATH/Module.symvers; then
		KBUILD_EXTRA_SYMBOLS="$KBUILD_EXTRA_SYMBOLS $O2IBPATH/Module.symvers"
	fi

	# In RHEL 6.2, rdma_create_id() takes the queue-pair type as a fourth argument

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'rdma_create_id' wants four args" >&5
$as_echo_n "checking if 'rdma_create_id' wants four args... " >&6; }
if ${lb_cv_compile_rdma_create_id_4args+:} false; then :
  $as_echo_n "(cached) " >&6
else


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_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");
_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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_rdma_create_id_4args=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

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


fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_rdma_create_id_4args" >&5
$as_echo "$lb_cv_compile_rdma_create_id_4args" >&6; }
if test "x$lb_cv_compile_rdma_create_id_4args" = xyes; then :


$as_echo "#define HAVE_RDMA_CREATE_ID_4ARG 1" >>confdefs.h


fi

	# 4.4 added network namespace parameter for rdma_create_id()

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'rdma_create_id' wants five args" >&5
$as_echo_n "checking if 'rdma_create_id' wants five args... " >&6; }
if ${lb_cv_compile_rdma_create_id_5args+:} false; then :
  $as_echo_n "(cached) " >&6
else


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_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");
_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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_rdma_create_id_5args=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

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


fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_rdma_create_id_5args" >&5
$as_echo "$lb_cv_compile_rdma_create_id_5args" >&6; }
if test "x$lb_cv_compile_rdma_create_id_5args" = xyes; then :


$as_echo "#define HAVE_RDMA_CREATE_ID_5ARG 1" >>confdefs.h


fi

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

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'struct ib_cq_init_attr' is used" >&5
$as_echo_n "checking if 'struct ib_cq_init_attr' is used... " >&6; }
if ${lb_cv_compile_ib_cq_init_attr+:} false; then :
  $as_echo_n "(cached) " >&6
else


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_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");
_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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_ib_cq_init_attr=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

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


fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_ib_cq_init_attr" >&5
$as_echo "$lb_cv_compile_ib_cq_init_attr" >&6; }
if test "x$lb_cv_compile_ib_cq_init_attr" = xyes; then :


$as_echo "#define HAVE_IB_CQ_INIT_ATTR 1" >>confdefs.h


fi

	# 4.3 removed ib_alloc_fast_reg_mr()

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'ib_alloc_fast_reg_mr' exists" >&5
$as_echo_n "checking if 'ib_alloc_fast_reg_mr' exists... " >&6; }
if ${lb_cv_compile_ib_alloc_fast_reg_mr+:} false; then :
  $as_echo_n "(cached) " >&6
else


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_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");
_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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_ib_alloc_fast_reg_mr=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

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


fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_ib_alloc_fast_reg_mr" >&5
$as_echo "$lb_cv_compile_ib_alloc_fast_reg_mr" >&6; }
if test "x$lb_cv_compile_ib_alloc_fast_reg_mr" = xyes; then :


$as_echo "#define HAVE_IB_ALLOC_FAST_REG_MR 1" >>confdefs.h


fi

	# 4.9 must stop using ib_get_dma_mr and the global MR
	# We then have to use FMR/Fastreg for all RDMA.

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'ib_get_dma_mr' exists" >&5
$as_echo_n "checking if 'ib_get_dma_mr' exists... " >&6; }
if ${lb_cv_compile_ib_get_dma_mr+:} false; then :
  $as_echo_n "(cached) " >&6
else


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_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");
_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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_ib_get_dma_mr=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

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


fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_ib_get_dma_mr" >&5
$as_echo "$lb_cv_compile_ib_get_dma_mr" >&6; }
if test "x$lb_cv_compile_ib_get_dma_mr" = xyes; then :


$as_echo "#define HAVE_IB_GET_DMA_MR 1" >>confdefs.h


fi

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

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'struct ib_rdma_wr' is defined" >&5
$as_echo_n "checking if 'struct ib_rdma_wr' is defined... " >&6; }
if ${lb_cv_compile_ib_rdma_wr+:} false; then :
  $as_echo_n "(cached) " >&6
else


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_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");
_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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_ib_rdma_wr=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

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


fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_ib_rdma_wr" >&5
$as_echo "$lb_cv_compile_ib_rdma_wr" >&6; }
if test "x$lb_cv_compile_ib_rdma_wr" = xyes; then :


$as_echo "#define HAVE_IB_RDMA_WR 1" >>confdefs.h


fi

	# new fast registration API introduced in 4.4

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 4arg 'ib_map_mr_sg' exists" >&5
$as_echo_n "checking if 4arg 'ib_map_mr_sg' exists... " >&6; }
if ${lb_cv_compile_ib_map_mr_sg_4args+:} false; then :
  $as_echo_n "(cached) " >&6
else


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_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");
_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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_ib_map_mr_sg_4args=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

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


fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_ib_map_mr_sg_4args" >&5
$as_echo "$lb_cv_compile_ib_map_mr_sg_4args" >&6; }
if test "x$lb_cv_compile_ib_map_mr_sg_4args" = xyes; then :


$as_echo "#define HAVE_IB_MAP_MR_SG 1" >>confdefs.h


fi

	# ib_map_mr_sg changes from 4 to 5 args (adding sg_offset_p)
	# in kernel 4.7 (and RHEL 7.3)

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 5arg 'ib_map_mr_sg' exists" >&5
$as_echo_n "checking if 5arg 'ib_map_mr_sg' exists... " >&6; }
if ${lb_cv_compile_ib_map_mr_sg_5args+:} false; then :
  $as_echo_n "(cached) " >&6
else


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_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");
_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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_ib_map_mr_sg_5args=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

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


fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_ib_map_mr_sg_5args" >&5
$as_echo "$lb_cv_compile_ib_map_mr_sg_5args" >&6; }
if test "x$lb_cv_compile_ib_map_mr_sg_5args" = xyes; then :


$as_echo "#define HAVE_IB_MAP_MR_SG 1" >>confdefs.h


$as_echo "#define HAVE_IB_MAP_MR_SG_5ARGS 1" >>confdefs.h


fi

	# ib_query_device() removed in 4.5

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'struct ib_device' has member 'attrs'" >&5
$as_echo_n "checking if 'struct ib_device' has member 'attrs'... " >&6; }
if ${lb_cv_compile_ib_device_attrs+:} false; then :
  $as_echo_n "(cached) " >&6
else


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_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");
_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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_ib_device_attrs=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

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


fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_ib_device_attrs" >&5
$as_echo "$lb_cv_compile_ib_device_attrs" >&6; }
if test "x$lb_cv_compile_ib_device_attrs" = xyes; then :


$as_echo "#define HAVE_IB_DEVICE_ATTRS 1" >>confdefs.h


fi

	# A flags argument was added to ib_alloc_pd() in Linux 4.9,
	# commit ed082d36a7b2c27d1cda55fdfb28af18040c4a89

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 2arg 'ib_alloc_pd' exists" >&5
$as_echo_n "checking if 2arg 'ib_alloc_pd' exists... " >&6; }
if ${lb_cv_compile_ib_alloc_pd+:} false; then :
  $as_echo_n "(cached) " >&6
else


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_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");
_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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_ib_alloc_pd=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

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


fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_ib_alloc_pd" >&5
$as_echo "$lb_cv_compile_ib_alloc_pd" >&6; }
if test "x$lb_cv_compile_ib_alloc_pd" = xyes; then :


$as_echo "#define HAVE_IB_ALLOC_PD_2ARGS 1" >>confdefs.h


fi


{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if function 'ib_inc_rkey' is defined" >&5
$as_echo_n "checking if function 'ib_inc_rkey' is defined... " >&6; }
if ${lb_cv_compile_ib_inc_rkey+:} false; then :
  $as_echo_n "(cached) " >&6
else


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_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");
_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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_ib_inc_rkey=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

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


fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_ib_inc_rkey" >&5
$as_echo "$lb_cv_compile_ib_inc_rkey" >&6; }
if test "x$lb_cv_compile_ib_inc_rkey" = xyes; then :


$as_echo "#define HAVE_IB_INC_RKEY 1" >>confdefs.h


fi

	# In MOFED 4.6, the second and third parameters for
	# ib_post_send() and ib_post_recv() are declared with
	# 'const'.
	tmp_flags="$EXTRA_KCFLAGS"
	EXTRA_KCFLAGS="-Werror"

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'ib_post_send() and ib_post_recv()' have const parameters" >&5
$as_echo_n "checking if 'ib_post_send() and ib_post_recv()' have const parameters... " >&6; }
if ${lb_cv_compile_ib_post_send_recv_const+:} false; then :
  $as_echo_n "(cached) " >&6
else


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_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");
_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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_ib_post_send_recv_const=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

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


fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_ib_post_send_recv_const" >&5
$as_echo "$lb_cv_compile_ib_post_send_recv_const" >&6; }
if test "x$lb_cv_compile_ib_post_send_recv_const" = xyes; then :


$as_echo "#define HAVE_IB_POST_SEND_RECV_CONST 1" >>confdefs.h


fi
	EXTRA_KCFLAGS="$tmp_flags"

	# 5.0

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

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if struct ib_device_ops is defined" >&5
$as_echo_n "checking if struct ib_device_ops is defined... " >&6; }
if ${lb_cv_compile_ib_device_ops_test+:} false; then :
  $as_echo_n "(cached) " >&6
else


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 <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");
_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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_ib_device_ops_test=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

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


fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_ib_device_ops_test" >&5
$as_echo "$lb_cv_compile_ib_device_ops_test" >&6; }
if test "x$lb_cv_compile_ib_device_ops_test" = xyes; then :


$as_echo "#define HAVE_IB_DEVICE_OPS 1" >>confdefs.h


fi
EXTRA_KCFLAGS="$tmp_flags"

	# 5.1

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

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if ib_sg_dma_address wrapper exists" >&5
$as_echo_n "checking if ib_sg_dma_address wrapper exists... " >&6; }
if ${lb_cv_compile_ib_sg_dma_address_test+:} false; then :
  $as_echo_n "(cached) " >&6
else


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 <rdma/ib_verbs.h>

int
main (void)
{

	u64 x = ib_sg_dma_address(NULL, NULL);
	x = x;
	(void)x;

  ;
  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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_ib_sg_dma_address_test=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

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


fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_ib_sg_dma_address_test" >&5
$as_echo "$lb_cv_compile_ib_sg_dma_address_test" >&6; }
if test "x$lb_cv_compile_ib_sg_dma_address_test" = xyes; then :


$as_echo "#define HAVE_IB_SG_DMA_ADDRESS 1" >>confdefs.h


fi
EXTRA_KCFLAGS="$tmp_flags"


	# A reason argument was added to rdma_reject() in Linux 5.8,
	# commit 8094ba0ace7f6cd1e31ea8b151fba3594cadfa9a

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 4arg 'rdma_reject' exists" >&5
$as_echo_n "checking if 4arg 'rdma_reject' exists... " >&6; }
if ${lb_cv_compile_rdma_reject+:} false; then :
  $as_echo_n "(cached) " >&6
else


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_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");
_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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_rdma_reject=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

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


fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_rdma_reject" >&5
$as_echo "$lb_cv_compile_rdma_reject" >&6; }
if test "x$lb_cv_compile_rdma_reject" = xyes; then :


$as_echo "#define HAVE_RDMA_REJECT_4ARGS 1" >>confdefs.h


fi

	# The FMR pool API was removed in Linux 5.8,
	# commit 4e373d5417ecbb4f438a8500f0379a2fc29c2643

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if FMR pools API available" >&5
$as_echo_n "checking if FMR pools API available... " >&6; }
if ${lb_cv_compile_ib_fmr+:} false; then :
  $as_echo_n "(cached) " >&6
else


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 <rdma/ib_verbs.h>

int
main (void)
{

		struct ib_fmr fmr = {};

  ;
  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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_ib_fmr=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

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


fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_ib_fmr" >&5
$as_echo "$lb_cv_compile_ib_fmr" >&6; }
if test "x$lb_cv_compile_ib_fmr" = xyes; then :


$as_echo "#define HAVE_FMR_POOL_API 1" >>confdefs.h


fi

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

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'rdma_connect_locked' exists" >&5
$as_echo_n "checking if 'rdma_connect_locked' exists... " >&6; }
if ${lb_cv_compile_rdma_connect_locked+:} false; then :
  $as_echo_n "(cached) " >&6
else


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 <rdma/rdma_cm.h>

int
main (void)
{

		rdma_connect_locked(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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_rdma_connect_locked=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

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


fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_rdma_connect_locked" >&5
$as_echo "$lb_cv_compile_rdma_connect_locked" >&6; }
if test "x$lb_cv_compile_rdma_connect_locked" = xyes; then :


$as_echo "#define HAVE_RDMA_CONNECT_LOCKED 1" >>confdefs.h


fi

	# ethtool_link_settings was added in Linux 4.6

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'ethtool_link_settings' exists" >&5
$as_echo_n "checking if 'ethtool_link_settings' exists... " >&6; }
if ${lb_cv_compile_ethtool_link_settings+:} false; then :
  $as_echo_n "(cached) " >&6
else


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/ethtool.h>

int
main (void)
{

		struct ethtool_link_ksettings cmd;

  ;
  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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_ethtool_link_settings=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

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


fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_ethtool_link_settings" >&5
$as_echo "$lb_cv_compile_ethtool_link_settings" >&6; }
if test "x$lb_cv_compile_ethtool_link_settings" = xyes; then :


$as_echo "#define HAVE_ETHTOOL_LINK_SETTINGS 1" >>confdefs.h


fi

	EXTRA_CHECK_INCLUDE=""



fi # ENABLEO2IB != "no"


{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable GNI lnd" >&5
$as_echo_n "checking whether to enable GNI lnd... " >&6; }
# Check whether --enable-gni was given.
if test "${enable_gni+set}" = set; then :
  enableval=$enable_gni;
else
  enable_gni="no"
fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_gni" >&5
$as_echo "$enable_gni" >&6; }

if test "x$enable_gni" = xyes; then :

	# GNICPPFLAGS was set in spec file
	EXTRA_KCFLAGS_save="$EXTRA_KCFLAGS"
	EXTRA_KCFLAGS="$EXTRA_KCFLAGS $GNICPPFLAGS"

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if GNI kernel headers are present" >&5
$as_echo_n "checking if GNI kernel headers are present... " >&6; }
if ${lb_cv_compile_GNI_header+:} false; then :
  $as_echo_n "(cached) " >&6
else


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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_GNI_header=yes
else
  $as_echo "$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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_GNI_header" >&5
$as_echo "$lb_cv_compile_GNI_header" >&6; }
if test "x$lb_cv_compile_GNI_header" = xyes; then :

		GNILND="gnilnd"

else

		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

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking to use RCA in gnilnd" >&5
$as_echo_n "checking to use RCA in gnilnd... " >&6; }
if ${lb_cv_compile_RCA_gnilnd+:} false; then :
  $as_echo_n "(cached) " >&6
else


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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_RCA_gnilnd=yes
else
  $as_echo "$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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_RCA_gnilnd" >&5
$as_echo "$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

	ENABLE_GNI=no


fi



# 3.10


{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux kernel exports 'kmap_to_page'" >&5
$as_echo_n "checking if Linux kernel exports 'kmap_to_page'... " >&6; }
if ${lb_cv_export_kmap_to_page+:} false; then :
  $as_echo_n "(cached) " >&6
else

lb_cv_export_kmap_to_page=no
if grep -q -E '[[:space:]]kmap_to_page[[:space:]]' $LINUX_OBJ/$SYMVERFILE 2>/dev/null; then :
  lb_cv_export_kmap_to_page=yes
else
  for file in mm/highmem.c; do
		if grep -q -E "EXPORT_SYMBOL.*\(kmap_to_page\)" "$LINUX/$file" 2>/dev/null; then :

			lb_cv_export_kmap_to_page=yes
			break

fi
	done
fi

fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_export_kmap_to_page" >&5
$as_echo "$lb_cv_export_kmap_to_page" >&6; }
if test "x$lb_cv_export_kmap_to_page" = xyes; then :

$as_echo "#define HAVE_KMAP_TO_PAGE 1" >>confdefs.h

fi

# 3.15

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

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'sk_data_ready' takes only one argument" >&5
$as_echo_n "checking if 'sk_data_ready' takes only one argument... " >&6; }
if ${lb_cv_compile_sk_data_ready+:} false; then :
  $as_echo_n "(cached) " >&6
else


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/net.h>
	#include <net/sock.h>

int
main (void)
{

	((struct sock *)0)->sk_data_ready(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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_sk_data_ready=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

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


fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_sk_data_ready" >&5
$as_echo "$lb_cv_compile_sk_data_ready" >&6; }
if test "x$lb_cv_compile_sk_data_ready" = xyes; then :


$as_echo "#define HAVE_SK_DATA_READY_ONE_ARG 1" >>confdefs.h


fi
EXTRA_KCFLAGS="$tmp_flags"

# 4.x

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

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'sock_create_kern' first parameter is net" >&5
$as_echo_n "checking if 'sock_create_kern' first parameter is net... " >&6; }
if ${lb_cv_compile_sock_create_kern_net+:} false; then :
  $as_echo_n "(cached) " >&6
else


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/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");
_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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_sock_create_kern_net=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

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


fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_sock_create_kern_net" >&5
$as_echo "$lb_cv_compile_sock_create_kern_net" >&6; }
if test "x$lb_cv_compile_sock_create_kern_net" = xyes; then :


$as_echo "#define HAVE_SOCK_CREATE_KERN_USE_NET 1" >>confdefs.h


fi
EXTRA_KCFLAGS="$tmp_flags"

# 4.14

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

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if hypervisor_is_type function is available" >&5
$as_echo_n "checking if hypervisor_is_type function is available... " >&6; }
if ${lb_cv_compile_hypervisor_is_type_exists+:} false; then :
  $as_echo_n "(cached) " >&6
else


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 <asm/hypervisor.h>

int
main (void)
{

	(void)hypervisor_is_type(X86_HYPER_NATIVE);

  ;
  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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_hypervisor_is_type_exists=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

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


fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_hypervisor_is_type_exists" >&5
$as_echo "$lb_cv_compile_hypervisor_is_type_exists" >&6; }
if test "x$lb_cv_compile_hypervisor_is_type_exists" = xyes; then :


$as_echo "#define HAVE_HYPERVISOR_IS_TYPE 1" >>confdefs.h


fi
EXTRA_KCFLAGS="$tmp_flags"



{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Oracle OFED Extensions are enabled" >&5
$as_echo_n "checking if Oracle OFED Extensions are enabled... " >&6; }
if ${lb_cv_compile_oracle_ofed_ext+:} false; then :
  $as_echo_n "(cached) " >&6
else


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 <rdma/ib_fmr_pool.h>

int
main (void)
{

	struct ib_fmr_pool_param param = {
		.relaxed           = 0
	};
	(void)param;

  ;
  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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_oracle_ofed_ext=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

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


fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_oracle_ofed_ext" >&5
$as_echo "$lb_cv_compile_oracle_ofed_ext" >&6; }
if test "x$lb_cv_compile_oracle_ofed_ext" = xyes; then :


$as_echo "#define HAVE_ORACLE_OFED_EXTENSIONS 1" >>confdefs.h


fi

# 4.17

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

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'getname' has two args" >&5
$as_echo_n "checking if 'getname' has two args... " >&6; }
if ${lb_cv_compile_kern_sock_getname_2args+:} false; then :
  $as_echo_n "(cached) " >&6
else


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/net.h>

int
main (void)
{

	kernel_getsockname(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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_kern_sock_getname_2args=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

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


fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_kern_sock_getname_2args" >&5
$as_echo "$lb_cv_compile_kern_sock_getname_2args" >&6; }
if test "x$lb_cv_compile_kern_sock_getname_2args" = xyes; then :


$as_echo "#define HAVE_KERN_SOCK_GETNAME_2ARGS 1" >>confdefs.h


fi
EXTRA_KCFLAGS="$tmp_flags"

# 5.3 and 4.18.0-193.el8

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

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'in_dev_for_each_ifa_rtnl' is defined" >&5
$as_echo_n "checking if 'in_dev_for_each_ifa_rtnl' is defined... " >&6; }
if ${lb_cv_compile_in_dev_for_each_ifa_rtnl_test+:} false; then :
  $as_echo_n "(cached) " >&6
else


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/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");
_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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_in_dev_for_each_ifa_rtnl_test=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

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


fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_in_dev_for_each_ifa_rtnl_test" >&5
$as_echo "$lb_cv_compile_in_dev_for_each_ifa_rtnl_test" >&6; }
if test "x$lb_cv_compile_in_dev_for_each_ifa_rtnl_test" = xyes; then :


$as_echo "#define HAVE_IN_DEV_FOR_EACH_IFA_RTNL 1" >>confdefs.h


fi
EXTRA_KCFLAGS="$tmp_flags"



	{ $as_echo "$as_me:${as_lineno-$LINENO}: Lustre kernel checks
==============================================================================" >&5
$as_echo "$as_me: Lustre kernel checks
==============================================================================" >&6;}


{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable Lustre pinger support" >&5
$as_echo_n "checking whether to enable Lustre pinger support... " >&6; }
# Check whether --enable-pinger was given.
if test "${enable_pinger+set}" = set; then :
  enableval=$enable_pinger;
else
  enable_pinger="yes"
fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_pinger" >&5
$as_echo "$enable_pinger" >&6; }
if test "x$enable_pinger" != xno; then :


$as_echo "#define CONFIG_LUSTRE_FS_PINGER 1" >>confdefs.h

	ENABLE_PINGER=yes


else

	ENABLE_PINGER=no


fi


{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable data checksum support" >&5
$as_echo_n "checking whether to enable data checksum support... " >&6; }
# Check whether --enable-checksum was given.
if test "${enable_checksum+set}" = set; then :
  enableval=$enable_checksum;
else
  enable_checksum="yes"
fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_checksum" >&5
$as_echo "$enable_checksum" >&6; }
if test "x$enable_checksum" != xno; then :


$as_echo "#define CONFIG_ENABLE_CHECKSUM 1" >>confdefs.h

	ENABLE_CHECKSUM=yes


else

	ENABLE_CHECKSUM=no


fi


{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable flock by default" >&5
$as_echo_n "checking whether to enable flock by default... " >&6; }
# Check whether --enable-flock was given.
if test "${enable_flock+set}" = set; then :
  enableval=$enable_flock;
else
  enable_flock="yes"
fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_flock" >&5
$as_echo "$enable_flock" >&6; }
if test "x$enable_flock" != xno; then :


$as_echo "#define CONFIG_ENABLE_FLOCK 1" >>confdefs.h

	ENABLE_FLOCK=yes


else

	ENABLE_FLOCK=no


fi


{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable a write with the health check" >&5
$as_echo_n "checking whether to enable a write with the health check... " >&6; }
# Check whether --enable-health_write was given.
if test "${enable_health_write+set}" = set; then :
  enableval=$enable_health_write;
else
  enable_health_write="no"
fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_health_write" >&5
$as_echo "$enable_health_write" >&6; }
if test "x$enable_health_write" != xno; then :


$as_echo "#define USE_HEALTH_CHECK_WRITE 1" >>confdefs.h

	ENABLE_HEALTH_WRITE=yes


else

	ENABLE_HEALTH_WRITE=no


fi


{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable lru self-adjusting" >&5
$as_echo_n "checking whether to enable lru self-adjusting... " >&6; }
# Check whether --enable-lru_resize was given.
if test "${enable_lru_resize+set}" = set; then :
  enableval=$enable_lru_resize;
else
  enable_lru_resize="yes"
fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_lru_resize" >&5
$as_echo "$enable_lru_resize" >&6; }
if test "x$enable_lru_resize" != xno; then :


$as_echo "#define HAVE_LRU_RESIZE_SUPPORT 1" >>confdefs.h

	ENABLE_LRU_RESIZE=yes


else

	ENABLE_LRU_RESIZE=no


fi


{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable gss support" >&5
$as_echo_n "checking whether to enable gss support... " >&6; }
# Check whether --enable-gss was given.
if test "${enable_gss+set}" = set; then :
  enableval=$enable_gss;
else
  enable_gss="auto"
fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_gss" >&5
$as_echo "$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 :


{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable gss keyring backend" >&5
$as_echo_n "checking whether to enable gss keyring backend... " >&6; }
# Check whether --enable-gss_keyring was given.
if test "${enable_gss_keyring+set}" = set; then :
  enableval=$enable_gss_keyring;
else
  if test "x$enable_gss" != xno; then :

			enable_gss_keyring="yes"
else

			enable_gss_keyring="auto"
fi
fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_gss_keyring" >&5
$as_echo "$enable_gss_keyring" >&6; }
if test "x$enable_gss_keyring" != xno; then :



{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux kernel was built with CONFIG_KEYS in or as module" >&5
$as_echo_n "checking if Linux kernel was built with CONFIG_KEYS in or as module... " >&6; }
if ${lb_cv_compile_config_im_KEYS+:} false; then :
  $as_echo_n "(cached) " >&6
else


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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_config_im_KEYS=yes
else
  $as_echo "$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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_config_im_KEYS" >&5
$as_echo "$lb_cv_compile_config_im_KEYS" >&6; }
if test "x$lb_cv_compile_config_im_KEYS" = xyes; then :

else

		gss_keyring_conf_test="fail"
		{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: GSS keyring backend requires that CONFIG_KEYS be enabled in your kernel." >&5
$as_echo "$as_me: WARNING: GSS keyring backend requires that CONFIG_KEYS be enabled in your kernel." >&2;}
fi


	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for keyctl_search in -lkeyutils" >&5
$as_echo_n "checking for keyctl_search in -lkeyutils... " >&6; }
if ${ac_cv_lib_keyutils_keyctl_search+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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.  */
#ifdef __cplusplus
extern "C"
#endif
char keyctl_search ();
int
main ()
{
return keyctl_search ();
  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
  ac_cv_lib_keyutils_keyctl_search=yes
else
  ac_cv_lib_keyutils_keyctl_search=no
fi
rm -f core conftest.err conftest.$ac_objext \
    conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_keyutils_keyctl_search" >&5
$as_echo "$ac_cv_lib_keyutils_keyctl_search" >&6; }
if test "x$ac_cv_lib_keyutils_keyctl_search" = xyes; then :
  cat >>confdefs.h <<_ACEOF
#define HAVE_LIBKEYUTILS 1
_ACEOF

  LIBS="-lkeyutils $LIBS"

else

		gss_keyring_conf_test="fail"
		{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: GSS keyring backend requires libkeyutils" >&5
$as_echo "$as_me: WARNING: GSS keyring backend requires libkeyutils" >&2;}
fi


	if test "x$gss_keyring_conf_test" != xfail; then :


$as_echo "#define HAVE_GSS_KEYRING 1" >>confdefs.h

		enable_gss_keyring="yes"

else

		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

	enable_ssk="no"

fi


	sunrpc_required=$enable_gss



{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux kernel was built with CONFIG_SUNRPC in or as module" >&5
$as_echo_n "checking if Linux kernel was built with CONFIG_SUNRPC in or as module... " >&6; }
if ${lb_cv_compile_config_im_SUNRPC+:} false; then :
  $as_echo_n "(cached) " >&6
else


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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_config_im_SUNRPC=yes
else
  $as_echo "$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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_config_im_SUNRPC" >&5
$as_echo "$lb_cv_compile_config_im_SUNRPC" >&6; }
if test "x$lb_cv_compile_config_im_SUNRPC" = xyes; then :

else

	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

  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Kerberos v5" >&5
$as_echo_n "checking for Kerberos v5... " >&6; }

# Check whether --with-krb5 was given.
if test "${with_krb5+set}" = set; 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"] }'`

cat >>confdefs.h <<_ACEOF
#define KRB5_VERSION $K5VERS
_ACEOF

      if test -f $dir/include/gssapi/gssapi_krb5.h -a \
                \( -f $dir/lib/libgssapi_krb5.a -o \
                   -f $dir/lib64/libgssapi_krb5.a -o \
                   -f $dir/lib64/libgssapi_krb5.so -o \
                   -f $dir/lib/x86_64-linux-gnu/libgssapi_krb5.so -o \
                   -f $dir/lib/libgssapi_krb5.so \) ; then
         KRBDIR="$dir"
                     if test $K5VERS -le 131; then

$as_echo "#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

$as_echo "#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

    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $KRBDIR" >&5
$as_echo "$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=`$as_echo "ac_cv_lib_$gssapi_lib''_gss_krb5_export_lucid_sec_context" | $as_tr_sh`
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gss_krb5_export_lucid_sec_context in -l$gssapi_lib" >&5
$as_echo_n "checking for gss_krb5_export_lucid_sec_context in -l$gssapi_lib... " >&6; }
if eval \${$as_ac_Lib+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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.  */
#ifdef __cplusplus
extern "C"
#endif
char gss_krb5_export_lucid_sec_context ();
int
main ()
{
return gss_krb5_export_lucid_sec_context ();
  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
  eval "$as_ac_Lib=yes"
else
  eval "$as_ac_Lib=no"
fi
rm -f core conftest.err conftest.$ac_objext \
    conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
eval ac_res=\$$as_ac_Lib
	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then :

$as_echo "#define HAVE_LUCID_CONTEXT_SUPPORT 1" >>confdefs.h

fi

    as_ac_Lib=`$as_echo "ac_cv_lib_$gssapi_lib''_gss_krb5_set_allowable_enctypes" | $as_tr_sh`
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gss_krb5_set_allowable_enctypes in -l$gssapi_lib" >&5
$as_echo_n "checking for gss_krb5_set_allowable_enctypes in -l$gssapi_lib... " >&6; }
if eval \${$as_ac_Lib+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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.  */
#ifdef __cplusplus
extern "C"
#endif
char gss_krb5_set_allowable_enctypes ();
int
main ()
{
return gss_krb5_set_allowable_enctypes ();
  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
  eval "$as_ac_Lib=yes"
else
  eval "$as_ac_Lib=no"
fi
rm -f core conftest.err conftest.$ac_objext \
    conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
eval ac_res=\$$as_ac_Lib
	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then :

$as_echo "#define HAVE_SET_ALLOWABLE_ENCTYPES 1" >>confdefs.h

fi

    as_ac_Lib=`$as_echo "ac_cv_lib_$gssapi_lib''_gss_krb5_ccache_name" | $as_tr_sh`
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gss_krb5_ccache_name in -l$gssapi_lib" >&5
$as_echo_n "checking for gss_krb5_ccache_name in -l$gssapi_lib... " >&6; }
if eval \${$as_ac_Lib+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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.  */
#ifdef __cplusplus
extern "C"
#endif
char gss_krb5_ccache_name ();
int
main ()
{
return gss_krb5_ccache_name ();
  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
  eval "$as_ac_Lib=yes"
else
  eval "$as_ac_Lib=no"
fi
rm -f core conftest.err conftest.$ac_objext \
    conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
eval ac_res=\$$as_ac_Lib
	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then :

$as_echo "#define HAVE_GSS_KRB5_CCACHE_NAME 1" >>confdefs.h

fi


        as_ac_Lib=`$as_echo "ac_cv_lib_$gssapi_lib''_krb5_get_error_message" | $as_tr_sh`
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for krb5_get_error_message in -l$gssapi_lib" >&5
$as_echo_n "checking for krb5_get_error_message in -l$gssapi_lib... " >&6; }
if eval \${$as_ac_Lib+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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.  */
#ifdef __cplusplus
extern "C"
#endif
char krb5_get_error_message ();
int
main ()
{
return krb5_get_error_message ();
  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
  eval "$as_ac_Lib=yes"
else
  eval "$as_ac_Lib=no"
fi
rm -f core conftest.err conftest.$ac_objext \
    conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
eval ac_res=\$$as_ac_Lib
	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then :

$as_echo "#define HAVE_KRB5_GET_ERROR_MESSAGE 1" >>confdefs.h

fi


        as_ac_Lib=`$as_echo "ac_cv_lib_$gssapi_lib''_krb5_get_init_creds_opt_set_addressless" | $as_tr_sh`
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for krb5_get_init_creds_opt_set_addressless in -l$gssapi_lib" >&5
$as_echo_n "checking for krb5_get_init_creds_opt_set_addressless in -l$gssapi_lib... " >&6; }
if eval \${$as_ac_Lib+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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.  */
#ifdef __cplusplus
extern "C"
#endif
char krb5_get_init_creds_opt_set_addressless ();
int
main ()
{
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
  eval "$as_ac_Lib=no"
fi
rm -f core conftest.err conftest.$ac_objext \
    conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
eval ac_res=\$$as_ac_Lib
	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then :

$as_echo "#define HAVE_KRB5_GET_INIT_CREDS_OPT_SET_ADDRESSLESS 1" >>confdefs.h

fi


        as_ac_Lib=`$as_echo "ac_cv_lib_$gssapi_lib''_krb5int_derive_key" | $as_tr_sh`
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for krb5int_derive_key in -l$gssapi_lib" >&5
$as_echo_n "checking for krb5int_derive_key in -l$gssapi_lib... " >&6; }
if eval \${$as_ac_Lib+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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.  */
#ifdef __cplusplus
extern "C"
#endif
char krb5int_derive_key ();
int
main ()
{
return krb5int_derive_key ();
  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
  eval "$as_ac_Lib=yes"
else
  eval "$as_ac_Lib=no"
fi
rm -f core conftest.err conftest.$ac_objext \
    conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
eval ac_res=\$$as_ac_Lib
	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then :
  HAVE_KRB5INT_DERIVE_KEY=1;
$as_echo "#define HAVE_KRB5INT_DERIVE_KEY 1" >>confdefs.h

fi


            if test $K5VERS -ge 1150; then

$as_echo "#define HAVE_AES_SHA2_SUPPORT 1" >>confdefs.h

    fi

        as_ac_Lib=`$as_echo "ac_cv_lib_$gssapi_lib''_krb5_derive_key" | $as_tr_sh`
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for krb5_derive_key in -l$gssapi_lib" >&5
$as_echo_n "checking for krb5_derive_key in -l$gssapi_lib... " >&6; }
if eval \${$as_ac_Lib+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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.  */
#ifdef __cplusplus
extern "C"
#endif
char krb5_derive_key ();
int
main ()
{
return krb5_derive_key ();
  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
  eval "$as_ac_Lib=yes"
else
  eval "$as_ac_Lib=no"
fi
rm -f core conftest.err conftest.$ac_objext \
    conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
eval ac_res=\$$as_ac_Lib
	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then :
  HAVE_KRB5_DERIVE_KEY=1;
$as_echo "#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 :

$as_echo "#define HAVE_KRB5 1" >>confdefs.h

else
  KRBDIR=""; { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:

Disable gss/krb5 due to missing both
krb5int_derive_key and krb5_derive_key functions!
" >&5
$as_echo "$as_me: WARNING:

Disable gss/krb5 due to missing both
krb5int_derive_key and krb5_derive_key functions!
" >&2;}

fi

			{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for DES3 enctype support by krb5" >&5
$as_echo_n "checking for DES3 enctype support by krb5... " >&6; }
	if test $K5VERS -lt 1180; then

$as_echo "#define HAVE_DES3_SUPPORT 1" >>confdefs.h

		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
	else
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
	fi

        if test "x$krb5_with" != "x" -a "$krb5_with" != "$KRBDIR"; then
      { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:

Using $KRBDIR instead of requested value of $krb5_with for Kerberos!
" >&5
$as_echo "$as_me: WARNING:

Using $KRBDIR instead of requested value of $krb5_with for Kerberos!
" >&2;}
    fi







  else
    { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found!" >&5
$as_echo "not found!" >&6; }
  fi # "x$KRBDIR" != "x"


	require_krb5="no"

	if test -n "$KRBDIR"; then :

		gss_conf_test="success"

else

		gss_conf_test="failure"

fi

	if test "x$gss_conf_test" = xsuccess && test "x$enable_gss" != xno; then :


$as_echo "#define HAVE_GSS 1" >>confdefs.h

		enable_gss="yes"

else

		enable_gss_keyring="no"
		enable_gss="no"

fi

	if test "x$enable_ssk" != xno; then :

		enable_ssk=$enable_gss

fi

else

	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 :
  cat >>confdefs.h <<_ACEOF
#define HAVE_NAME_TO_HANDLE_AT 1
_ACEOF

$as_echo "#define HAVE_FHANDLE_GLIBC_SUPPORT 1" >>confdefs.h

else
  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: file handle and related syscalls are not supported" >&5
$as_echo "$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 :
  cat >>confdefs.h <<_ACEOF
#define HAVE_COPY_FILE_RANGE 1
_ACEOF

$as_echo "#define HAVE_COPY_FILE_RANGE 1" >>confdefs.h

else
  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: copy_file_range() is not supported" >&5
$as_echo "$as_me: WARNING: copy_file_range() is not supported" >&2;}
fi
done



{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL has functions needed for SSK" >&5
$as_echo_n "checking whether OpenSSL has functions needed for SSK... " >&6; }
if test "x$enable_ssk" != xno; then :

	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5
$as_echo "" >&6; }

has_hmac_functions="no"
saved_flags="$CFLAGS"
CFLAGS="$CFLAGS -Werror"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL has HMAC_Init_ex" >&5
$as_echo_n "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);
	}

_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :

	has_hmac_functions="yes"

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

fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $has_hmac_functions" >&5
$as_echo "$has_hmac_functions" >&6; }
CFLAGS="$saved_flags"


has_evp_pkey="no"
saved_flags="$CFLAGS"
CFLAGS="$CFLAGS -Werror"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL has EVP_PKEY_get_params" >&5
$as_echo_n "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);
	}

_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :


$as_echo "#define HAVE_OPENSSL_EVP_PKEY 1" >>confdefs.h

	has_evp_pkey="yes"

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

fi
CFLAGS="$saved_flags"
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $has_evp_pkey" >&5
$as_echo "$has_evp_pkey" >&6; }


fi
if test "x$has_hmac_functions" = xyes -o "x$has_evp_pkey" = xyes; then :


$as_echo "#define HAVE_OPENSSL_SSK 1" >>confdefs.h


else

	enable_ssk="no"

fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_ssk" >&5
$as_echo "$enable_ssk" >&6; }


saved_flags="$CFLAGS"
CFLAGS="$CFLAGS -Werror"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether openssl-devel is present" >&5
$as_echo_n "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();
	}

_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :


$as_echo "#define HAVE_OPENSSL_GETSEPOL 1" >>confdefs.h

	enable_getsepol="yes"


else

	enable_getsepol="no"
	{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:

No openssl-devel headers found, unable to build l_getsepol and SELinux status checking
" >&5
$as_echo "$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.$ac_ext
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_getsepol" >&5
$as_echo "$enable_getsepol" >&6; }
CFLAGS="$saved_flags"


	# 4.1.0 - Check export


{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux kernel exports 'new_sync_read'" >&5
$as_echo_n "checking if Linux kernel exports 'new_sync_read'... " >&6; }
if ${lb_cv_export_new_sync_read+:} false; then :
  $as_echo_n "(cached) " >&6
else

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
  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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_export_new_sync_read" >&5
$as_echo "$lb_cv_export_new_sync_read" >&6; }
if test "x$lb_cv_export_new_sync_read" = xyes; then :

$as_echo "#define HAVE_SYNC_READ_WRITE 1" >>confdefs.h

fi


	# 4.8 - Check export


{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux kernel exports 'default_file_splice_read'" >&5
$as_echo_n "checking if Linux kernel exports 'default_file_splice_read'... " >&6; }
if ${lb_cv_export_default_file_splice_read+:} false; then :
  $as_echo_n "(cached) " >&6
else

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
  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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_export_default_file_splice_read" >&5
$as_echo "$lb_cv_export_default_file_splice_read" >&6; }
if test "x$lb_cv_export_default_file_splice_read" = xyes; then :

$as_echo "#define HAVE_DEFAULT_FILE_SPLICE_READ_EXPORT 1" >>confdefs.h

fi


	# 5.2 - Check export


{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux kernel exports 'account_page_dirtied'" >&5
$as_echo_n "checking if Linux kernel exports 'account_page_dirtied'... " >&6; }
if ${lb_cv_export_account_page_dirtied+:} false; then :
  $as_echo_n "(cached) " >&6
else

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
  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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_export_account_page_dirtied" >&5
$as_echo "$lb_cv_export_account_page_dirtied" >&6; }
if test "x$lb_cv_export_account_page_dirtied" = xyes; then :

$as_echo "#define HAVE_ACCOUNT_PAGE_DIRTIED_EXPORT 1" >>confdefs.h

fi



			if test "x$enable_zfs" = xyes; then :


{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if zfs defines dsl_pool_config_enter/exit" >&5
$as_echo_n "checking if zfs defines dsl_pool_config_enter/exit... " >&6; }
if ${lb_cv_compile_dsl_pool_config_enter+:} false; then :
  $as_echo_n "(cached) " >&6
else


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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_dsl_pool_config_enter=yes
else
  $as_echo "$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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_dsl_pool_config_enter" >&5
$as_echo "$lb_cv_compile_dsl_pool_config_enter" >&6; }
if test "x$lb_cv_compile_dsl_pool_config_enter" = xyes; then :


$as_echo "#define HAVE_DSL_POOL_CONFIG 1" >>confdefs.h


else

		as_fn_error $? "dsl_pool_config_enter/exit do not exist" "$LINENO" 5

fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if zfs defines zio_buf_alloc/free" >&5
$as_echo_n "checking if zfs defines zio_buf_alloc/free... " >&6; }
if ${lb_cv_compile_zio_buf_alloc+:} false; then :
  $as_echo_n "(cached) " >&6
else


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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_zio_buf_alloc=yes
else
  $as_echo "$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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_zio_buf_alloc" >&5
$as_echo "$lb_cv_compile_zio_buf_alloc" >&6; }
if test "x$lb_cv_compile_zio_buf_alloc" = xyes; then :


$as_echo "#define HAVE_ZIO_BUF_ALLOC 1" >>confdefs.h


else

		as_fn_error $? "zio_buf_alloc/free do not exist" "$LINENO" 5

fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if zfs defines spa_maxblocksize" >&5
$as_echo_n "checking if zfs defines spa_maxblocksize... " >&6; }
if ${lb_cv_compile_spa_maxblocksize+:} false; then :
  $as_echo_n "(cached) " >&6
else


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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_spa_maxblocksize=yes
else
  $as_echo "$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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_spa_maxblocksize" >&5
$as_echo "$lb_cv_compile_spa_maxblocksize" >&6; }
if test "x$lb_cv_compile_spa_maxblocksize" = xyes; then :


$as_echo "#define HAVE_SPA_MAXBLOCKSIZE 1" >>confdefs.h


else

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

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if zfs defines dmu_object_alloc_dnsize" >&5
$as_echo_n "checking if zfs defines dmu_object_alloc_dnsize... " >&6; }
if ${lb_cv_compile_dmu_object_alloc_dnsize+:} false; then :
  $as_echo_n "(cached) " >&6
else


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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_dmu_object_alloc_dnsize=yes
else
  $as_echo "$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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_dmu_object_alloc_dnsize" >&5
$as_echo "$lb_cv_compile_dmu_object_alloc_dnsize" >&6; }
if test "x$lb_cv_compile_dmu_object_alloc_dnsize" = xyes; then :


$as_echo "#define HAVE_DMU_OBJECT_ALLOC_DNSIZE 1" >>confdefs.h


else

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

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if ZFS has 'dmu_prefetch' with 6 args" >&5
$as_echo_n "checking if ZFS has 'dmu_prefetch' with 6 args... " >&6; }
if ${lb_cv_compile_dmu_prefetch+:} false; then :
  $as_echo_n "(cached) " >&6
else


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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_dmu_prefetch=yes
else
  $as_echo "$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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_dmu_prefetch" >&5
$as_echo "$lb_cv_compile_dmu_prefetch" >&6; }
if test "x$lb_cv_compile_dmu_prefetch" = xyes; then :


$as_echo "#define HAVE_DMU_PREFETCH_6ARG 1" >>confdefs.h


else

		as_fn_error $? "6 argument dmu_pretch does not exist" "$LINENO" 5

fi
	#
	# ZFS 0.7.0 feature: SPA_FEATURE_USEROBJ_ACCOUNTING
	#

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if ZFS has native dnode accounting supported" >&5
$as_echo_n "checking if ZFS has native dnode accounting supported... " >&6; }
if ${lb_cv_compile_dmu_objset_userobjused_enabled+:} false; then :
  $as_echo_n "(cached) " >&6
else


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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_dmu_objset_userobjused_enabled=yes
else
  $as_echo "$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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_dmu_objset_userobjused_enabled" >&5
$as_echo "$lb_cv_compile_dmu_objset_userobjused_enabled" >&6; }
if test "x$lb_cv_compile_dmu_objset_userobjused_enabled" = xyes; then :


$as_echo "#define HAVE_DMU_USEROBJ_ACCOUNTING 1" >>confdefs.h


else

		as_fn_error $? "native dnode accounting does not exist" "$LINENO" 5

fi
	#
	# ZFS 0.7.0 feature: MULTIHOST
	#

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if ZFS has multihost protection" >&5
$as_echo_n "checking if ZFS has multihost protection... " >&6; }
if ${lb_cv_compile_spa_multihost+:} false; then :
  $as_echo_n "(cached) " >&6
else


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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_spa_multihost=yes
else
  $as_echo "$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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_spa_multihost" >&5
$as_echo "$lb_cv_compile_spa_multihost" >&6; }
if test "x$lb_cv_compile_spa_multihost" = xyes; then :


$as_echo "#define HAVE_ZFS_MULTIHOST 1" >>confdefs.h


else

		as_fn_error $? "multihost protection does not exist" "$LINENO" 5

fi
	#
	# ZFS 0.7.x adds new method zap_lookup_by_dnode
	#

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if ZFS has 'zap_lookup_by_dnode'" >&5
$as_echo_n "checking if ZFS has 'zap_lookup_by_dnode'... " >&6; }
if ${lb_cv_compile_zap_lookup_by_dnode+:} false; then :
  $as_echo_n "(cached) " >&6
else


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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_zap_lookup_by_dnode=yes
else
  $as_echo "$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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_zap_lookup_by_dnode" >&5
$as_echo "$lb_cv_compile_zap_lookup_by_dnode" >&6; }
if test "x$lb_cv_compile_zap_lookup_by_dnode" = xyes; then :


$as_echo "#define HAVE_ZAP_LOOKUP_BY_DNODE 1" >>confdefs.h


else

		as_fn_error $? "zap_lookup_by_dnode does not exist" "$LINENO" 5

fi
	#
	# ZFS 0.7.x adds new method zap_add_by_dnode
	#

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if ZFS has 'zap_add_by_dnode'" >&5
$as_echo_n "checking if ZFS has 'zap_add_by_dnode'... " >&6; }
if ${lb_cv_compile_zap_add_by_dnode+:} false; then :
  $as_echo_n "(cached) " >&6
else


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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_zap_add_by_dnode=yes
else
  $as_echo "$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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_zap_add_by_dnode" >&5
$as_echo "$lb_cv_compile_zap_add_by_dnode" >&6; }
if test "x$lb_cv_compile_zap_add_by_dnode" = xyes; then :


$as_echo "#define HAVE_ZAP_ADD_BY_DNODE 1" >>confdefs.h


else

		as_fn_error $? "zap_add_by_dnode does not exist" "$LINENO" 5

fi
	#
	# ZFS 0.7.x adds new method zap_remove_by_dnode
	#

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if ZFS has 'zap_remove_by_dnode'" >&5
$as_echo_n "checking if ZFS has 'zap_remove_by_dnode'... " >&6; }
if ${lb_cv_compile_zap_remove_by_dnode+:} false; then :
  $as_echo_n "(cached) " >&6
else


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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_zap_remove_by_dnode=yes
else
  $as_echo "$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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_zap_remove_by_dnode" >&5
$as_echo "$lb_cv_compile_zap_remove_by_dnode" >&6; }
if test "x$lb_cv_compile_zap_remove_by_dnode" = xyes; then :


$as_echo "#define HAVE_ZAP_REMOVE_ADD_BY_DNODE 1" >>confdefs.h


else

		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
	#

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if ZFS has 'dmu_tx_hold_zap_by_dnode'" >&5
$as_echo_n "checking if ZFS has 'dmu_tx_hold_zap_by_dnode'... " >&6; }
if ${lb_cv_compile_dmu_tx_hold_zap_by_dnode+:} false; then :
  $as_echo_n "(cached) " >&6
else


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=$?
  $as_echo "$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=$?
  $as_echo "$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_echo "$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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_dmu_tx_hold_zap_by_dnode" >&5
$as_echo "$lb_cv_compile_dmu_tx_hold_zap_by_dnode" >&6; }
if test "x$lb_cv_compile_dmu_tx_hold_zap_by_dnode" = xyes; then :


$as_echo "#define HAVE_DMU_TX_HOLD_ZAP_BY_DNODE 1" >>confdefs.h


else

		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
	#

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if ZFS has 'dmu_tx_hold_write_by_dnode'" >&5
$as_echo_n "checking if ZFS has 'dmu_tx_hold_write_by_dnode'... " >&6; }
if ${lb_cv_compile_dmu_tx_hold_write_by_dnode+:} false; then :
  $as_echo_n "(cached) " >&6
else


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=$?
  $as_echo "$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=$?
  $as_echo "$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_echo "$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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_dmu_tx_hold_write_by_dnode" >&5
$as_echo "$lb_cv_compile_dmu_tx_hold_write_by_dnode" >&6; }
if test "x$lb_cv_compile_dmu_tx_hold_write_by_dnode" = xyes; then :


$as_echo "#define HAVE_DMU_TX_HOLD_WRITE_BY_DNODE 1" >>confdefs.h


else

		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
	#

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if ZFS has 'dmu_write_by_dnode'" >&5
$as_echo_n "checking if ZFS has 'dmu_write_by_dnode'... " >&6; }
if ${lb_cv_compile_dmu_write_by_dnode+:} false; then :
  $as_echo_n "(cached) " >&6
else


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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_dmu_write_by_dnode=yes
else
  $as_echo "$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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_dmu_write_by_dnode" >&5
$as_echo "$lb_cv_compile_dmu_write_by_dnode" >&6; }
if test "x$lb_cv_compile_dmu_write_by_dnode" = xyes; then :


$as_echo "#define HAVE_DMU_WRITE_BY_DNODE 1" >>confdefs.h


else

		as_fn_error $? "dmu_write_by_dnode does not exist" "$LINENO" 5

fi
	#
	# ZFS 0.7.x adds new method dmu_read_by_dnode
	#

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if ZFS has 'dmu_read_by_dnode'" >&5
$as_echo_n "checking if ZFS has 'dmu_read_by_dnode'... " >&6; }
if ${lb_cv_compile_dmu_read_by_dnode+:} false; then :
  $as_echo_n "(cached) " >&6
else


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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_dmu_read_by_dnode=yes
else
  $as_echo "$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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_dmu_read_by_dnode" >&5
$as_echo "$lb_cv_compile_dmu_read_by_dnode" >&6; }
if test "x$lb_cv_compile_dmu_read_by_dnode" = xyes; then :


$as_echo "#define HAVE_DMU_READ_BY_DNODE 1" >>confdefs.h


else

		as_fn_error $? "dmu_read_by_dnode does not exist" "$LINENO" 5

fi
	#
	# ZFS 0.7.2 adds new method dmu_tx_mark_netfree
	#

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if ZFS has 'dmu_tx_mark_netfree'" >&5
$as_echo_n "checking if ZFS has 'dmu_tx_mark_netfree'... " >&6; }
if ${lb_cv_compile_dmu_tx_mark_netfree+:} false; then :
  $as_echo_n "(cached) " >&6
else


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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_dmu_tx_mark_netfree=yes
else
  $as_echo "$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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_dmu_tx_mark_netfree" >&5
$as_echo "$lb_cv_compile_dmu_tx_mark_netfree" >&6; }
if test "x$lb_cv_compile_dmu_tx_mark_netfree" = xyes; then :


$as_echo "#define HAVE_DMU_TX_MARK_NETFREE 1" >>confdefs.h


fi
	#
	# ZFS 0.7.10 changes timestruc_t to inode_timespec_t
	#

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if SPL has 'inode_timespec_t'" >&5
$as_echo_n "checking if SPL has 'inode_timespec_t'... " >&6; }
if ${lb_cv_compile_zfs_have_inode_timespec+:} false; then :
  $as_echo_n "(cached) " >&6
else


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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_zfs_have_inode_timespec=yes
else
  $as_echo "$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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_zfs_have_inode_timespec" >&5
$as_echo "$lb_cv_compile_zfs_have_inode_timespec" >&6; }
if test "x$lb_cv_compile_zfs_have_inode_timespec" = xyes; then :


$as_echo "#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.
	#

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if ZFS has 'zfs_refcount_add'" >&5
$as_echo_n "checking if ZFS has 'zfs_refcount_add'... " >&6; }
if ${lb_cv_compile_zfs_refcount_add+:} false; then :
  $as_echo_n "(cached) " >&6
else


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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_zfs_refcount_add=yes
else
  $as_echo "$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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_zfs_refcount_add" >&5
$as_echo "$lb_cv_compile_zfs_refcount_add" >&6; }
if test "x$lb_cv_compile_zfs_refcount_add" = xyes; then :


$as_echo "#define HAVE_ZFS_REFCOUNT_ADD 1" >>confdefs.h


fi
	#
	# ZFS 0.8.x changes dmu_objset_own for encryption
	#

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if ZFS has 'dmu_objset_own' with 6 args" >&5
$as_echo_n "checking if ZFS has 'dmu_objset_own' with 6 args... " >&6; }
if ${lb_cv_compile_dmu_objset_own+:} false; then :
  $as_echo_n "(cached) " >&6
else


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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_dmu_objset_own=yes
else
  $as_echo "$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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_dmu_objset_own" >&5
$as_echo "$lb_cv_compile_dmu_objset_own" >&6; }
if test "x$lb_cv_compile_dmu_objset_own" = xyes; then :


$as_echo "#define HAVE_DMU_OBJSET_OWN_6ARG 1" >>confdefs.h


fi
	#
	# ZFS 0.8.x changes dmu_objset_disown for encryption
	#

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if ZFS has 'dmu_objset_disown' with 3 args" >&5
$as_echo_n "checking if ZFS has 'dmu_objset_disown' with 3 args... " >&6; }
if ${lb_cv_compile_dmu_objset_disown+:} false; then :
  $as_echo_n "(cached) " >&6
else


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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_dmu_objset_disown=yes
else
  $as_echo "$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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_dmu_objset_disown" >&5
$as_echo "$lb_cv_compile_dmu_objset_disown" >&6; }
if test "x$lb_cv_compile_dmu_objset_disown" = xyes; then :


$as_echo "#define HAVE_DMU_OBJSET_DISOWN_3ARG 1" >>confdefs.h


fi
	#
	# ZFS exports dmu_offet_next
	#
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if ZFS exports 'dmu_offset_next'" >&5
$as_echo_n "checking if ZFS exports 'dmu_offset_next'... " >&6; }
if ${lb_cv_dmu_offset_next+:} false; then :
  $as_echo_n "(cached) " >&6
else

	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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_dmu_offset_next" >&5
$as_echo "$lb_cv_dmu_offset_next" >&6; }
	if test "x$lb_cv_dmu_offset_next" = "xyes"; then :


$as_echo "#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.
	#

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if ZFS has 'db_dirty_records' list_t" >&5
$as_echo_n "checking if ZFS has 'db_dirty_records' list_t... " >&6; }
if ${lb_cv_compile_db_dirty_records+:} false; then :
  $as_echo_n "(cached) " >&6
else


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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_db_dirty_records=yes
else
  $as_echo "$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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_db_dirty_records" >&5
$as_echo "$lb_cv_compile_db_dirty_records" >&6; }
if test "x$lb_cv_compile_db_dirty_records" = xyes; then :


$as_echo "#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
	#

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if ZFS renamed sys/refcount to zfs_refcount.h" >&5
$as_echo_n "checking if ZFS renamed sys/refcount to zfs_refcount.h... " >&6; }
if ${lb_cv_compile_zfs_zfs_refcount+:} false; then :
  $as_echo_n "(cached) " >&6
else


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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_zfs_zfs_refcount=yes
else
  $as_echo "$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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_zfs_zfs_refcount" >&5
$as_echo "$lb_cv_compile_zfs_zfs_refcount" >&6; }
if test "x$lb_cv_compile_zfs_zfs_refcount" = xyes; then :


$as_echo "#define HAVE_ZFS_REFCOUNT_HEADER 1" >>confdefs.h


fi

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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += config_MODULES_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += config_MODVERSIONS_pc/" >>${TEST_DIR}/Makefile






	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += ktime_get_ts64_pc/" >>${TEST_DIR}/Makefile




	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += prepare_to_wait_event_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += kernel_param_ops_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += ktime_add_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += ktime_after_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += ktime_before_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += ktime_compare_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += shrinker_count_objects_pc/" >>${TEST_DIR}/Makefile




	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += match_wildcard_pc/" >>${TEST_DIR}/Makefile




	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += mapping_exiting_exists_pc/" >>${TEST_DIR}/Makefile




	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += iov_iter_has_type_member_pc/" >>${TEST_DIR}/Makefile




	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += glob_match_pc/" >>${TEST_DIR}/Makefile




	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += hlist_add_after_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += timespec64_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += ktime_get_ns_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += ktime_get_real_ts64_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += ktime_get_real_seconds_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += ktime_get_real_ns_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += ktime_to_timespec64_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += timespec64_sub_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += timespec64_to_ktime_pc/" >>${TEST_DIR}/Makefile




	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += ktime_get_seconds_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += wait_woken_pc/" >>${TEST_DIR}/Makefile




	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += ktime_ms_delta_pc/" >>${TEST_DIR}/Makefile




	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += kernel_param_lock_pc/" >>${TEST_DIR}/Makefile




	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += strscpy_exists_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += topology_sibling_cpumask_pc/" >>${TEST_DIR}/Makefile




	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += kstrtobool_from_user_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += cb_start_pc/" >>${TEST_DIR}/Makefile




	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += crypto_hash_helpers_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += rhashtable_replace_fast_pc/" >>${TEST_DIR}/Makefile




	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += broken_hash_64_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += stacktrace_ops_address_return_int_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += get_user_pages_6arg_pc/" >>${TEST_DIR}/Makefile




	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += rhashtable_insert_fast_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += rhashtable_walk_init_pc/" >>${TEST_DIR}/Makefile




	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += rhashtable_lookup_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += rhtable_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += stacktrace_ops_pc/" >>${TEST_DIR}/Makefile




	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += get_user_pages_gup_flags_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += rhashtable_walk_enter_pc/" >>${TEST_DIR}/Makefile




	# 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_LUSTRE_CFS_DEAD);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += cpu_hotplug_state_machine_pc/" >>${TEST_DIR}/Makefile




	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += netlink_ext_ack_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += rhashtable_lookup_get_insert_fast_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += kref_read_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += rht_bucket_var_pc/" >>${TEST_DIR}/Makefile




	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += cpu_read_lock_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/uuid_t_pc || mkdir -p ${TEST_DIR}/uuid_t_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/uuid_t_pc/uuid_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/uuid.h>

int
main (void)
{

		uuid_t uuid;

		memset(uuid.b, 0, 16);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/uuid_t_pc || mkdir -p ${TEST_DIR}/uuid_t_pc

	file=${TEST_DIR}/uuid_t_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/uuid_t_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		fi
	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/uuid_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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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 := uuid_t_pc.o" >>$file
	echo "obj-m += uuid_t_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += wait_queue_task_list_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += struct_wait_bit_queue_entry_exists_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += memalloc_noreclaim_pc/" >>${TEST_DIR}/Makefile




	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += nla_strdup_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += wait_queue_entry_pc/" >>${TEST_DIR}/Makefile




	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += define_timer_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += kernel_write_match_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += kernel_read_pc/" >>${TEST_DIR}/Makefile




	# 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}/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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += lockdep_is_held_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += timer_setup_pc/" >>${TEST_DIR}/Makefile




	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += kernel_old_timeval_pc/" >>${TEST_DIR}/Makefile





	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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += wait_var_event_pc/" >>${TEST_DIR}/Makefile




	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += bitmap_alloc_pc/" >>${TEST_DIR}/Makefile





	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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += clear_and_wake_up_bit_pc/" >>${TEST_DIR}/Makefile




	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += tcp_sock_set_nodelay_exists_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += tcp_sock_set_keepidle_exists_pc/" >>${TEST_DIR}/Makefile




	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += xarray_support_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += netlink_dump_ext_ack_pc/" >>${TEST_DIR}/Makefile




	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += macro_iov_iter_type_exists_pc/" >>${TEST_DIR}/Makefile




	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += totalram_pages_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += get_request_key_auth_exported_pc/" >>${TEST_DIR}/Makefile




	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += kobj_type_default_groups_pc/" >>${TEST_DIR}/Makefile




	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += lookup_user_key_exported_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	# Skip test write and build steps if the result is already known.

TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
test -d ${TEST_DIR}/force_sig_with_task_pc || mkdir -p ${TEST_DIR}/force_sig_with_task_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/force_sig_with_task_pc/force_sig_with_task_pc.c

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

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(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)
{

		force_sig(SIGINT, NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/force_sig_with_task_pc || mkdir -p ${TEST_DIR}/force_sig_with_task_pc

	file=${TEST_DIR}/force_sig_with_task_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/force_sig_with_task_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		fi
	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/force_sig_with_task_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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 := force_sig_with_task_pc.o" >>$file
	echo "obj-m += force_sig_with_task_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += cache_detail_writers_atomic_pc/" >>${TEST_DIR}/Makefile




	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += genl_dumpit_info_pc/" >>${TEST_DIR}/Makefile




	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += proc_ops_pc/" >>${TEST_DIR}/Makefile




	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += tcp_sock_set_quickack_exists_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += tcp_sock_set_keepintvl_exists_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += tcp_sock_set_keepcnt_exists_pc/" >>${TEST_DIR}/Makefile




	# 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}/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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += nr_unstable_nfs_exists_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += mmap_write_lock_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += kernel_setsockopt_exists_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += vmalloc_2args_pc/" >>${TEST_DIR}/Makefile




	# 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}/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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += security_release_secctx_1arg_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += lsmcontext_init_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += security_dentry_init_security_with_ctx_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += kfree_sensitive_exists_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += list_cmp_func_t_exists_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += nla_strlcpy_pc/" >>${TEST_DIR}/Makefile




	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += linux_fortify_string_header_pc/" >>${TEST_DIR}/Makefile




	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += task_is_running_pc/" >>${TEST_DIR}/Makefile




	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += param_set_uint_minmax_pc/" >>${TEST_DIR}/Makefile




	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += pde_data_pc/" >>${TEST_DIR}/Makefile




	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += timer_delete_sync_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += timer_delete_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	# Phase 1 - Compilation only, final linking is skipped.

	D="$(realpath ${TEST_DIR})"
	L="$D/build.log.libcfs"
	J=${TEST_JOBS:-$(nproc)}

	{ $as_echo "$as_me:${as_lineno-$LINENO}: Making libcfs in $D" >&5
$as_echo "$as_me: Making libcfs in $D" >&6;}
	{ $as_echo "$as_me:${as_lineno-$LINENO}: KBUILD_MODPOST_NOFINAL=\"yes\" make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV" >&5
$as_echo "$as_me: KBUILD_MODPOST_NOFINAL=\"yes\" make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV" >&6;}

	{ ac_try='KBUILD_MODPOST_NOFINAL="yes"
		make modules -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=$?
  $as_echo "$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.libcfs
fi
else
  as_fn_error $? "*** Unable to compile test source ... for available kernel interfaces to libcfs" "$LINENO" 5

fi

	for dir in $(awk '/^obj-m/ { print $3 }' \
	    ${TEST_DIR}/Makefile.compile.libcfs); do
		name=${dir%/}
		touch ${TEST_DIR}/$name/$name.tested
	done



			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_free_blocks_with_buffer_head_pc || mkdir -p ${TEST_DIR}/ext4_free_blocks_with_buffer_head_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/ext4_free_blocks_with_buffer_head_pc/ext4_free_blocks_with_buffer_head_pc.c

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

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(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)
{

		ext4_free_blocks(NULL, NULL, NULL, 0, 0, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/ext4_free_blocks_with_buffer_head_pc || mkdir -p ${TEST_DIR}/ext4_free_blocks_with_buffer_head_pc

	file=${TEST_DIR}/ext4_free_blocks_with_buffer_head_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL="ext4_free_blocks"
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/ext4_free_blocks_with_buffer_head_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		fi
	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/ext4_free_blocks_with_buffer_head_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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_free_blocks_with_buffer_head_pc.o" >>$file
	echo "obj-m += ext4_free_blocks_with_buffer_head_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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_start_pc || mkdir -p ${TEST_DIR}/ext4_journal_start_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/ext4_journal_start_pc/ext4_journal_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 <linux/fs.h>
		#include "$EXT4_SRC_DIR/ext4_jbd2.h"

int
main (void)
{

		ext4_journal_start(NULL, 0, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/ext4_journal_start_pc || mkdir -p ${TEST_DIR}/ext4_journal_start_pc

	file=${TEST_DIR}/ext4_journal_start_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL="__ext4_journal_start_sb"
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/ext4_journal_start_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		fi
	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/ext4_journal_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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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_journal_start_pc.o" >>$file
	echo "obj-m += ext4_journal_start_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += ext4_bread_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += ext4_info_dquot_pc/" >>${TEST_DIR}/Makefile







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += config_EXT4_FS_ENCRYPTION_pc/" >>${TEST_DIR}/Makefile





	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += ext4_i_crypt_info_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += ext4_journal_ensure_credits_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += ext4_iget_3args_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += ldiskfs_find_entry_locked_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += ext4fs_dirhash_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += handle_t_h_revoke_credits_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += jbd2_journal_get_max_txn_bufs_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += config_im_FS_ENCRYPTION_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	# Phase 1 - Compilation only, final linking is skipped.

	D="$(realpath ${TEST_DIR})"
	L="$D/build.log.ldiskfs"
	J=${TEST_JOBS:-$(nproc)}

	{ $as_echo "$as_me:${as_lineno-$LINENO}: Making ldiskfs in $D" >&5
$as_echo "$as_me: Making ldiskfs in $D" >&6;}
	{ $as_echo "$as_me:${as_lineno-$LINENO}: KBUILD_MODPOST_NOFINAL=\"yes\" make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV" >&5
$as_echo "$as_me: KBUILD_MODPOST_NOFINAL=\"yes\" make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV" >&6;}

	{ ac_try='KBUILD_MODPOST_NOFINAL="yes"
		make modules -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=$?
  $as_echo "$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.ldiskfs
fi
else
  as_fn_error $? "*** Unable to compile test source ... for available ldiskfs ext4 interfaces" "$LINENO" 5

fi

	for dir in $(awk '/^obj-m/ { print $3 }' \
	    ${TEST_DIR}/Makefile.compile.ldiskfs); do
		name=${dir%/}
		touch ${TEST_DIR}/$name/$name.tested
	done


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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += key_type_instantiate_2args_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += config_im_CRYPTO_MD5_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += config_im_CRYPTO_SHA1_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += config_im_CRYPTO_SHA256_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += config_im_CRYPTO_SHA512_pc/" >>${TEST_DIR}/Makefile





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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += config_im_QUOTA_pc/" >>${TEST_DIR}/Makefile







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += stack_size_8k_pc/" >>${TEST_DIR}/Makefile





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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += config_im_FHANDLE_pc/" >>${TEST_DIR}/Makefile








	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += config_im_FS_POSIX_ACL_pc/" >>${TEST_DIR}/Makefile







	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += get_projid_pc/" >>${TEST_DIR}/Makefile





	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += address_space_ops_invalidatepage_3args_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += dir_context_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += d_compare_5args_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += d_count_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += pid_ns_for_children_pc/" >>${TEST_DIR}/Makefile





	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += truncate_pagecache_old_size_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += is_err_or_null_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += d_alias_list_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += d_alias_hlist_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += d_child_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += kiocb_ki_left_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += register_shrinker_ret_pc/" >>${TEST_DIR}/Makefile





	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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 +=

$as_echo "#define HAVE_VFS_RENAME_5ARGS 1" >>confdefs.h

	" >>$file

	# Test case source
	echo "obj-m := vfs_rename_5args_pc.o" >>$file
	echo "obj-m += vfs_rename_5args_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += vfs_unlink_3args_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += d_is_positive_pc/" >>${TEST_DIR}/Makefile





	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += have_bvec_iter_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += truncate_ipages_final_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += iops_rename_with_flags_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += inode_ops_set_acl_pc/" >>${TEST_DIR}/Makefile





	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += vfs_rename_6args_pc/" >>${TEST_DIR}/Makefile





	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += direct_io_iter_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += iter_init_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += iter_truncate_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += file_function_iter_pc/" >>${TEST_DIR}/Makefile





	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += interval_blk_integrity_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += key_match_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += blk_integrity_iter_pc/" >>${TEST_DIR}/Makefile





	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += filldir_ctx_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += percpu_counter_init_pc/" >>${TEST_DIR}/Makefile





	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += ki_nbytes_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += qc_dqblk_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += aio_complete_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += is_root_inode_pc/" >>${TEST_DIR}/Makefile





	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += backing_dev_info_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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_cap_map_copy_pc || mkdir -p ${TEST_DIR}/bdi_cap_map_copy_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/bdi_cap_map_copy_pc/bdi_cap_map_copy_pc.c

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

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(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.capabilities = BDI_CAP_MAP_COPY;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/bdi_cap_map_copy_pc || mkdir -p ${TEST_DIR}/bdi_cap_map_copy_pc

	file=${TEST_DIR}/bdi_cap_map_copy_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/bdi_cap_map_copy_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		fi
	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/bdi_cap_map_copy_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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_cap_map_copy_pc.o" >>$file
	echo "obj-m += bdi_cap_map_copy_pc/" >>${TEST_DIR}/Makefile





	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += iov_iter_rw_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += have___bi_cnt_pc/" >>${TEST_DIR}/Makefile





	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += bio_endio_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += symlink_use_nameidata_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += account_page_dirtied_3a_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += crypto_alloc_skcipher_pc/" >>${TEST_DIR}/Makefile





	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += blk_integrity_interval_exp_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += bio_integrity_payload_bip_iter_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += cache_head_has_hlist_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += xattr_handler_simplified_pc/" >>${TEST_DIR}/Makefile





	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += locks_lock_file_wait_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += key_payload_data_array_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += xattr_handler_name_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += bio_integrity_prep_ret_bool_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += have_bi_opf_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += have_submit_bio_2args_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += have_clean_bdev_aliases_pc/" >>${TEST_DIR}/Makefile





	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += file_dentry_pc/" >>${TEST_DIR}/Makefile





	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += inode_lock_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += inode_ops_get_link_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += in_compat_syscall_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += xattr_handler_inode_param_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += lock_page_memcg_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += down_write_killable_pc/" >>${TEST_DIR}/Makefile





	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += d_in_lookup_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += d_init_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += direct_io_2args_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += generic_write_sync_2args_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += fop_iterate_shared_pc/" >>${TEST_DIR}/Makefile





	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += posix_acl_valid_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += d_compare_4args_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += full_name_hash_3args_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += struct_posix_acl_xattr_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += inode_ops_xattr_pc/" >>${TEST_DIR}/Makefile





	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += group_info_gid_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += vfs_setxattr_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += posix_acl_update_mode_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += bdi_has_io_pages_pc/" >>${TEST_DIR}/Makefile





	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += inode_ops_readlink_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += vm_fault_address_pc/" >>${TEST_DIR}/Makefile





	# 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 path path;

		((struct inode_operations *)1)->getattr(&path, NULL, 0, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += getattr_path_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += vm_operations_no_vm_area_struct_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += key_usage_refcount_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += crypto_max_alg_name_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += percpu_counter_add_batch_exists_pc/" >>${TEST_DIR}/Makefile





	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += current_time_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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_block_s_uuid_pc || mkdir -p ${TEST_DIR}/super_block_s_uuid_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/super_block_s_uuid_pc/super_block_s_uuid_pc.c

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

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \
 && defined(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;

		uuid_parse(NULL, &sb.s_uuid);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/super_block_s_uuid_pc || mkdir -p ${TEST_DIR}/super_block_s_uuid_pc

	file=${TEST_DIR}/super_block_s_uuid_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/super_block_s_uuid_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		fi
	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/super_block_s_uuid_pc $MAKE_KMOD_ENV

${LD:+LD="$LD"}
CC=$CC
ZINC=${ZFS}
SINC=${SPL}
ZOBJ=${ZFS_OBJ}
SOBJ=${SPL_OBJ}
PSYM=${PSYM_FILE}

LINUXINCLUDE  = $EXT_INCLUDE
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include
LINUXINCLUDE += -Iinclude -Iarch/$SUBARCH/include/generated
LINUXINCLUDE += -I$LINUX/include
LINUXINCLUDE += -Iinclude2
LINUXINCLUDE += -I$LINUX/include/uapi
LINUXINCLUDE += -Iinclude/generated
LINUXINCLUDE += -I$LINUX/arch/$SUBARCH/include/uapi
LINUXINCLUDE += -Iarch/$SUBARCH/include/generated/uapi
LINUXINCLUDE += -I$LINUX/include/uapi -Iinclude/generated/uapi
ifneq (\$(SOBJ),)
LINUXINCLUDE += -include \$(SOBJ)/spl_config.h
endif
ifneq (\$(ZOBJ),)
LINUXINCLUDE += -include \$(ZOBJ)/zfs_config.h
endif
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)/include
endif
ifneq (\$(ZINC),)
LINUXINCLUDE += -I\$(ZINC) -I\$(ZINC)/include
ifneq (\$(SINC),)
LINUXINCLUDE += -I\$(SINC)
else
LINUXINCLUDE += -I\$(ZINC)/include/spl
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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_block_s_uuid_pc.o" >>$file
	echo "obj-m += super_block_s_uuid_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += super_setup_bdi_name_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += bi_status_pc/" >>${TEST_DIR}/Makefile





	# 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}/bio_integrity_enabled_pc || mkdir -p ${TEST_DIR}/bio_integrity_enabled_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/bio_integrity_enabled_pc/bio_integrity_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/bio.h>

int
main (void)
{

		bio_integrity_enabled(NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/bio_integrity_enabled_pc || mkdir -p ${TEST_DIR}/bio_integrity_enabled_pc

	file=${TEST_DIR}/bio_integrity_enabled_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/bio_integrity_enabled_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		fi
	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/bio_integrity_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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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_enabled_pc.o" >>$file
	echo "obj-m += bio_integrity_enabled_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += bio_integrity_prep_ret_bool_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += get_inode_usage_pc/" >>${TEST_DIR}/Makefile





	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += pagevec_init_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += bi_bdev_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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;
		INTERVAL_TREE_DEFINE(struct foo, rb, int, last,
			START, LAST, , foo);

int
main (void)
{

		foo_insert(NULL, &tree);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += itree_cached_pc/" >>${TEST_DIR}/Makefile





	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += vm_fault_t_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += VM_FAULT_RETRY_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += i_pages_pc/" >>${TEST_DIR}/Makefile





	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += inode_timespec64_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += alloc_file_pseudo_pc/" >>${TEST_DIR}/Makefile





	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += radix_tree_tag_set_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += uapi_linux_mount_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += hash_lock_isa_spinlock_t_pc/" >>${TEST_DIR}/Makefile





	# 5.1
	LC_SRC_HAS_LINUX_SELINUX_ENABLED


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += struct_bvec_iter_all_pc/" >>${TEST_DIR}/Makefile





	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += keyring_search_4args_pc/" >>${TEST_DIR}/Makefile





	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += bye_bio_bi_phys_segments_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += lock_manager_ops_lm_compare_owner_pc/" >>${TEST_DIR}/Makefile





	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += fscrypt_digested_name_pc/" >>${TEST_DIR}/Makefile





	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += fscrypt_dummy_context_enabled_pc/" >>${TEST_DIR}/Makefile





	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += fscrypt_fname_alloc_buffer_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += fscrypt_set_context_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += fname_is_nokey_name_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += fscrypt_set_test_dummy_encryption_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += fscrypt_free_dummy_policy_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += iter_file_splice_write_pc/" >>${TEST_DIR}/Makefile





	# 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}/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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += fscrypt_is_no_key_name_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += fscrypt_prepare_readdir_pc/" >>${TEST_DIR}/Makefile





	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += bio_set_dev_pc/" >>${TEST_DIR}/Makefile





	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += inode_ops_has_user_namespace_argument_pc/" >>${TEST_DIR}/Makefile





	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += get_acl_rcu_argument_pc/" >>${TEST_DIR}/Makefile





	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += security_dentry_init_security_xattr_name_arg_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += folio_memcg_lock_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += kiocb_ki_complete_2args_pc/" >>${TEST_DIR}/Makefile





	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += address_spaace_operaions_invalidate_folio_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += address_spaace_operaions_dirty_folio_pc/" >>${TEST_DIR}/Makefile





	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += alloc_inode_sb_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += address_spaace_operaions_invalidate_folio_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += address_spaace_operaions_dirty_folio_pc/" >>${TEST_DIR}/Makefile





	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += grab_cache_page_write_begin_with_flags_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += address_space_operations_read_folio_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += read_cache_page_filler_with_file_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += address_space_operations_release_folio_pc/" >>${TEST_DIR}/Makefile





	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += no_llseek_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += dquot_transfer_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += address_space_operations_migrate_folio_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += register_shrinker_format_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += vfs_setxattr_non_const_value_arg_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += iov_iter_get_pages_alloc2_pc/" >>${TEST_DIR}/Makefile





	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += iov_iter_iovec_exists_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += iov_iter_has___iov_member_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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 __attribute__ ((unused));

		class = class_create("empty");
		if (IS_ERR(class))
			/* checked */;

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += class_create_without_module_arg_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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_expiry_with_time64_t_pc || mkdir -p ${TEST_DIR}/get_expiry_with_time64_t_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/get_expiry_with_time64_t_pc/get_expiry_with_time64_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)
{

		int err __attribute__ ((unused));

		err = get_expiry((char **)NULL, (time64_t *)NULL);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/get_expiry_with_time64_t_pc || mkdir -p ${TEST_DIR}/get_expiry_with_time64_t_pc

	file=${TEST_DIR}/get_expiry_with_time64_t_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/get_expiry_with_time64_t_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		fi
	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/get_expiry_with_time64_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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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_expiry_with_time64_t_pc.o" >>$file
	echo "obj-m += get_expiry_with_time64_t_pc/" >>${TEST_DIR}/Makefile





	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += get_random_u32_and_u64_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += filldir_ctx_return_bool_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += filemap_get_folios_contig_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += inode_ops_get_inode_acl_pc/" >>${TEST_DIR}/Makefile





	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += dentry_d_children_pc/" >>${TEST_DIR}/Makefile





	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += inode_ops_getattr_has_mnt_idmap_argument_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += locks_lock_file_wait_in_filelock_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += kernel_cap_t_has_u64_value_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += folio_batch_reinit_exists_pc/" >>${TEST_DIR}/Makefile





	# 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}/filemap_splice_read_pc || mkdir -p ${TEST_DIR}/filemap_splice_read_pc
cat confdefs.h - <<_EOF >${TEST_DIR}/filemap_splice_read_pc/filemap_splice_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)
{

		struct file *in = NULL;
		loff_t pos = 0;
		struct pipe_inode_info *pipe = NULL;
		ssize_t count __attribute__ ((unused));

		count = filemap_splice_read(in, &pos, pipe, 0, 0);

  ;
  return 0;
};
MODULE_LICENSE("GPL");
_EOF


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	test -d ${TEST_DIR} || mkdir -p ${TEST_DIR}
	test -d ${TEST_DIR}/filemap_splice_read_pc || mkdir -p ${TEST_DIR}/filemap_splice_read_pc

	file=${TEST_DIR}/filemap_splice_read_pc/Makefile
	EXT_INCLUDE=""
	EXT_SYMBOL=""
	PSYM_FILE=""
	if test "${EXT_SYMBOL}x" != "x" ; then
		PSYM_FILE=${TEST_DIR}/filemap_splice_read_pc/Psuedo.symvers
		echo -e "0x12345678\t${EXT_SYMBOL}\tvmlinux\tEXPORT_SYMBOL\t" > ${PSYM_FILE}
	fi
	XTRA_SYM=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		fi
	fi

	cat - <<_EOF >$file
# Example command line to manually build source
# make modules -C $LINUX_OBJ $ARCH_UM M=${TEST_DIR}/filemap_splice_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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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_splice_read_pc.o" >>$file
	echo "obj-m += filemap_splice_read_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += enum_iter_type_iter_pipe_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += get_user_pages_without_vma_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += struct_folio_batch_exists_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += struct_pagevec_exists_pc/" >>${TEST_DIR}/Makefile





	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += get_random_u32_below_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += acl_with_dentry_pc/" >>${TEST_DIR}/Makefile





	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += flush_scheduled_work_warning_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += inode_get_ctime_exists_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += mmap_write_trylock_removed_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += generic_fillattr_has_request_mask_arg_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += struct_nsproxy_count_refcount_t_pc/" >>${TEST_DIR}/Makefile





	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += inode_get_mtime_exists_pc/" >>${TEST_DIR}/Makefile






	# 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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += bio_integrity_prep_fn_pc/" >>${TEST_DIR}/Makefile





			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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += zfs_nvpair_const_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += zfs_arc_prune_func_uint64_pc/" >>${TEST_DIR}/Makefile






	TEST_DIR=${TEST_DIR:-${ac_pwd}/_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


	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=
	if test "x$O2IBPATH" != "x"; then
		if test "x$O2IBPATH" != "x$LINUX_OBJ"; then
			XTRA_SYM="$O2IBPATH/Module.symvers"
		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
LINUXINCLUDE += -I\$(ZINC)/include/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/spl
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/zfs
LINUXINCLUDE += -I\$(ZINC)/include/os/linux/kernel
endif
endif
LINUXINCLUDE += -include $CONFIG_INCLUDE
KBUILD_EXTRA_SYMBOLS += ${ZFS_OBJ:+$ZFS_OBJ/Module.symvers}
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
	echo "obj-m += dmu_buf_will_fill_3args_pc/" >>${TEST_DIR}/Makefile





fi


	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}
	# Phase 1 - Compilation only, final linking is skipped.

	D="$(realpath ${TEST_DIR})"
	L="$D/build.log.lustre"
	J=${TEST_JOBS:-$(nproc)}

	{ $as_echo "$as_me:${as_lineno-$LINENO}: Making lustre in $D" >&5
$as_echo "$as_me: Making lustre in $D" >&6;}
	{ $as_echo "$as_me:${as_lineno-$LINENO}: KBUILD_MODPOST_NOFINAL=\"yes\" make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV" >&5
$as_echo "$as_me: KBUILD_MODPOST_NOFINAL=\"yes\" make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} $MAKE_KMOD_ENV" >&6;}

	{ ac_try='KBUILD_MODPOST_NOFINAL="yes"
		make modules -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=$?
  $as_echo "$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_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


			# Collect parallel compile tests results


	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux kernel was built with CONFIG_MODULES" >&5
$as_echo_n "checking if Linux kernel was built with CONFIG_MODULES... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for config_MODULES was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for config_MODULES" >&5
$as_echo_n "checking for config_MODULES... " >&6; }
if ${lb_cv_test_config_MODULES+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_config_MODULES=yes
else
  lb_cv_test_config_MODULES=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_config_MODULES" >&5
$as_echo "$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_fn_error $? "module support is required to build Lustre kernel modules." "$LINENO" 5


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux kernel was built with CONFIG_MODVERSIONS" >&5
$as_echo_n "checking if Linux kernel was built with CONFIG_MODVERSIONS... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for config_MODVERSIONS was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for config_MODVERSIONS" >&5
$as_echo_n "checking for config_MODVERSIONS... " >&6; }
if ${lb_cv_test_config_MODVERSIONS+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_config_MODVERSIONS=yes
else
  lb_cv_test_config_MODVERSIONS=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_config_MODVERSIONS" >&5
$as_echo "$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

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking does function 'ktime_get_ts64' exist" >&5
$as_echo_n "checking does function 'ktime_get_ts64' exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for ktime_get_ts64 was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ktime_get_ts64" >&5
$as_echo_n "checking for ktime_get_ts64... " >&6; }
if ${lb_cv_test_ktime_get_ts64+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_ktime_get_ts64=yes
else
  lb_cv_test_ktime_get_ts64=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_ktime_get_ts64" >&5
$as_echo "$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 :

$as_echo "#define HAVE_KTIME_GET_TS64 1" >>confdefs.h


fi



	# 3.12

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking does function 'prepare_to_wait_event' exist" >&5
$as_echo_n "checking does function 'prepare_to_wait_event' exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for prepare_to_wait_event was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for prepare_to_wait_event" >&5
$as_echo_n "checking for prepare_to_wait_event... " >&6; }
if ${lb_cv_test_prepare_to_wait_event+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_prepare_to_wait_event=yes
else
  lb_cv_test_prepare_to_wait_event=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_prepare_to_wait_event" >&5
$as_echo "$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 :

$as_echo "#define HAVE_PREPARE_TO_WAIT_EVENT 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking does 'struct kernel_param_ops' exist" >&5
$as_echo_n "checking does 'struct kernel_param_ops' exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for kernel_param_ops was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for kernel_param_ops" >&5
$as_echo_n "checking for kernel_param_ops... " >&6; }
if ${lb_cv_test_kernel_param_ops+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_kernel_param_ops=yes
else
  lb_cv_test_kernel_param_ops=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_kernel_param_ops" >&5
$as_echo "$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 :

$as_echo "#define HAVE_KERNEL_PARAM_OPS 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking does function 'ktime_add' exist" >&5
$as_echo_n "checking does function 'ktime_add' exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for ktime_add was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ktime_add" >&5
$as_echo_n "checking for ktime_add... " >&6; }
if ${lb_cv_test_ktime_add+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_ktime_add=yes
else
  lb_cv_test_ktime_add=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_ktime_add" >&5
$as_echo "$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 :

$as_echo "#define HAVE_KTIME_ADD 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking does function 'ktime_after' exist" >&5
$as_echo_n "checking does function 'ktime_after' exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for ktime_after was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ktime_after" >&5
$as_echo_n "checking for ktime_after... " >&6; }
if ${lb_cv_test_ktime_after+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_ktime_after=yes
else
  lb_cv_test_ktime_after=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_ktime_after" >&5
$as_echo "$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 :

$as_echo "#define HAVE_KTIME_AFTER 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking does function 'ktime_before' exist" >&5
$as_echo_n "checking does function 'ktime_before' exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for ktime_before was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ktime_before" >&5
$as_echo_n "checking for ktime_before... " >&6; }
if ${lb_cv_test_ktime_before+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_ktime_before=yes
else
  lb_cv_test_ktime_before=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_ktime_before" >&5
$as_echo "$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 :

$as_echo "#define HAVE_KTIME_BEFORE 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking does function 'ktime_compare' exist" >&5
$as_echo_n "checking does function 'ktime_compare' exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for ktime_compare was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ktime_compare" >&5
$as_echo_n "checking for ktime_compare... " >&6; }
if ${lb_cv_test_ktime_compare+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_ktime_compare=yes
else
  lb_cv_test_ktime_compare=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_ktime_compare" >&5
$as_echo "$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 :

$as_echo "#define HAVE_KTIME_COMPARE 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking shrinker has 'count_objects'" >&5
$as_echo_n "checking shrinker has 'count_objects'... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for shrinker_count_objects was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for shrinker_count_objects" >&5
$as_echo_n "checking for shrinker_count_objects... " >&6; }
if ${lb_cv_test_shrinker_count_objects+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_shrinker_count_objects=yes
else
  lb_cv_test_shrinker_count_objects=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_shrinker_count_objects" >&5
$as_echo "$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 :

$as_echo "#define HAVE_SHRINKER_COUNT 1" >>confdefs.h


fi



	# 3.13

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking does function 'match_wildcard' exist" >&5
$as_echo_n "checking does function 'match_wildcard' exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for match_wildcard was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for match_wildcard" >&5
$as_echo_n "checking for match_wildcard... " >&6; }
if ${lb_cv_test_match_wildcard+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_match_wildcard=yes
else
  lb_cv_test_match_wildcard=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_match_wildcard" >&5
$as_echo "$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 :

$as_echo "#define HAVE_MATCH_WILDCARD 1" >>confdefs.h


fi



	# 3.14

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if enum mapping_flags has AS_EXITING flag" >&5
$as_echo_n "checking if enum mapping_flags has AS_EXITING flag... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for mapping_exiting_exists was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for mapping_exiting_exists" >&5
$as_echo_n "checking for mapping_exiting_exists... " >&6; }
if ${lb_cv_test_mapping_exiting_exists+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_mapping_exiting_exists=yes
else
  lb_cv_test_mapping_exiting_exists=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_mapping_exiting_exists" >&5
$as_echo "$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 :

$as_echo "#define HAVE_MAPPING_AS_EXITING_FLAG 1" >>confdefs.h


fi



	# 3.15

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if iov_iter has member type" >&5
$as_echo_n "checking if iov_iter has member type... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for iov_iter_has_type_member was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for iov_iter_has_type_member" >&5
$as_echo_n "checking for iov_iter_has_type_member... " >&6; }
if ${lb_cv_test_iov_iter_has_type_member+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_iov_iter_has_type_member=yes
else
  lb_cv_test_iov_iter_has_type_member=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_iov_iter_has_type_member" >&5
$as_echo "$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 :

$as_echo "#define HAVE_IOV_ITER_HAS_TYPE_MEMBER 1" >>confdefs.h


fi



	# 3.16

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking does 'glob_match()' exist" >&5
$as_echo_n "checking does 'glob_match()' exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for glob_match was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for glob_match" >&5
$as_echo_n "checking for glob_match... " >&6; }
if ${lb_cv_test_glob_match+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_glob_match=yes
else
  lb_cv_test_glob_match=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_glob_match" >&5
$as_echo "$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 :

$as_echo "#define HAVE_GLOB 1" >>confdefs.h


fi



	# 3.17

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking does function 'hlist_add_after' exist" >&5
$as_echo_n "checking does function 'hlist_add_after' exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for hlist_add_after was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for hlist_add_after" >&5
$as_echo_n "checking for hlist_add_after... " >&6; }
if ${lb_cv_test_hlist_add_after+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_hlist_add_after=yes
else
  lb_cv_test_hlist_add_after=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_hlist_add_after" >&5
$as_echo "$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 :

$as_echo "#define HAVE_HLIST_ADD_AFTER 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking does 'struct timespec64' exist" >&5
$as_echo_n "checking does 'struct timespec64' exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for timespec64 was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for timespec64" >&5
$as_echo_n "checking for timespec64... " >&6; }
if ${lb_cv_test_timespec64+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_timespec64=yes
else
  lb_cv_test_timespec64=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_timespec64" >&5
$as_echo "$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 :

$as_echo "#define HAVE_TIMESPEC64 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking does function 'ktime_get_ns' exist" >&5
$as_echo_n "checking does function 'ktime_get_ns' exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for ktime_get_ns was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ktime_get_ns" >&5
$as_echo_n "checking for ktime_get_ns... " >&6; }
if ${lb_cv_test_ktime_get_ns+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_ktime_get_ns=yes
else
  lb_cv_test_ktime_get_ns=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_ktime_get_ns" >&5
$as_echo "$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_echo "#define NEED_KTIME_GET_NS 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking does function 'ktime_get_real_ts64' exist" >&5
$as_echo_n "checking does function 'ktime_get_real_ts64' exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for ktime_get_real_ts64 was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ktime_get_real_ts64" >&5
$as_echo_n "checking for ktime_get_real_ts64... " >&6; }
if ${lb_cv_test_ktime_get_real_ts64+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_ktime_get_real_ts64=yes
else
  lb_cv_test_ktime_get_real_ts64=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_ktime_get_real_ts64" >&5
$as_echo "$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 :

$as_echo "#define HAVE_KTIME_GET_REAL_TS64 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking does function 'ktime_get_real_ts64' exist" >&5
$as_echo_n "checking does function 'ktime_get_real_ts64' exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for ktime_get_real_seconds was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ktime_get_real_seconds" >&5
$as_echo_n "checking for ktime_get_real_seconds... " >&6; }
if ${lb_cv_test_ktime_get_real_seconds+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_ktime_get_real_seconds=yes
else
  lb_cv_test_ktime_get_real_seconds=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_ktime_get_real_seconds" >&5
$as_echo "$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 :

$as_echo "#define HAVE_KTIME_GET_REAL_SECONDS 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking does function 'ktime_get_real_ns' exist" >&5
$as_echo_n "checking does function 'ktime_get_real_ns' exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for ktime_get_real_ns was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ktime_get_real_ns" >&5
$as_echo_n "checking for ktime_get_real_ns... " >&6; }
if ${lb_cv_test_ktime_get_real_ns+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_ktime_get_real_ns=yes
else
  lb_cv_test_ktime_get_real_ns=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_ktime_get_real_ns" >&5
$as_echo "$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_echo "#define NEED_KTIME_GET_REAL_NS 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking does function 'ktime_to_timespec64' exist" >&5
$as_echo_n "checking does function 'ktime_to_timespec64' exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for ktime_to_timespec64 was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ktime_to_timespec64" >&5
$as_echo_n "checking for ktime_to_timespec64... " >&6; }
if ${lb_cv_test_ktime_to_timespec64+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_ktime_to_timespec64=yes
else
  lb_cv_test_ktime_to_timespec64=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_ktime_to_timespec64" >&5
$as_echo "$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 :

$as_echo "#define HAVE_KTIME_TO_TIMESPEC64 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking does function 'timespec64_sub' exist" >&5
$as_echo_n "checking does function 'timespec64_sub' exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for timespec64_sub was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for timespec64_sub" >&5
$as_echo_n "checking for timespec64_sub... " >&6; }
if ${lb_cv_test_timespec64_sub+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_timespec64_sub=yes
else
  lb_cv_test_timespec64_sub=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_timespec64_sub" >&5
$as_echo "$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 :

$as_echo "#define HAVE_TIMESPEC64_SUB 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking does function 'timespec64_to_ktime' exist" >&5
$as_echo_n "checking does function 'timespec64_to_ktime' exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for timespec64_to_ktime was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for timespec64_to_ktime" >&5
$as_echo_n "checking for timespec64_to_ktime... " >&6; }
if ${lb_cv_test_timespec64_to_ktime+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_timespec64_to_ktime=yes
else
  lb_cv_test_timespec64_to_ktime=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_timespec64_to_ktime" >&5
$as_echo "$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 :

$as_echo "#define HAVE_TIMESPEC64_TO_KTIME 1" >>confdefs.h


fi



	# 3.19

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking does function 'ktime_get_seconds' exist" >&5
$as_echo_n "checking does function 'ktime_get_seconds' exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for ktime_get_seconds was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ktime_get_seconds" >&5
$as_echo_n "checking for ktime_get_seconds... " >&6; }
if ${lb_cv_test_ktime_get_seconds+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_ktime_get_seconds=yes
else
  lb_cv_test_ktime_get_seconds=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_ktime_get_seconds" >&5
$as_echo "$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 :

$as_echo "#define HAVE_KTIME_GET_SECONDS 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking does function 'wait_woken' exist" >&5
$as_echo_n "checking does function 'wait_woken' exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for wait_woken was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for wait_woken" >&5
$as_echo_n "checking for wait_woken... " >&6; }
if ${lb_cv_test_wait_woken+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_wait_woken=yes
else
  lb_cv_test_wait_woken=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_wait_woken" >&5
$as_echo "$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 :

$as_echo "#define HAVE_WAIT_WOKEN 1" >>confdefs.h


fi



	# 4.0

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking does function 'ktime_ms_delta' exist" >&5
$as_echo_n "checking does function 'ktime_ms_delta' exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for ktime_ms_delta was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ktime_ms_delta" >&5
$as_echo_n "checking for ktime_ms_delta... " >&6; }
if ${lb_cv_test_ktime_ms_delta+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_ktime_ms_delta=yes
else
  lb_cv_test_ktime_ms_delta=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_ktime_ms_delta" >&5
$as_echo "$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 :

$as_echo "#define HAVE_KTIME_MS_DELTA 1" >>confdefs.h


fi



	# 4.1

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking does function 'kernel_param_unlock' exist" >&5
$as_echo_n "checking does function 'kernel_param_unlock' exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for kernel_param_lock was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for kernel_param_lock" >&5
$as_echo_n "checking for kernel_param_lock... " >&6; }
if ${lb_cv_test_kernel_param_lock+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_kernel_param_lock=yes
else
  lb_cv_test_kernel_param_lock=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_kernel_param_lock" >&5
$as_echo "$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 :

$as_echo "#define HAVE_KERNEL_PARAM_LOCK 1" >>confdefs.h


fi



	# 4.2

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if kernel strscpy is available" >&5
$as_echo_n "checking if kernel strscpy is available... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for strscpy_exists was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for strscpy_exists" >&5
$as_echo_n "checking for strscpy_exists... " >&6; }
if ${lb_cv_test_strscpy_exists+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_strscpy_exists=yes
else
  lb_cv_test_strscpy_exists=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_strscpy_exists" >&5
$as_echo "$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 :

$as_echo "#define HAVE_STRSCPY 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking does function 'topology_sibling_cpumask' exist" >&5
$as_echo_n "checking does function 'topology_sibling_cpumask' exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for topology_sibling_cpumask was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for topology_sibling_cpumask" >&5
$as_echo_n "checking for topology_sibling_cpumask... " >&6; }
if ${lb_cv_test_topology_sibling_cpumask+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_topology_sibling_cpumask=yes
else
  lb_cv_test_topology_sibling_cpumask=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_topology_sibling_cpumask" >&5
$as_echo "$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 :

$as_echo "#define HAVE_TOPOLOGY_SIBLING_CPUMASK 1" >>confdefs.h


fi



	# 4.4

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux kernel has 'kstrtobool_from_user'" >&5
$as_echo_n "checking if Linux kernel has 'kstrtobool_from_user'... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for kstrtobool_from_user was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for kstrtobool_from_user" >&5
$as_echo_n "checking for kstrtobool_from_user... " >&6; }
if ${lb_cv_test_kstrtobool_from_user+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_kstrtobool_from_user=yes
else
  lb_cv_test_kstrtobool_from_user=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_kstrtobool_from_user" >&5
$as_echo "$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 :

$as_echo "#define HAVE_KSTRTOBOOL_FROM_USER 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if struct genl_ops has start callback" >&5
$as_echo_n "checking if struct genl_ops has start callback... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for cb_start was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for cb_start" >&5
$as_echo_n "checking for cb_start... " >&6; }
if ${lb_cv_test_cb_start+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_cb_start=yes
else
  lb_cv_test_cb_start=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_cb_start" >&5
$as_echo "$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 :

$as_echo "#define HAVE_NETLINK_CALLBACK_START 1" >>confdefs.h


fi



	# 4.5

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking does crypto hash helper functions exist" >&5
$as_echo_n "checking does crypto hash helper functions exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for crypto_hash_helpers was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for crypto_hash_helpers" >&5
$as_echo_n "checking for crypto_hash_helpers... " >&6; }
if ${lb_cv_test_crypto_hash_helpers+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_crypto_hash_helpers=yes
else
  lb_cv_test_crypto_hash_helpers=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_crypto_hash_helpers" >&5
$as_echo "$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 :

$as_echo "#define HAVE_CRYPTO_HASH_HELPERS 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'rhashtable_replace_fast' exists" >&5
$as_echo_n "checking if 'rhashtable_replace_fast' exists... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for rhashtable_replace_fast was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for rhashtable_replace_fast" >&5
$as_echo_n "checking for rhashtable_replace_fast... " >&6; }
if ${lb_cv_test_rhashtable_replace_fast+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_rhashtable_replace_fast=yes
else
  lb_cv_test_rhashtable_replace_fast=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_rhashtable_replace_fast" >&5
$as_echo "$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 :

$as_echo "#define HAVE_RHASHTABLE_REPLACE 1" >>confdefs.h


fi



	# 4.6

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking kernel has fixed hash_64()" >&5
$as_echo_n "checking kernel has fixed hash_64()... " >&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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for broken_hash_64 was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for broken_hash_64" >&5
$as_echo_n "checking for broken_hash_64... " >&6; }
if ${lb_cv_test_broken_hash_64+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_broken_hash_64=yes
else
  lb_cv_test_broken_hash_64=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_broken_hash_64" >&5
$as_echo "$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 :

$as_echo "#define HAVE_BROKEN_HASH_64 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'struct stacktrace_ops' address function returns an int" >&5
$as_echo_n "checking if 'struct stacktrace_ops' address function returns an int... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for stacktrace_ops_address_return_int was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stacktrace_ops_address_return_int" >&5
$as_echo_n "checking for stacktrace_ops_address_return_int... " >&6; }
if ${lb_cv_test_stacktrace_ops_address_return_int+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_stacktrace_ops_address_return_int=yes
else
  lb_cv_test_stacktrace_ops_address_return_int=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_stacktrace_ops_address_return_int" >&5
$as_echo "$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 :

$as_echo "#define STACKTRACE_OPS_ADDRESS_RETURN_INT 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'get_user_pages()' takes 6 arguments" >&5
$as_echo_n "checking if 'get_user_pages()' takes 6 arguments... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for get_user_pages_6arg was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for get_user_pages_6arg" >&5
$as_echo_n "checking for get_user_pages_6arg... " >&6; }
if ${lb_cv_test_get_user_pages_6arg+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_get_user_pages_6arg=yes
else
  lb_cv_test_get_user_pages_6arg=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_get_user_pages_6arg" >&5
$as_echo "$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 :

$as_echo "#define HAVE_GET_USER_PAGES_6ARG 1" >>confdefs.h


fi



	# 4.7

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if internal '__rhashtable_insert_fast()' returns int" >&5
$as_echo_n "checking if internal '__rhashtable_insert_fast()' returns int... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for rhashtable_insert_fast was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for rhashtable_insert_fast" >&5
$as_echo_n "checking for rhashtable_insert_fast... " >&6; }
if ${lb_cv_test_rhashtable_insert_fast+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_rhashtable_insert_fast=yes
else
  lb_cv_test_rhashtable_insert_fast=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_rhashtable_insert_fast" >&5
$as_echo "$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 :

$as_echo "#define HAVE_HASHTABLE_INSERT_FAST_RETURN_INT 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'rhashtable_walk_init' has 3 args" >&5
$as_echo_n "checking if 'rhashtable_walk_init' has 3 args... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for rhashtable_walk_init was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for rhashtable_walk_init" >&5
$as_echo_n "checking for rhashtable_walk_init... " >&6; }
if ${lb_cv_test_rhashtable_walk_init+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_rhashtable_walk_init=yes
else
  lb_cv_test_rhashtable_walk_init=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_rhashtable_walk_init" >&5
$as_echo "$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 :

$as_echo "#define HAVE_3ARG_RHASHTABLE_WALK_INIT 1" >>confdefs.h


fi



	# 4.8

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'rhashtable_lookup' exist" >&5
$as_echo_n "checking if 'rhashtable_lookup' exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for rhashtable_lookup was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for rhashtable_lookup" >&5
$as_echo_n "checking for rhashtable_lookup... " >&6; }
if ${lb_cv_test_rhashtable_lookup+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_rhashtable_lookup=yes
else
  lb_cv_test_rhashtable_lookup=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_rhashtable_lookup" >&5
$as_echo "$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 :

$as_echo "#define HAVE_RHASHTABLE_LOOKUP 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking does 'struct rhltable' exist" >&5
$as_echo_n "checking does 'struct rhltable' exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for rhtable was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for rhtable" >&5
$as_echo_n "checking for rhtable... " >&6; }
if ${lb_cv_test_rhtable+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_rhtable=yes
else
  lb_cv_test_rhtable=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_rhtable" >&5
$as_echo "$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 :

$as_echo "#define HAVE_RHLTABLE 1" >>confdefs.h


fi




{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'struct stacktrace_ops' exists" >&5
$as_echo_n "checking if 'struct stacktrace_ops' exists... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for stacktrace_ops was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stacktrace_ops" >&5
$as_echo_n "checking for stacktrace_ops... " >&6; }
if ${lb_cv_test_stacktrace_ops+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_stacktrace_ops=yes
else
  lb_cv_test_stacktrace_ops=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_stacktrace_ops" >&5
$as_echo "$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 :

$as_echo "#define HAVE_STACKTRACE_OPS 1" >>confdefs.h


fi



	# 4.9

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'get_user_pages()' takes gup_flags in arguments" >&5
$as_echo_n "checking if 'get_user_pages()' takes gup_flags in arguments... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for get_user_pages_gup_flags was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for get_user_pages_gup_flags" >&5
$as_echo_n "checking for get_user_pages_gup_flags... " >&6; }
if ${lb_cv_test_get_user_pages_gup_flags+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_get_user_pages_gup_flags=yes
else
  lb_cv_test_get_user_pages_gup_flags=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_get_user_pages_gup_flags" >&5
$as_echo "$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 :

$as_echo "#define HAVE_GET_USER_PAGES_GUP_FLAGS 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'rhashtable_walk_enter' exists" >&5
$as_echo_n "checking if 'rhashtable_walk_enter' exists... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for rhashtable_walk_enter was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for rhashtable_walk_enter" >&5
$as_echo_n "checking for rhashtable_walk_enter... " >&6; }
if ${lb_cv_test_rhashtable_walk_enter+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_rhashtable_walk_enter=yes
else
  lb_cv_test_rhashtable_walk_enter=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_rhashtable_walk_enter" >&5
$as_echo "$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 :

$as_echo "#define HAVE_RHASHTABLE_WALK_ENTER 1" >>confdefs.h


fi



	# 4.10

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if libcfs supports CPU hotplug state machine" >&5
$as_echo_n "checking if libcfs supports CPU hotplug state machine... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for cpu_hotplug_state_machine was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for cpu_hotplug_state_machine" >&5
$as_echo_n "checking for cpu_hotplug_state_machine... " >&6; }
if ${lb_cv_test_cpu_hotplug_state_machine+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_cpu_hotplug_state_machine=yes
else
  lb_cv_test_cpu_hotplug_state_machine=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_cpu_hotplug_state_machine" >&5
$as_echo "$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 :

$as_echo "#define HAVE_HOTPLUG_STATE_MACHINE 1" >>confdefs.h


fi



	# 4.11

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Netlink supports netlink_ext_ack" >&5
$as_echo_n "checking if Netlink supports netlink_ext_ack... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for netlink_ext_ack was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for netlink_ext_ack" >&5
$as_echo_n "checking for netlink_ext_ack... " >&6; }
if ${lb_cv_test_netlink_ext_ack+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_netlink_ext_ack=yes
else
  lb_cv_test_netlink_ext_ack=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_netlink_ext_ack" >&5
$as_echo "$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 :

$as_echo "#define HAVE_NL_PARSE_WITH_EXT_ACK 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'rhashtable_lookup_get_insert_fast' exist" >&5
$as_echo_n "checking if 'rhashtable_lookup_get_insert_fast' exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for rhashtable_lookup_get_insert_fast was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for rhashtable_lookup_get_insert_fast" >&5
$as_echo_n "checking for rhashtable_lookup_get_insert_fast... " >&6; }
if ${lb_cv_test_rhashtable_lookup_get_insert_fast+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_rhashtable_lookup_get_insert_fast=yes
else
  lb_cv_test_rhashtable_lookup_get_insert_fast=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_rhashtable_lookup_get_insert_fast" >&5
$as_echo "$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 :

$as_echo "#define HAVE_RHASHTABLE_LOOKUP_GET_INSERT_FAST 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'kref_read' exists" >&5
$as_echo_n "checking if 'kref_read' exists... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for kref_read was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for kref_read" >&5
$as_echo_n "checking for kref_read... " >&6; }
if ${lb_cv_test_kref_read+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_kref_read=yes
else
  lb_cv_test_kref_read=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_kref_read" >&5
$as_echo "$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 :

$as_echo "#define HAVE_KREF_READ 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'rht_bucket_var' exists" >&5
$as_echo_n "checking if 'rht_bucket_var' exists... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for rht_bucket_var was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for rht_bucket_var" >&5
$as_echo_n "checking for rht_bucket_var... " >&6; }
if ${lb_cv_test_rht_bucket_var+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_rht_bucket_var=yes
else
  lb_cv_test_rht_bucket_var=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_rht_bucket_var" >&5
$as_echo "$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 :

$as_echo "#define HAVE_RHT_BUCKET_VAR 1" >>confdefs.h


fi



	# 4.12

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'cpus_read_unlock' exist" >&5
$as_echo_n "checking if 'cpus_read_unlock' exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for cpu_read_lock was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for cpu_read_lock" >&5
$as_echo_n "checking for cpu_read_lock... " >&6; }
if ${lb_cv_test_cpu_read_lock+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_cpu_read_lock=yes
else
  lb_cv_test_cpu_read_lock=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_cpu_read_lock" >&5
$as_echo "$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 :

$as_echo "#define HAVE_CPUS_READ_LOCK 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'uuid_t' exist" >&5
$as_echo_n "checking if 'uuid_t' exist... " >&6; }

	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/uuid_t_pc
	O=${T}/uuid_t_pc
	if test -d ${T}; then :

		# test source exists, was the compile test run?
		if test -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"uuid_t\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for uuid_t was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uuid_t" >&5
$as_echo_n "checking for uuid_t... " >&6; }
if ${lb_cv_test_uuid_t+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_uuid_t=yes
else
  lb_cv_test_uuid_t=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_uuid_t" >&5
$as_echo "$lb_cv_test_uuid_t" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_uuid_t" = xyes; then :

$as_echo "#define HAVE_UUID_T 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if linux wait_queue_head list_head is named head" >&5
$as_echo_n "checking if linux wait_queue_head list_head is named head... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for wait_queue_task_list was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for wait_queue_task_list" >&5
$as_echo_n "checking for wait_queue_task_list... " >&6; }
if ${lb_cv_test_wait_queue_task_list+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_wait_queue_task_list=yes
else
  lb_cv_test_wait_queue_task_list=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_wait_queue_task_list" >&5
$as_echo "$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 :

$as_echo "#define HAVE_WAIT_QUEUE_ENTRY_LIST 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if struct wait_bit_queue_entry exists" >&5
$as_echo_n "checking if struct wait_bit_queue_entry exists... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for struct_wait_bit_queue_entry_exists was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct_wait_bit_queue_entry_exists" >&5
$as_echo_n "checking for struct_wait_bit_queue_entry_exists... " >&6; }
if ${lb_cv_test_struct_wait_bit_queue_entry_exists+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_struct_wait_bit_queue_entry_exists=yes
else
  lb_cv_test_struct_wait_bit_queue_entry_exists=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_struct_wait_bit_queue_entry_exists" >&5
$as_echo "$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 :

$as_echo "#define HAVE_WAIT_BIT_QUEUE_ENTRY 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if memalloc_noreclaim_{save,restore} exist" >&5
$as_echo_n "checking if memalloc_noreclaim_{save,restore} exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for memalloc_noreclaim was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for memalloc_noreclaim" >&5
$as_echo_n "checking for memalloc_noreclaim... " >&6; }
if ${lb_cv_test_memalloc_noreclaim+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_memalloc_noreclaim=yes
else
  lb_cv_test_memalloc_noreclaim=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_memalloc_noreclaim" >&5
$as_echo "$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 :

$as_echo "#define HAVE_MEMALLOC_RECLAIM 1" >>confdefs.h


fi



	# 4.13

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'nla_strdup()' exists" >&5
$as_echo_n "checking if 'nla_strdup()' exists... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for nla_strdup was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for nla_strdup" >&5
$as_echo_n "checking for nla_strdup... " >&6; }
if ${lb_cv_test_nla_strdup+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_nla_strdup=yes
else
  lb_cv_test_nla_strdup=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_nla_strdup" >&5
$as_echo "$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 :

$as_echo "#define HAVE_NLA_STRDUP 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'wait_queue_entry_t' exists" >&5
$as_echo_n "checking if 'wait_queue_entry_t' exists... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for wait_queue_entry was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for wait_queue_entry" >&5
$as_echo_n "checking for wait_queue_entry... " >&6; }
if ${lb_cv_test_wait_queue_entry+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_wait_queue_entry=yes
else
  lb_cv_test_wait_queue_entry=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_wait_queue_entry" >&5
$as_echo "$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 :

$as_echo "#define HAVE_WAIT_QUEUE_ENTRY 1" >>confdefs.h


fi



	# 4.14

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if DEFINE_TIMER takes only 2 arguments" >&5
$as_echo_n "checking if DEFINE_TIMER takes only 2 arguments... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for define_timer was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for define_timer" >&5
$as_echo_n "checking for define_timer... " >&6; }
if ${lb_cv_test_define_timer+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_define_timer=yes
else
  lb_cv_test_define_timer=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_define_timer" >&5
$as_echo "$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 :

$as_echo "#define HAVE_NEW_DEFINE_TIMER 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'kernel_write' matches other read/write helpers" >&5
$as_echo_n "checking if 'kernel_write' matches other read/write helpers... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for kernel_write_match was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for kernel_write_match" >&5
$as_echo_n "checking for kernel_write_match... " >&6; }
if ${lb_cv_test_kernel_write_match+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_kernel_write_match=yes
else
  lb_cv_test_kernel_write_match=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_kernel_write_match" >&5
$as_echo "$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 :

$as_echo "#define HAVE_NEW_KERNEL_WRITE 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'kernel_read()' has loff_t *pos as last parameter" >&5
$as_echo_n "checking if 'kernel_read()' has loff_t *pos as last parameter... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for kernel_read was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for kernel_read" >&5
$as_echo_n "checking for kernel_read... " >&6; }
if ${lb_cv_test_kernel_read+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_kernel_read=yes
else
  lb_cv_test_kernel_read=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_kernel_read" >&5
$as_echo "$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 :

$as_echo "#define HAVE_KERNEL_READ_LAST_POSP 1" >>confdefs.h


fi



	# 4.15

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'lockdep_is_held()' uses const argument" >&5
$as_echo_n "checking if 'lockdep_is_held()' uses const argument... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for lockdep_is_held was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for lockdep_is_held" >&5
$as_echo_n "checking for lockdep_is_held... " >&6; }
if ${lb_cv_test_lockdep_is_held+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_lockdep_is_held=yes
else
  lb_cv_test_lockdep_is_held=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_lockdep_is_held" >&5
$as_echo "$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_echo "#define NEED_LOCKDEP_IS_HELD_DISCARD_CONST 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if setup_timer has been replaced with timer_setup" >&5
$as_echo_n "checking if setup_timer has been replaced with timer_setup... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for timer_setup was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for timer_setup" >&5
$as_echo_n "checking for timer_setup... " >&6; }
if ${lb_cv_test_timer_setup+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_timer_setup=yes
else
  lb_cv_test_timer_setup=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_timer_setup" >&5
$as_echo "$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 :

$as_echo "#define HAVE_TIMER_SETUP 1" >>confdefs.h


fi



	# 4.16

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking does 'ns_to_timespec64()' exist" >&5
$as_echo_n "checking does 'ns_to_timespec64()' exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for kernel_old_timeval was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for kernel_old_timeval" >&5
$as_echo_n "checking for kernel_old_timeval... " >&6; }
if ${lb_cv_test_kernel_old_timeval+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_kernel_old_timeval=yes
else
  lb_cv_test_kernel_old_timeval=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_kernel_old_timeval" >&5
$as_echo "$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 :

$as_echo "#define HAVE_NS_TO_TIMESPEC64 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'wait_var_event' exist" >&5
$as_echo_n "checking if 'wait_var_event' exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for wait_var_event was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for wait_var_event" >&5
$as_echo_n "checking for wait_var_event... " >&6; }
if ${lb_cv_test_wait_var_event+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_wait_var_event=yes
else
  lb_cv_test_wait_var_event=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_wait_var_event" >&5
$as_echo "$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 :

$as_echo "#define HAVE_WAIT_VAR_EVENT 1" >>confdefs.h


fi



	# 4.17

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux bitmap memory management exist" >&5
$as_echo_n "checking if Linux bitmap memory management exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for bitmap_alloc was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for bitmap_alloc" >&5
$as_echo_n "checking for bitmap_alloc... " >&6; }
if ${lb_cv_test_bitmap_alloc+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_bitmap_alloc=yes
else
  lb_cv_test_bitmap_alloc=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_bitmap_alloc" >&5
$as_echo "$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 :

$as_echo "#define HAVE_BITMAP_ALLOC 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'clear_and_wake_up_bit' exist" >&5
$as_echo_n "checking if 'clear_and_wake_up_bit' exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for clear_and_wake_up_bit was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for clear_and_wake_up_bit" >&5
$as_echo_n "checking for clear_and_wake_up_bit... " >&6; }
if ${lb_cv_test_clear_and_wake_up_bit+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_clear_and_wake_up_bit=yes
else
  lb_cv_test_clear_and_wake_up_bit=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_clear_and_wake_up_bit" >&5
$as_echo "$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 :

$as_echo "#define HAVE_CLEAR_AND_WAKE_UP_BIT 1" >>confdefs.h


fi



	# 4.18

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'tcp_sock_set_nodelay()' exists" >&5
$as_echo_n "checking if 'tcp_sock_set_nodelay()' exists... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for tcp_sock_set_nodelay_exists was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for tcp_sock_set_nodelay_exists" >&5
$as_echo_n "checking for tcp_sock_set_nodelay_exists... " >&6; }
if ${lb_cv_test_tcp_sock_set_nodelay_exists+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_tcp_sock_set_nodelay_exists=yes
else
  lb_cv_test_tcp_sock_set_nodelay_exists=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_tcp_sock_set_nodelay_exists" >&5
$as_echo "$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 :

$as_echo "#define HAVE_TCP_SOCK_SET_NODELAY 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'tcp_sock_set_keepidle()' exists" >&5
$as_echo_n "checking if 'tcp_sock_set_keepidle()' exists... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for tcp_sock_set_keepidle_exists was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for tcp_sock_set_keepidle_exists" >&5
$as_echo_n "checking for tcp_sock_set_keepidle_exists... " >&6; }
if ${lb_cv_test_tcp_sock_set_keepidle_exists+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_tcp_sock_set_keepidle_exists=yes
else
  lb_cv_test_tcp_sock_set_keepidle_exists=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_tcp_sock_set_keepidle_exists" >&5
$as_echo "$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 :

$as_echo "#define HAVE_TCP_SOCK_SET_KEEPIDLE 1" >>confdefs.h


fi



	# 4.19

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if page cache uses Xarray" >&5
$as_echo_n "checking if page cache uses Xarray... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for xarray_support was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for xarray_support" >&5
$as_echo_n "checking for xarray_support... " >&6; }
if ${lb_cv_test_xarray_support+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_xarray_support=yes
else
  lb_cv_test_xarray_support=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_xarray_support" >&5
$as_echo "$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 :

$as_echo "#define HAVE_XARRAY_SUPPORT 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Netlink dump handlers support ext_ack" >&5
$as_echo_n "checking if Netlink dump handlers support ext_ack... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for netlink_dump_ext_ack was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for netlink_dump_ext_ack" >&5
$as_echo_n "checking for netlink_dump_ext_ack... " >&6; }
if ${lb_cv_test_netlink_dump_ext_ack+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_netlink_dump_ext_ack=yes
else
  lb_cv_test_netlink_dump_ext_ack=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_netlink_dump_ext_ack" >&5
$as_echo "$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 :

$as_echo "#define HAVE_NL_DUMP_WITH_EXT_ACK 1" >>confdefs.h


fi



	# 4.20

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if iov_iter_type exists" >&5
$as_echo_n "checking if iov_iter_type exists... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for macro_iov_iter_type_exists was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for macro_iov_iter_type_exists" >&5
$as_echo_n "checking for macro_iov_iter_type_exists... " >&6; }
if ${lb_cv_test_macro_iov_iter_type_exists+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_macro_iov_iter_type_exists=yes
else
  lb_cv_test_macro_iov_iter_type_exists=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_macro_iov_iter_type_exists" >&5
$as_echo "$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 :

$as_echo "#define HAVE_IOV_ITER_TYPE 1" >>confdefs.h


fi



	# 5.0

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if totalram_pages is a function" >&5
$as_echo_n "checking if totalram_pages is a function... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for totalram_pages was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for totalram_pages" >&5
$as_echo_n "checking for totalram_pages... " >&6; }
if ${lb_cv_test_totalram_pages+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_totalram_pages=yes
else
  lb_cv_test_totalram_pages=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_totalram_pages" >&5
$as_echo "$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 :

$as_echo "#define HAVE_TOTALRAM_PAGES_AS_FUNC 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if get_request_key_auth() is available" >&5
$as_echo_n "checking if get_request_key_auth() is available... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for get_request_key_auth_exported was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for get_request_key_auth_exported" >&5
$as_echo_n "checking for get_request_key_auth_exported... " >&6; }
if ${lb_cv_test_get_request_key_auth_exported+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_get_request_key_auth_exported=yes
else
  lb_cv_test_get_request_key_auth_exported=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_get_request_key_auth_exported" >&5
$as_echo "$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 :

$as_echo "#define HAVE_GET_REQUEST_KEY_AUTH 1" >>confdefs.h


fi



	# 5.2

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking does struct kobj_type have 'default_groups' member" >&5
$as_echo_n "checking does struct kobj_type have 'default_groups' member... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for kobj_type_default_groups was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for kobj_type_default_groups" >&5
$as_echo_n "checking for kobj_type_default_groups... " >&6; }
if ${lb_cv_test_kobj_type_default_groups+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_kobj_type_default_groups=yes
else
  lb_cv_test_kobj_type_default_groups=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_kobj_type_default_groups" >&5
$as_echo "$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 :

$as_echo "#define HAVE_KOBJ_TYPE_DEFAULT_GROUPS 1" >>confdefs.h


fi



	# 5.3

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if lookup_user_key() is available" >&5
$as_echo_n "checking if lookup_user_key() is available... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for lookup_user_key_exported was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for lookup_user_key_exported" >&5
$as_echo_n "checking for lookup_user_key_exported... " >&6; }
if ${lb_cv_test_lookup_user_key_exported+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_lookup_user_key_exported=yes
else
  lb_cv_test_lookup_user_key_exported=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_lookup_user_key_exported" >&5
$as_echo "$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 :

$as_echo "#define HAVE_LOOKUP_USER_KEY 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if force_sig has task parameter" >&5
$as_echo_n "checking if force_sig has task parameter... " >&6; }

	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/force_sig_with_task_pc
	O=${T}/force_sig_with_task_pc
	if test -d ${T}; then :

		# test source exists, was the compile test run?
		if test -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"force_sig_with_task\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for force_sig_with_task was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for force_sig_with_task" >&5
$as_echo_n "checking for force_sig_with_task... " >&6; }
if ${lb_cv_test_force_sig_with_task+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_force_sig_with_task=yes
else
  lb_cv_test_force_sig_with_task=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_force_sig_with_task" >&5
$as_echo "$lb_cv_test_force_sig_with_task" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_force_sig_with_task" = xyes; then :

$as_echo "#define HAVE_FORCE_SIG_WITH_TASK 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if struct cache_detail has writers" >&5
$as_echo_n "checking if struct cache_detail has writers... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for cache_detail_writers_atomic was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for cache_detail_writers_atomic" >&5
$as_echo_n "checking for cache_detail_writers_atomic... " >&6; }
if ${lb_cv_test_cache_detail_writers_atomic+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_cache_detail_writers_atomic=yes
else
  lb_cv_test_cache_detail_writers_atomic=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_cache_detail_writers_atomic" >&5
$as_echo "$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 :

$as_echo "#define HAVE_CACHE_DETAIL_WRITERS 1" >>confdefs.h


fi



	# 5.4

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if struct genl_dumpit_info has family field" >&5
$as_echo_n "checking if struct genl_dumpit_info has family field... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for genl_dumpit_info was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for genl_dumpit_info" >&5
$as_echo_n "checking for genl_dumpit_info... " >&6; }
if ${lb_cv_test_genl_dumpit_info+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_genl_dumpit_info=yes
else
  lb_cv_test_genl_dumpit_info=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_genl_dumpit_info" >&5
$as_echo "$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 :

$as_echo "#define HAVE_GENL_DUMPIT_INFO 1" >>confdefs.h


fi



	# 5.6

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if struct proc_ops exists" >&5
$as_echo_n "checking if struct proc_ops exists... " >&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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for proc_ops was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for proc_ops" >&5
$as_echo_n "checking for proc_ops... " >&6; }
if ${lb_cv_test_proc_ops+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_proc_ops=yes
else
  lb_cv_test_proc_ops=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_proc_ops" >&5
$as_echo "$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 :

$as_echo "#define HAVE_PROC_OPS 1" >>confdefs.h


fi



	# 5.7

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'tcp_sock_set_quickack()' exists" >&5
$as_echo_n "checking if 'tcp_sock_set_quickack()' exists... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for tcp_sock_set_quickack_exists was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for tcp_sock_set_quickack_exists" >&5
$as_echo_n "checking for tcp_sock_set_quickack_exists... " >&6; }
if ${lb_cv_test_tcp_sock_set_quickack_exists+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_tcp_sock_set_quickack_exists=yes
else
  lb_cv_test_tcp_sock_set_quickack_exists=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_tcp_sock_set_quickack_exists" >&5
$as_echo "$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 :

$as_echo "#define HAVE_TCP_SOCK_SET_QUICKACK 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'tcp_sock_set_keepintvl()' exists" >&5
$as_echo_n "checking if 'tcp_sock_set_keepintvl()' exists... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for tcp_sock_set_keepintvl_exists was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for tcp_sock_set_keepintvl_exists" >&5
$as_echo_n "checking for tcp_sock_set_keepintvl_exists... " >&6; }
if ${lb_cv_test_tcp_sock_set_keepintvl_exists+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_tcp_sock_set_keepintvl_exists=yes
else
  lb_cv_test_tcp_sock_set_keepintvl_exists=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_tcp_sock_set_keepintvl_exists" >&5
$as_echo "$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 :

$as_echo "#define HAVE_TCP_SOCK_SET_KEEPINTVL 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'tcp_sock_set_keepcnt()' exists" >&5
$as_echo_n "checking if 'tcp_sock_set_keepcnt()' exists... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for tcp_sock_set_keepcnt_exists was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for tcp_sock_set_keepcnt_exists" >&5
$as_echo_n "checking for tcp_sock_set_keepcnt_exists... " >&6; }
if ${lb_cv_test_tcp_sock_set_keepcnt_exists+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_tcp_sock_set_keepcnt_exists=yes
else
  lb_cv_test_tcp_sock_set_keepcnt_exists=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_tcp_sock_set_keepcnt_exists" >&5
$as_echo "$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 :

$as_echo "#define HAVE_TCP_SOCK_SET_KEEPCNT 1" >>confdefs.h


fi



	# 5.8

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if NR_UNSTABLE_NFS still in use" >&5
$as_echo_n "checking if NR_UNSTABLE_NFS still in use... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for nr_unstable_nfs_exists was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for nr_unstable_nfs_exists" >&5
$as_echo_n "checking for nr_unstable_nfs_exists... " >&6; }
if ${lb_cv_test_nr_unstable_nfs_exists+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_nr_unstable_nfs_exists=yes
else
  lb_cv_test_nr_unstable_nfs_exists=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_nr_unstable_nfs_exists" >&5
$as_echo "$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 :

$as_echo "#define HAVE_NR_UNSTABLE_NFS 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if mmap_lock API is available" >&5
$as_echo_n "checking if mmap_lock API is available... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for mmap_write_lock was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for mmap_write_lock" >&5
$as_echo_n "checking for mmap_write_lock... " >&6; }
if ${lb_cv_test_mmap_write_lock+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_mmap_write_lock=yes
else
  lb_cv_test_mmap_write_lock=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_mmap_write_lock" >&5
$as_echo "$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 :

$as_echo "#define HAVE_MMAP_LOCK 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if kernel_setsockopt still in use" >&5
$as_echo_n "checking if kernel_setsockopt still in use... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for kernel_setsockopt_exists was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for kernel_setsockopt_exists" >&5
$as_echo_n "checking for kernel_setsockopt_exists... " >&6; }
if ${lb_cv_test_kernel_setsockopt_exists+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_kernel_setsockopt_exists=yes
else
  lb_cv_test_kernel_setsockopt_exists=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_kernel_setsockopt_exists" >&5
$as_echo "$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 :

$as_echo "#define HAVE_KERNEL_SETSOCKOPT 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if __vmalloc has 2 args" >&5
$as_echo_n "checking if __vmalloc has 2 args... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for vmalloc_2args was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for vmalloc_2args" >&5
$as_echo_n "checking for vmalloc_2args... " >&6; }
if ${lb_cv_test_vmalloc_2args+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_vmalloc_2args=yes
else
  lb_cv_test_vmalloc_2args=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_vmalloc_2args" >&5
$as_echo "$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 :

$as_echo "#define HAVE_VMALLOC_2ARGS 1" >>confdefs.h


fi



	# 5.10

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if security_release_secctx has 1 arg" >&5
$as_echo_n "checking if security_release_secctx has 1 arg... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for security_release_secctx_1arg was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for security_release_secctx_1arg" >&5
$as_echo_n "checking for security_release_secctx_1arg... " >&6; }
if ${lb_cv_test_security_release_secctx_1arg+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_security_release_secctx_1arg=yes
else
  lb_cv_test_security_release_secctx_1arg=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_security_release_secctx_1arg" >&5
$as_echo "$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 :

$as_echo "#define HAVE_SEC_RELEASE_SECCTX_1ARG 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if lsmcontext_init is available" >&5
$as_echo_n "checking if lsmcontext_init is available... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for lsmcontext_init was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for lsmcontext_init" >&5
$as_echo_n "checking for lsmcontext_init... " >&6; }
if ${lb_cv_test_lsmcontext_init+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_lsmcontext_init=yes
else
  lb_cv_test_lsmcontext_init=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_lsmcontext_init" >&5
$as_echo "$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 :

$as_echo "#define HAVE_LSMCONTEXT_INIT 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if security_dentry_init_security needs lsmcontext" >&5
$as_echo_n "checking if security_dentry_init_security needs lsmcontext... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for security_dentry_init_security_with_ctx was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for security_dentry_init_security_with_ctx" >&5
$as_echo_n "checking for security_dentry_init_security_with_ctx... " >&6; }
if ${lb_cv_test_security_dentry_init_security_with_ctx+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_security_dentry_init_security_with_ctx=yes
else
  lb_cv_test_security_dentry_init_security_with_ctx=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_security_dentry_init_security_with_ctx" >&5
$as_echo "$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 :

$as_echo "#define HAVE_SECURITY_DENTRY_INIT_SECURTY_WITH_CTX 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if kfree_sensitive() is available" >&5
$as_echo_n "checking if kfree_sensitive() is available... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for kfree_sensitive_exists was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for kfree_sensitive_exists" >&5
$as_echo_n "checking for kfree_sensitive_exists... " >&6; }
if ${lb_cv_test_kfree_sensitive_exists+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_kfree_sensitive_exists=yes
else
  lb_cv_test_kfree_sensitive_exists=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_kfree_sensitive_exists" >&5
$as_echo "$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 :

$as_echo "#define HAVE_KFREE_SENSITIVE 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if list_cmp_func_t type is defined" >&5
$as_echo_n "checking if list_cmp_func_t type is defined... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for list_cmp_func_t_exists was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for list_cmp_func_t_exists" >&5
$as_echo_n "checking for list_cmp_func_t_exists... " >&6; }
if ${lb_cv_test_list_cmp_func_t_exists+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_list_cmp_func_t_exists=yes
else
  lb_cv_test_list_cmp_func_t_exists=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_list_cmp_func_t_exists" >&5
$as_echo "$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 :

$as_echo "#define HAVE_LIST_CMP_FUNC_T 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'nla_strlcpy()' still exists" >&5
$as_echo_n "checking if 'nla_strlcpy()' still exists... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for nla_strlcpy was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for nla_strlcpy" >&5
$as_echo_n "checking for nla_strlcpy... " >&6; }
if ${lb_cv_test_nla_strlcpy+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_nla_strlcpy=yes
else
  lb_cv_test_nla_strlcpy=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_nla_strlcpy" >&5
$as_echo "$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 :

$as_echo "#define HAVE_NLA_STRLCPY 1" >>confdefs.h


fi



	# 5.12

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking Is linux/fortify-string.h header available" >&5
$as_echo_n "checking Is linux/fortify-string.h header available... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for linux_fortify_string_header was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for linux_fortify_string_header" >&5
$as_echo_n "checking for linux_fortify_string_header... " >&6; }
if ${lb_cv_test_linux_fortify_string_header+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_linux_fortify_string_header=yes
else
  lb_cv_test_linux_fortify_string_header=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_linux_fortify_string_header" >&5
$as_echo "$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 :

$as_echo "#define HAVE_LINUX_FORTIFY_STRING_HEADER 1" >>confdefs.h


fi



	# 5.13

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if task_is_running() is defined" >&5
$as_echo_n "checking if task_is_running() is defined... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for task_is_running was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for task_is_running" >&5
$as_echo_n "checking for task_is_running... " >&6; }
if ${lb_cv_test_task_is_running+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_task_is_running=yes
else
  lb_cv_test_task_is_running=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_task_is_running" >&5
$as_echo "$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 :

$as_echo "#define HAVE_TASK_IS_RUNNING 1" >>confdefs.h


fi



	# 5.15

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking does function 'param_set_uint_minmax' exist" >&5
$as_echo_n "checking does function 'param_set_uint_minmax' exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for param_set_uint_minmax was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for param_set_uint_minmax" >&5
$as_echo_n "checking for param_set_uint_minmax... " >&6; }
if ${lb_cv_test_param_set_uint_minmax+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_param_set_uint_minmax=yes
else
  lb_cv_test_param_set_uint_minmax=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_param_set_uint_minmax" >&5
$as_echo "$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 :

$as_echo "#define HAVE_PARAM_SET_UINT_MINMAX 1" >>confdefs.h


fi



	# 5.17

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking does function 'pde_data' exist" >&5
$as_echo_n "checking does function 'pde_data' exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for pde_data was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for pde_data" >&5
$as_echo_n "checking for pde_data... " >&6; }
if ${lb_cv_test_pde_data+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_pde_data=yes
else
  lb_cv_test_pde_data=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_pde_data" >&5
$as_echo "$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 :

$as_echo "#define HAVE_pde_data 1" >>confdefs.h


else

$as_echo "#define pde_data(inode) PDE_DATA(inode)" >>confdefs.h


fi



	# 6.2

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking is timer_delete_sync() available" >&5
$as_echo_n "checking is timer_delete_sync() available... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for timer_delete_sync was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for timer_delete_sync" >&5
$as_echo_n "checking for timer_delete_sync... " >&6; }
if ${lb_cv_test_timer_delete_sync+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_timer_delete_sync=yes
else
  lb_cv_test_timer_delete_sync=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_timer_delete_sync" >&5
$as_echo "$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 :

$as_echo "#define HAVE_TIMER_DELETE_SYNC 1" >>confdefs.h


else

$as_echo "#define timer_delete_sync(t) del_timer_sync(t)" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking is timer_delete() available" >&5
$as_echo_n "checking is timer_delete() available... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for timer_delete was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for timer_delete" >&5
$as_echo_n "checking for timer_delete... " >&6; }
if ${lb_cv_test_timer_delete+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_timer_delete=yes
else
  lb_cv_test_timer_delete=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_timer_delete" >&5
$as_echo "$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 :

$as_echo "#define HAVE_TIMER_DELETE 1" >>confdefs.h


else

$as_echo "#define timer_delete(t) del_timer(t)" >>confdefs.h


fi





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


{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'ext4_free_blocks' needs 'struct buffer_head'" >&5
$as_echo_n "checking if 'ext4_free_blocks' needs 'struct buffer_head'... " >&6; }

	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/ext4_free_blocks_with_buffer_head_pc
	O=${T}/ext4_free_blocks_with_buffer_head_pc
	if test -d ${T}; then :

		# test source exists, was the compile test run?
		if test -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"ext4_free_blocks_with_buffer_head\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for ext4_free_blocks_with_buffer_head was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ext4_free_blocks_with_buffer_head" >&5
$as_echo_n "checking for ext4_free_blocks_with_buffer_head... " >&6; }
if ${lb_cv_test_ext4_free_blocks_with_buffer_head+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_ext4_free_blocks_with_buffer_head=yes
else
  lb_cv_test_ext4_free_blocks_with_buffer_head=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_ext4_free_blocks_with_buffer_head" >&5
$as_echo "$lb_cv_test_ext4_free_blocks_with_buffer_head" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_ext4_free_blocks_with_buffer_head" = xyes; then :

$as_echo "#define HAVE_EXT_FREE_BLOCK_WITH_BUFFER_HEAD 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if ext4_journal_start takes 3 arguments" >&5
$as_echo_n "checking if ext4_journal_start takes 3 arguments... " >&6; }

	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/ext4_journal_start_pc
	O=${T}/ext4_journal_start_pc
	if test -d ${T}; then :

		# test source exists, was the compile test run?
		if test -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"ext4_journal_start\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for ext4_journal_start was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ext4_journal_start" >&5
$as_echo_n "checking for ext4_journal_start... " >&6; }
if ${lb_cv_test_ext4_journal_start+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_ext4_journal_start=yes
else
  lb_cv_test_ext4_journal_start=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_ext4_journal_start" >&5
$as_echo "$lb_cv_test_ext4_journal_start" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_ext4_journal_start" = xyes; then :

$as_echo "#define JOURNAL_START_HAS_3ARGS 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if ext4_bread takes 4 arguments" >&5
$as_echo_n "checking if ext4_bread takes 4 arguments... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for ext4_bread was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ext4_bread" >&5
$as_echo_n "checking for ext4_bread... " >&6; }
if ${lb_cv_test_ext4_bread+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_ext4_bread=yes
else
  lb_cv_test_ext4_bread=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_ext4_bread" >&5
$as_echo "$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 :

$as_echo "#define HAVE_EXT4_BREAD_4ARGS 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if i_dquot is in ext4_inode_info" >&5
$as_echo_n "checking if i_dquot is in ext4_inode_info... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for ext4_info_dquot was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ext4_info_dquot" >&5
$as_echo_n "checking for ext4_info_dquot... " >&6; }
if ${lb_cv_test_ext4_info_dquot+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_ext4_info_dquot=yes
else
  lb_cv_test_ext4_info_dquot=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_ext4_info_dquot" >&5
$as_echo "$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 :

$as_echo "#define HAVE_EXT4_INFO_DQUOT 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if i_crypt_info is in ext4_inode_info" >&5
$as_echo_n "checking if i_crypt_info is in ext4_inode_info... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for ext4_i_crypt_info was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ext4_i_crypt_info" >&5
$as_echo_n "checking for ext4_i_crypt_info... " >&6; }
if ${lb_cv_test_ext4_i_crypt_info+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_ext4_i_crypt_info=yes
else
  lb_cv_test_ext4_i_crypt_info=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_ext4_i_crypt_info" >&5
$as_echo "$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 :

$as_echo "#define CONFIG_LDISKFS_FS_ENCRYPTION 1" >>confdefs.h

		test_have_i_crypt_info=yes

else
  test_have_i_crypt_info=no

fi


	if test x$test_have_i_crypt_info = xno; then :


	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux kernel was built with CONFIG_EXT4_FS_ENCRYPTION" >&5
$as_echo_n "checking if Linux kernel was built with CONFIG_EXT4_FS_ENCRYPTION... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for config_EXT4_FS_ENCRYPTION was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for config_EXT4_FS_ENCRYPTION" >&5
$as_echo_n "checking for config_EXT4_FS_ENCRYPTION... " >&6; }
if ${lb_cv_test_config_EXT4_FS_ENCRYPTION+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_config_EXT4_FS_ENCRYPTION=yes
else
  lb_cv_test_config_EXT4_FS_ENCRYPTION=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_config_EXT4_FS_ENCRYPTION" >&5
$as_echo "$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 :

$as_echo "#define CONFIG_LDISKFS_FS_ENCRYPTION 1" >>confdefs.h



fi




fi


	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'ext4_journal_ensure_credits' exists" >&5
$as_echo_n "checking if 'ext4_journal_ensure_credits' exists... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for ext4_journal_ensure_credits was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ext4_journal_ensure_credits" >&5
$as_echo_n "checking for ext4_journal_ensure_credits... " >&6; }
if ${lb_cv_test_ext4_journal_ensure_credits+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_ext4_journal_ensure_credits=yes
else
  lb_cv_test_ext4_journal_ensure_credits=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_ext4_journal_ensure_credits" >&5
$as_echo "$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 :

$as_echo "#define HAVE_LDISKFS_JOURNAL_ENSURE_CREDITS 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if ldiskfs_iget takes a flags argument" >&5
$as_echo_n "checking if ldiskfs_iget takes a flags argument... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for ext4_iget_3args was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ext4_iget_3args" >&5
$as_echo_n "checking for ext4_iget_3args... " >&6; }
if ${lb_cv_test_ext4_iget_3args+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_ext4_iget_3args=yes
else
  lb_cv_test_ext4_iget_3args=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_ext4_iget_3args" >&5
$as_echo "$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 :

$as_echo "#define HAVE_LDISKFS_IGET_WITH_FLAGS 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if __ldiskfs_find_entry is available" >&5
$as_echo_n "checking if __ldiskfs_find_entry is available... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for ldiskfs_find_entry_locked was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ldiskfs_find_entry_locked" >&5
$as_echo_n "checking for ldiskfs_find_entry_locked... " >&6; }
if ${lb_cv_test_ldiskfs_find_entry_locked+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_ldiskfs_find_entry_locked=yes
else
  lb_cv_test_ldiskfs_find_entry_locked=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_ldiskfs_find_entry_locked" >&5
$as_echo "$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 :

$as_echo "#define HAVE___LDISKFS_FIND_ENTRY 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if ldiskfsfs_dirhash takes an inode argument" >&5
$as_echo_n "checking if ldiskfsfs_dirhash takes an inode argument... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for ext4fs_dirhash was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ext4fs_dirhash" >&5
$as_echo_n "checking for ext4fs_dirhash... " >&6; }
if ${lb_cv_test_ext4fs_dirhash+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_ext4fs_dirhash=yes
else
  lb_cv_test_ext4fs_dirhash=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_ext4fs_dirhash" >&5
$as_echo "$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 :

$as_echo "#define HAVE_LDISKFSFS_DIRHASH_WITH_DIR 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if struct jbd2_journal_handle has h_total_credits member" >&5
$as_echo_n "checking if struct jbd2_journal_handle has h_total_credits member... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for handle_t_h_revoke_credits was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for handle_t_h_revoke_credits" >&5
$as_echo_n "checking for handle_t_h_revoke_credits... " >&6; }
if ${lb_cv_test_handle_t_h_revoke_credits+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_handle_t_h_revoke_credits=yes
else
  lb_cv_test_handle_t_h_revoke_credits=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_handle_t_h_revoke_credits" >&5
$as_echo "$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 :

$as_echo "#define HAVE_JOURNAL_TOTAL_CREDITS 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if jbd2_journal_get_max_txn_bufs is available" >&5
$as_echo_n "checking if jbd2_journal_get_max_txn_bufs is available... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for jbd2_journal_get_max_txn_bufs was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for jbd2_journal_get_max_txn_bufs" >&5
$as_echo_n "checking for jbd2_journal_get_max_txn_bufs... " >&6; }
if ${lb_cv_test_jbd2_journal_get_max_txn_bufs+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_jbd2_journal_get_max_txn_bufs=yes
else
  lb_cv_test_jbd2_journal_get_max_txn_bufs=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_jbd2_journal_get_max_txn_bufs" >&5
$as_echo "$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 :

$as_echo "#define HAVE_JBD2_JOURNAL_GET_MAX_TXN_BUFS 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux kernel enabled CONFIG_FS_ENCRYPTION as built-in or module" >&5
$as_echo_n "checking if Linux kernel enabled CONFIG_FS_ENCRYPTION as built-in or module... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for config_im_FS_ENCRYPTION was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for config_im_FS_ENCRYPTION" >&5
$as_echo_n "checking for config_im_FS_ENCRYPTION... " >&6; }
if ${lb_cv_test_config_im_FS_ENCRYPTION+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_config_im_FS_ENCRYPTION=yes
else
  lb_cv_test_config_im_FS_ENCRYPTION=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_config_im_FS_ENCRYPTION" >&5
$as_echo "$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
  EXT4_CRYPTO='%/crypto.c'

fi




fi

	if test "x$enable_gss" != xno; then :


	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'key_type->instantiate' has two args" >&5
$as_echo_n "checking if 'key_type->instantiate' has two args... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for key_type_instantiate_2args was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for key_type_instantiate_2args" >&5
$as_echo_n "checking for key_type_instantiate_2args... " >&6; }
if ${lb_cv_test_key_type_instantiate_2args+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_key_type_instantiate_2args=yes
else
  lb_cv_test_key_type_instantiate_2args=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_key_type_instantiate_2args" >&5
$as_echo "$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 :

$as_echo "#define HAVE_KEY_TYPE_INSTANTIATE_2ARGS 1" >>confdefs.h


fi





	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux kernel enabled CONFIG_CRYPTO_MD5 as built-in or module" >&5
$as_echo_n "checking if Linux kernel enabled CONFIG_CRYPTO_MD5 as built-in or module... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for config_im_CRYPTO_MD5 was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for config_im_CRYPTO_MD5" >&5
$as_echo_n "checking for config_im_CRYPTO_MD5... " >&6; }
if ${lb_cv_test_config_im_CRYPTO_MD5+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_config_im_CRYPTO_MD5=yes
else
  lb_cv_test_config_im_CRYPTO_MD5=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_config_im_CRYPTO_MD5" >&5
$as_echo "$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_echo "$as_me:${as_lineno-$LINENO}: WARNING: kernel MD5 support is recommended by using GSS." >&5
$as_echo "$as_me: WARNING: kernel MD5 support is recommended by using GSS." >&2;}

fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux kernel enabled CONFIG_CRYPTO_SHA1 as built-in or module" >&5
$as_echo_n "checking if Linux kernel enabled CONFIG_CRYPTO_SHA1 as built-in or module... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for config_im_CRYPTO_SHA1 was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for config_im_CRYPTO_SHA1" >&5
$as_echo_n "checking for config_im_CRYPTO_SHA1... " >&6; }
if ${lb_cv_test_config_im_CRYPTO_SHA1+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_config_im_CRYPTO_SHA1=yes
else
  lb_cv_test_config_im_CRYPTO_SHA1=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_config_im_CRYPTO_SHA1" >&5
$as_echo "$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_echo "$as_me:${as_lineno-$LINENO}: WARNING: kernel SHA1 support is recommended by using GSS." >&5
$as_echo "$as_me: WARNING: kernel SHA1 support is recommended by using GSS." >&2;}

fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux kernel enabled CONFIG_CRYPTO_SHA256 as built-in or module" >&5
$as_echo_n "checking if Linux kernel enabled CONFIG_CRYPTO_SHA256 as built-in or module... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for config_im_CRYPTO_SHA256 was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for config_im_CRYPTO_SHA256" >&5
$as_echo_n "checking for config_im_CRYPTO_SHA256... " >&6; }
if ${lb_cv_test_config_im_CRYPTO_SHA256+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_config_im_CRYPTO_SHA256=yes
else
  lb_cv_test_config_im_CRYPTO_SHA256=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_config_im_CRYPTO_SHA256" >&5
$as_echo "$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_echo "$as_me:${as_lineno-$LINENO}: WARNING: kernel SHA256 support is recommended by using GSS." >&5
$as_echo "$as_me: WARNING: kernel SHA256 support is recommended by using GSS." >&2;}

fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux kernel enabled CONFIG_CRYPTO_SHA512 as built-in or module" >&5
$as_echo_n "checking if Linux kernel enabled CONFIG_CRYPTO_SHA512 as built-in or module... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for config_im_CRYPTO_SHA512 was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for config_im_CRYPTO_SHA512" >&5
$as_echo_n "checking for config_im_CRYPTO_SHA512... " >&6; }
if ${lb_cv_test_config_im_CRYPTO_SHA512+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_config_im_CRYPTO_SHA512=yes
else
  lb_cv_test_config_im_CRYPTO_SHA512=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_config_im_CRYPTO_SHA512" >&5
$as_echo "$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_echo "$as_me:${as_lineno-$LINENO}: WARNING: kernel SHA512 support is recommended by using GSS." >&5
$as_echo "$as_me: WARNING: kernel SHA512 support is recommended by using GSS." >&2;}

fi




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



	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux kernel enabled CONFIG_QUOTA as built-in or module" >&5
$as_echo_n "checking if Linux kernel enabled CONFIG_QUOTA as built-in or module... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for config_im_QUOTA was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for config_im_QUOTA" >&5
$as_echo_n "checking for config_im_QUOTA... " >&6; }
if ${lb_cv_test_config_im_QUOTA+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_config_im_QUOTA=yes
else
  lb_cv_test_config_im_QUOTA=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_config_im_QUOTA" >&5
$as_echo "$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_fn_error $? "Lustre quota requires that CONFIG_QUOTA is enabled in your kernel." "$LINENO" 5

fi





	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if stack size is at least 8k" >&5
$as_echo_n "checking if stack size is at least 8k... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for stack_size_8k was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stack_size_8k" >&5
$as_echo_n "checking for stack_size_8k... " >&6; }
if ${lb_cv_test_stack_size_8k+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_stack_size_8k=yes
else
  lb_cv_test_stack_size_8k=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_stack_size_8k" >&5
$as_echo "$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_fn_error $? "Lustre requires that Linux is configured with at least a 8KB stack." "$LINENO" 5

fi




fi


	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux kernel enabled CONFIG_FHANDLE as built-in or module" >&5
$as_echo_n "checking if Linux kernel enabled CONFIG_FHANDLE as built-in or module... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for config_im_FHANDLE was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for config_im_FHANDLE" >&5
$as_echo_n "checking for config_im_FHANDLE... " >&6; }
if ${lb_cv_test_config_im_FHANDLE+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_config_im_FHANDLE=yes
else
  lb_cv_test_config_im_FHANDLE=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_config_im_FHANDLE" >&5
$as_echo "$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_fn_error $? "Lustre fid handling requires that CONFIG_FHANDLE is enabled in your kernel." "$LINENO" 5

fi






	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux kernel enabled CONFIG_FS_POSIX_ACL as built-in or module" >&5
$as_echo_n "checking if Linux kernel enabled CONFIG_FS_POSIX_ACL as built-in or module... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for config_im_FS_POSIX_ACL was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for config_im_FS_POSIX_ACL" >&5
$as_echo_n "checking for config_im_FS_POSIX_ACL... " >&6; }
if ${lb_cv_test_config_im_FS_POSIX_ACL+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_config_im_FS_POSIX_ACL=yes
else
  lb_cv_test_config_im_FS_POSIX_ACL=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_config_im_FS_POSIX_ACL" >&5
$as_echo "$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 :

$as_echo "#define CONFIG_LUSTRE_FS_POSIX_ACL 1" >>confdefs.h


fi





	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if get_projid exists" >&5
$as_echo_n "checking if get_projid exists... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for get_projid was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for get_projid" >&5
$as_echo_n "checking for get_projid... " >&6; }
if ${lb_cv_test_get_projid+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_get_projid=yes
else
  lb_cv_test_get_projid=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_get_projid" >&5
$as_echo "$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 :

$as_echo "#define HAVE_PROJECT_QUOTA 1" >>confdefs.h


fi




	# 3.11

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'address_space_operations.invalidatepage' requires 3 arguments" >&5
$as_echo_n "checking if 'address_space_operations.invalidatepage' requires 3 arguments... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for address_space_ops_invalidatepage_3args was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for address_space_ops_invalidatepage_3args" >&5
$as_echo_n "checking for address_space_ops_invalidatepage_3args... " >&6; }
if ${lb_cv_test_address_space_ops_invalidatepage_3args+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_address_space_ops_invalidatepage_3args=yes
else
  lb_cv_test_address_space_ops_invalidatepage_3args=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_address_space_ops_invalidatepage_3args" >&5
$as_echo "$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 :

$as_echo "#define HAVE_INVALIDATE_RANGE 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'dir_context' exist" >&5
$as_echo_n "checking if 'dir_context' exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for dir_context was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dir_context" >&5
$as_echo_n "checking for dir_context... " >&6; }
if ${lb_cv_test_dir_context+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_dir_context=yes
else
  lb_cv_test_dir_context=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_dir_context" >&5
$as_echo "$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 :

$as_echo "#define HAVE_DIR_CONTEXT 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'd_compare' taken 5 arguments" >&5
$as_echo_n "checking if 'd_compare' taken 5 arguments... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for d_compare_5args was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for d_compare_5args" >&5
$as_echo_n "checking for d_compare_5args... " >&6; }
if ${lb_cv_test_d_compare_5args+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_d_compare_5args=yes
else
  lb_cv_test_d_compare_5args=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_d_compare_5args" >&5
$as_echo "$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 :

$as_echo "#define HAVE_D_COMPARE_5ARGS 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'd_count' exists" >&5
$as_echo_n "checking if 'd_count' exists... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for d_count was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for d_count" >&5
$as_echo_n "checking for d_count... " >&6; }
if ${lb_cv_test_d_count+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_d_count=yes
else
  lb_cv_test_d_count=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_d_count" >&5
$as_echo "$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 :

$as_echo "#define HAVE_D_COUNT 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if list 'dentry.d_u.d_alias' exist" >&5
$as_echo_n "checking if list 'dentry.d_u.d_alias' exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for d_alias_list was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for d_alias_list" >&5
$as_echo_n "checking for d_alias_list... " >&6; }
if ${lb_cv_test_d_alias_list+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_d_alias_list=yes
else
  lb_cv_test_d_alias_list=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_d_alias_list" >&5
$as_echo "$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 :

$as_echo "#define HAVE_DENTRY_D_U_D_ALIAS 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if hlist 'dentry.d_u.d_alias' exist" >&5
$as_echo_n "checking if hlist 'dentry.d_u.d_alias' exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for d_alias_hlist was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for d_alias_hlist" >&5
$as_echo_n "checking for d_alias_hlist... " >&6; }
if ${lb_cv_test_d_alias_hlist+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_d_alias_hlist=yes
else
  lb_cv_test_d_alias_hlist=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_d_alias_hlist" >&5
$as_echo "$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 :

$as_echo "#define HAVE_DENTRY_D_U_D_ALIAS 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'dentry.d_child' exist" >&5
$as_echo_n "checking if 'dentry.d_child' exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for d_child was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for d_child" >&5
$as_echo_n "checking for d_child... " >&6; }
if ${lb_cv_test_d_child+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_d_child=yes
else
  lb_cv_test_d_child=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_d_child" >&5
$as_echo "$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 :

$as_echo "#define HAVE_DENTRY_D_CHILD 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'struct nsproxy' has 'pid_ns_for_children'" >&5
$as_echo_n "checking if 'struct nsproxy' has 'pid_ns_for_children'... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for pid_ns_for_children was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for pid_ns_for_children" >&5
$as_echo_n "checking for pid_ns_for_children... " >&6; }
if ${lb_cv_test_pid_ns_for_children+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_pid_ns_for_children=yes
else
  lb_cv_test_pid_ns_for_children=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_pid_ns_for_children" >&5
$as_echo "$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 :

$as_echo "#define HAVE_PID_NS_FOR_CHILDREN 1" >>confdefs.h


fi




	# 3.12

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'truncate_pagecache' with 'old_size' parameter" >&5
$as_echo_n "checking if 'truncate_pagecache' with 'old_size' parameter... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for truncate_pagecache_old_size was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for truncate_pagecache_old_size" >&5
$as_echo_n "checking for truncate_pagecache_old_size... " >&6; }
if ${lb_cv_test_truncate_pagecache_old_size+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_truncate_pagecache_old_size=yes
else
  lb_cv_test_truncate_pagecache_old_size=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_truncate_pagecache_old_size" >&5
$as_echo "$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 :

$as_echo "#define HAVE_OLDSIZE_TRUNCATE_PAGECACHE 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'PTR_ERR_OR_ZERO' is missing" >&5
$as_echo_n "checking if 'PTR_ERR_OR_ZERO' is missing... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for is_err_or_null was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for is_err_or_null" >&5
$as_echo_n "checking for is_err_or_null... " >&6; }
if ${lb_cv_test_is_err_or_null+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_is_err_or_null=yes
else
  lb_cv_test_is_err_or_null=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_is_err_or_null" >&5
$as_echo "$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 :

$as_echo "#define HAVE_PTR_ERR_OR_ZERO 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'struct kiocb' with 'ki_left' member" >&5
$as_echo_n "checking if 'struct kiocb' with 'ki_left' member... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for kiocb_ki_left was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for kiocb_ki_left" >&5
$as_echo_n "checking for kiocb_ki_left... " >&6; }
if ${lb_cv_test_kiocb_ki_left+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_kiocb_ki_left=yes
else
  lb_cv_test_kiocb_ki_left=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_kiocb_ki_left" >&5
$as_echo "$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 :

$as_echo "#define HAVE_KIOCB_KI_LEFT 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if register_shrinker() returns status" >&5
$as_echo_n "checking if register_shrinker() returns status... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for register_shrinker_ret was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for register_shrinker_ret" >&5
$as_echo_n "checking for register_shrinker_ret... " >&6; }
if ${lb_cv_test_register_shrinker_ret+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_register_shrinker_ret=yes
else
  lb_cv_test_register_shrinker_ret=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_register_shrinker_ret" >&5
$as_echo "$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 :

$as_echo "#define HAVE_REGISTER_SHRINKER_RET 1" >>confdefs.h


fi




	# 3.13

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux kernel has 'vfs_rename' with 5 args" >&5
$as_echo_n "checking if Linux kernel has 'vfs_rename' with 5 args... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for vfs_rename_5args was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for vfs_rename_5args" >&5
$as_echo_n "checking for vfs_rename_5args... " >&6; }
if ${lb_cv_test_vfs_rename_5args+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_vfs_rename_5args=yes
else
  lb_cv_test_vfs_rename_5args=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_vfs_rename_5args" >&5
$as_echo "$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 :

$as_echo "#define HAVE_VFS_RENAME_5ARGS 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux kernel has 'vfs_unlink' with 3 args" >&5
$as_echo_n "checking if Linux kernel has 'vfs_unlink' with 3 args... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for vfs_unlink_3args was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for vfs_unlink_3args" >&5
$as_echo_n "checking for vfs_unlink_3args... " >&6; }
if ${lb_cv_test_vfs_unlink_3args+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_vfs_unlink_3args=yes
else
  lb_cv_test_vfs_unlink_3args=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_vfs_unlink_3args" >&5
$as_echo "$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 :

$as_echo "#define HAVE_VFS_UNLINK_3ARGS 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'd_is_positive' exist" >&5
$as_echo_n "checking if 'd_is_positive' exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for d_is_positive was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for d_is_positive" >&5
$as_echo_n "checking for d_is_positive... " >&6; }
if ${lb_cv_test_d_is_positive+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_d_is_positive=yes
else
  lb_cv_test_d_is_positive=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_d_is_positive" >&5
$as_echo "$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 :

$as_echo "#define HAVE_D_IS_POSITIVE 1" >>confdefs.h


fi




	# 3.14

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux kernel has struct bvec_iter" >&5
$as_echo_n "checking if Linux kernel has struct bvec_iter... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for have_bvec_iter was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for have_bvec_iter" >&5
$as_echo_n "checking for have_bvec_iter... " >&6; }
if ${lb_cv_test_have_bvec_iter+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_have_bvec_iter=yes
else
  lb_cv_test_have_bvec_iter=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_have_bvec_iter" >&5
$as_echo "$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 :

$as_echo "#define HAVE_BVEC_ITER 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux kernel has truncate_inode_pages_final" >&5
$as_echo_n "checking if Linux kernel has truncate_inode_pages_final... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for truncate_ipages_final was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for truncate_ipages_final" >&5
$as_echo_n "checking for truncate_ipages_final... " >&6; }
if ${lb_cv_test_truncate_ipages_final+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_truncate_ipages_final=yes
else
  lb_cv_test_truncate_ipages_final=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_truncate_ipages_final" >&5
$as_echo "$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 :

$as_echo "#define HAVE_TRUNCATE_INODE_PAGES_FINAL 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'inode_operations->rename' taken flags as argument" >&5
$as_echo_n "checking if 'inode_operations->rename' taken flags as argument... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for iops_rename_with_flags was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for iops_rename_with_flags" >&5
$as_echo_n "checking for iops_rename_with_flags... " >&6; }
if ${lb_cv_test_iops_rename_with_flags+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_iops_rename_with_flags=yes
else
  lb_cv_test_iops_rename_with_flags=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_iops_rename_with_flags" >&5
$as_echo "$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 :

$as_echo "#define HAVE_IOPS_RENAME_WITH_FLAGS 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'inode_operations' has '.set_acl' member function" >&5
$as_echo_n "checking if 'inode_operations' has '.set_acl' member function... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for inode_ops_set_acl was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inode_ops_set_acl" >&5
$as_echo_n "checking for inode_ops_set_acl... " >&6; }
if ${lb_cv_test_inode_ops_set_acl+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_inode_ops_set_acl=yes
else
  lb_cv_test_inode_ops_set_acl=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_inode_ops_set_acl" >&5
$as_echo "$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 :

$as_echo "#define HAVE_IOP_SET_ACL 1" >>confdefs.h


fi




	# 3.15

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux kernel has 'vfs_rename' with 6 args" >&5
$as_echo_n "checking if Linux kernel has 'vfs_rename' with 6 args... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for vfs_rename_6args was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for vfs_rename_6args" >&5
$as_echo_n "checking for vfs_rename_6args... " >&6; }
if ${lb_cv_test_vfs_rename_6args+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_vfs_rename_6args=yes
else
  lb_cv_test_vfs_rename_6args=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_vfs_rename_6args" >&5
$as_echo "$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 :

$as_echo "#define HAVE_VFS_RENAME_6ARGS 1" >>confdefs.h


fi




	# 3.16

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if direct IO uses iov_iter" >&5
$as_echo_n "checking if direct IO uses iov_iter... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for direct_io_iter was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for direct_io_iter" >&5
$as_echo_n "checking for direct_io_iter... " >&6; }
if ${lb_cv_test_direct_io_iter+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_direct_io_iter=yes
else
  lb_cv_test_direct_io_iter=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_direct_io_iter" >&5
$as_echo "$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 :

$as_echo "#define HAVE_DIRECTIO_ITER 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'iov_iter_init' takes a tag" >&5
$as_echo_n "checking if 'iov_iter_init' takes a tag... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for iter_init was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for iter_init" >&5
$as_echo_n "checking for iter_init... " >&6; }
if ${lb_cv_test_iter_init+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_iter_init=yes
else
  lb_cv_test_iter_init=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_iter_init" >&5
$as_echo "$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 :

$as_echo "#define HAVE_IOV_ITER_INIT_DIRECTION 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'iov_iter_truncate' exists" >&5
$as_echo_n "checking if 'iov_iter_truncate' exists... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for iter_truncate was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for iter_truncate" >&5
$as_echo_n "checking for iter_truncate... " >&6; }
if ${lb_cv_test_iter_truncate+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_iter_truncate=yes
else
  lb_cv_test_iter_truncate=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_iter_truncate" >&5
$as_echo "$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 :

$as_echo "#define HAVE_IOV_ITER_TRUNCATE 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'file_operations.read|write_iter' exist" >&5
$as_echo_n "checking if 'file_operations.read|write_iter' exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for file_function_iter was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for file_function_iter" >&5
$as_echo_n "checking for file_function_iter... " >&6; }
if ${lb_cv_test_file_function_iter+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_file_function_iter=yes
else
  lb_cv_test_file_function_iter=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_file_function_iter" >&5
$as_echo "$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 :

$as_echo "#define HAVE_FILE_OPERATIONS_READ_WRITE_ITER 1" >>confdefs.h


fi




	# 3.17

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'blk_integrity.interval' exist" >&5
$as_echo_n "checking if 'blk_integrity.interval' exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for interval_blk_integrity was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for interval_blk_integrity" >&5
$as_echo_n "checking for interval_blk_integrity... " >&6; }
if ${lb_cv_test_interval_blk_integrity+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_interval_blk_integrity=yes
else
  lb_cv_test_interval_blk_integrity=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_interval_blk_integrity" >&5
$as_echo "$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 :

$as_echo "#define HAVE_INTERVAL_BLK_INTEGRITY 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if struct key_match field exist" >&5
$as_echo_n "checking if struct key_match field exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for key_match was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for key_match" >&5
$as_echo_n "checking for key_match... " >&6; }
if ${lb_cv_test_key_match+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_key_match=yes
else
  lb_cv_test_key_match=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_key_match" >&5
$as_echo "$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 :

$as_echo "#define HAVE_KEY_MATCH_DATA 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if struct blk_integrity_iter exist" >&5
$as_echo_n "checking if struct blk_integrity_iter exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for blk_integrity_iter was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for blk_integrity_iter" >&5
$as_echo_n "checking for blk_integrity_iter... " >&6; }
if ${lb_cv_test_blk_integrity_iter+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_blk_integrity_iter=yes
else
  lb_cv_test_blk_integrity_iter=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_blk_integrity_iter" >&5
$as_echo "$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 :

$as_echo "#define HAVE_BLK_INTEGRITY_ITER 1" >>confdefs.h


fi




	# 3.18

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if percpu_counter_init uses GFP_* flag as argument" >&5
$as_echo_n "checking if percpu_counter_init uses GFP_* flag as argument... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for percpu_counter_init was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for percpu_counter_init" >&5
$as_echo_n "checking for percpu_counter_init... " >&6; }
if ${lb_cv_test_percpu_counter_init+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_percpu_counter_init=yes
else
  lb_cv_test_percpu_counter_init=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_percpu_counter_init" >&5
$as_echo "$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 :

$as_echo "#define HAVE_PERCPU_COUNTER_INIT_GFP_FLAG 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if filldir_t uses struct dir_context" >&5
$as_echo_n "checking if filldir_t uses struct dir_context... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for filldir_ctx was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for filldir_ctx" >&5
$as_echo_n "checking for filldir_ctx... " >&6; }
if ${lb_cv_test_filldir_ctx+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_filldir_ctx=yes
else
  lb_cv_test_filldir_ctx=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_filldir_ctx" >&5
$as_echo "$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 :

$as_echo "#define HAVE_FILLDIR_USE_CTX 1" >>confdefs.h


fi




	# 3.19

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if struct kiocb has ki_nbytes field" >&5
$as_echo_n "checking if struct kiocb has ki_nbytes field... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for ki_nbytes was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ki_nbytes" >&5
$as_echo_n "checking for ki_nbytes... " >&6; }
if ${lb_cv_test_ki_nbytes+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_ki_nbytes=yes
else
  lb_cv_test_ki_nbytes=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_ki_nbytes" >&5
$as_echo "$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 :

$as_echo "#define HAVE_KI_NBYTES 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'quotactl_ops.set_dqblk' takes struct qc_dqblk" >&5
$as_echo_n "checking if 'quotactl_ops.set_dqblk' takes struct qc_dqblk... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for qc_dqblk was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for qc_dqblk" >&5
$as_echo_n "checking for qc_dqblk... " >&6; }
if ${lb_cv_test_qc_dqblk+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_qc_dqblk=yes
else
  lb_cv_test_qc_dqblk=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_qc_dqblk" >&5
$as_echo "$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 :

$as_echo "#define HAVE_DQUOT_QC_DQBLK 1" >>confdefs.h


$as_echo "#define HAVE_DQUOT_KQID 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if kernel has exported aio_complete()" >&5
$as_echo_n "checking if kernel has exported aio_complete()... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for aio_complete was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for aio_complete" >&5
$as_echo_n "checking for aio_complete... " >&6; }
if ${lb_cv_test_aio_complete+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_aio_complete=yes
else
  lb_cv_test_aio_complete=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_aio_complete" >&5
$as_echo "$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 :

$as_echo "#define HAVE_AIO_COMPLETE 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if kernel has is_root_inode()" >&5
$as_echo_n "checking if kernel has is_root_inode()... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for is_root_inode was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for is_root_inode" >&5
$as_echo_n "checking for is_root_inode... " >&6; }
if ${lb_cv_test_is_root_inode+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_is_root_inode=yes
else
  lb_cv_test_is_root_inode=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_is_root_inode" >&5
$as_echo "$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 :

$as_echo "#define HAVE_IS_ROOT_INODE 1" >>confdefs.h


fi




	# 3.20

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if struct address_space has backing_dev_info" >&5
$as_echo_n "checking if struct address_space has backing_dev_info... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for backing_dev_info was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for backing_dev_info" >&5
$as_echo_n "checking for backing_dev_info... " >&6; }
if ${lb_cv_test_backing_dev_info+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_backing_dev_info=yes
else
  lb_cv_test_backing_dev_info=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_backing_dev_info" >&5
$as_echo "$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 :

$as_echo "#define HAVE_BACKING_DEV_INFO 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if have 'BDI_CAP_MAP_COPY'" >&5
$as_echo_n "checking if have 'BDI_CAP_MAP_COPY'... " >&6; }

	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/bdi_cap_map_copy_pc
	O=${T}/bdi_cap_map_copy_pc
	if test -d ${T}; then :

		# test source exists, was the compile test run?
		if test -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"bdi_cap_map_copy\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for bdi_cap_map_copy was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for bdi_cap_map_copy" >&5
$as_echo_n "checking for bdi_cap_map_copy... " >&6; }
if ${lb_cv_test_bdi_cap_map_copy+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_bdi_cap_map_copy=yes
else
  lb_cv_test_bdi_cap_map_copy=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_bdi_cap_map_copy" >&5
$as_echo "$lb_cv_test_bdi_cap_map_copy" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_bdi_cap_map_copy" = xyes; then :

$as_echo "#define HAVE_BDI_CAP_MAP_COPY 1" >>confdefs.h


fi




	# 4.1.0

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if iov_iter_rw exist" >&5
$as_echo_n "checking if iov_iter_rw exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for iov_iter_rw was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for iov_iter_rw" >&5
$as_echo_n "checking for iov_iter_rw... " >&6; }
if ${lb_cv_test_iov_iter_rw+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_iov_iter_rw=yes
else
  lb_cv_test_iov_iter_rw=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_iov_iter_rw" >&5
$as_echo "$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 :

$as_echo "#define HAVE_IOV_ITER_RW 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux kernel has __bi_cnt in struct bio" >&5
$as_echo_n "checking if Linux kernel has __bi_cnt in struct bio... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for have___bi_cnt was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for have___bi_cnt" >&5
$as_echo_n "checking for have___bi_cnt... " >&6; }
if ${lb_cv_test_have___bi_cnt+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_have___bi_cnt=yes
else
  lb_cv_test_have___bi_cnt=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_have___bi_cnt" >&5
$as_echo "$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 :

$as_echo "#define HAVE___BI_CNT 1" >>confdefs.h


fi




	# 4.2

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'bio_endio' with one argument exist" >&5
$as_echo_n "checking if 'bio_endio' with one argument exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for bio_endio was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for bio_endio" >&5
$as_echo_n "checking for bio_endio... " >&6; }
if ${lb_cv_test_bio_endio+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_bio_endio=yes
else
  lb_cv_test_bio_endio=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_bio_endio" >&5
$as_echo "$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 :

$as_echo "#define HAVE_BIO_ENDIO_USES_ONE_ARG 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if symlink inode operations have struct nameidata argument" >&5
$as_echo_n "checking if symlink inode operations have struct nameidata argument... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for symlink_use_nameidata was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for symlink_use_nameidata" >&5
$as_echo_n "checking for symlink_use_nameidata... " >&6; }
if ${lb_cv_test_symlink_use_nameidata+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_symlink_use_nameidata=yes
else
  lb_cv_test_symlink_use_nameidata=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_symlink_use_nameidata" >&5
$as_echo "$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 :

$as_echo "#define HAVE_SYMLINK_OPS_USE_NAMEIDATA 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'account_page_dirtied' with 3 args exists" >&5
$as_echo_n "checking if 'account_page_dirtied' with 3 args exists... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for account_page_dirtied_3a was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for account_page_dirtied_3a" >&5
$as_echo_n "checking for account_page_dirtied_3a... " >&6; }
if ${lb_cv_test_account_page_dirtied_3a+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_account_page_dirtied_3a=yes
else
  lb_cv_test_account_page_dirtied_3a=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_account_page_dirtied_3a" >&5
$as_echo "$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 :

$as_echo "#define HAVE_ACCOUNT_PAGE_DIRTIED_3ARGS 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if crypto_alloc_skcipher is defined" >&5
$as_echo_n "checking if crypto_alloc_skcipher is defined... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for crypto_alloc_skcipher was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for crypto_alloc_skcipher" >&5
$as_echo_n "checking for crypto_alloc_skcipher... " >&6; }
if ${lb_cv_test_crypto_alloc_skcipher+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_crypto_alloc_skcipher=yes
else
  lb_cv_test_crypto_alloc_skcipher=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_crypto_alloc_skcipher" >&5
$as_echo "$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 :

$as_echo "#define HAVE_CRYPTO_ALLOC_SKCIPHER 1" >>confdefs.h


fi




	# 4.3

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'blk_integrity.interval_exp' exist" >&5
$as_echo_n "checking if 'blk_integrity.interval_exp' exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for blk_integrity_interval_exp was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for blk_integrity_interval_exp" >&5
$as_echo_n "checking for blk_integrity_interval_exp... " >&6; }
if ${lb_cv_test_blk_integrity_interval_exp+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_blk_integrity_interval_exp=yes
else
  lb_cv_test_blk_integrity_interval_exp=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_blk_integrity_interval_exp" >&5
$as_echo "$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 :

$as_echo "#define HAVE_INTERVAL_EXP_BLK_INTEGRITY 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'bio_integrity_payload.bip_iter' exist" >&5
$as_echo_n "checking if 'bio_integrity_payload.bip_iter' exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for bio_integrity_payload_bip_iter was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for bio_integrity_payload_bip_iter" >&5
$as_echo_n "checking for bio_integrity_payload_bip_iter... " >&6; }
if ${lb_cv_test_bio_integrity_payload_bip_iter+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_bio_integrity_payload_bip_iter=yes
else
  lb_cv_test_bio_integrity_payload_bip_iter=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_bio_integrity_payload_bip_iter" >&5
$as_echo "$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 :

$as_echo "#define HAVE_BIP_ITER_BIO_INTEGRITY_PAYLOAD 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'struct cache_head' has 'cache_list' field" >&5
$as_echo_n "checking if 'struct cache_head' has 'cache_list' field... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for cache_head_has_hlist was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for cache_head_has_hlist" >&5
$as_echo_n "checking for cache_head_has_hlist... " >&6; }
if ${lb_cv_test_cache_head_has_hlist+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_cache_head_has_hlist=yes
else
  lb_cv_test_cache_head_has_hlist=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_cache_head_has_hlist" >&5
$as_echo "$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 :

$as_echo "#define HAVE_CACHE_HEAD_HLIST 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'struct xattr_handler' functions pass in handler pointer" >&5
$as_echo_n "checking if 'struct xattr_handler' functions pass in handler pointer... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for xattr_handler_simplified was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for xattr_handler_simplified" >&5
$as_echo_n "checking for xattr_handler_simplified... " >&6; }
if ${lb_cv_test_xattr_handler_simplified+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_xattr_handler_simplified=yes
else
  lb_cv_test_xattr_handler_simplified=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_xattr_handler_simplified" >&5
$as_echo "$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 :

$as_echo "#define HAVE_XATTR_HANDLER_SIMPLIFIED 1" >>confdefs.h


fi




	# 4.4

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'locks_lock_file_wait' exists" >&5
$as_echo_n "checking if 'locks_lock_file_wait' exists... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for locks_lock_file_wait was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for locks_lock_file_wait" >&5
$as_echo_n "checking for locks_lock_file_wait... " >&6; }
if ${lb_cv_test_locks_lock_file_wait+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_locks_lock_file_wait=yes
else
  lb_cv_test_locks_lock_file_wait=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_locks_lock_file_wait" >&5
$as_echo "$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 :

$as_echo "#define HAVE_LOCKS_LOCK_FILE_WAIT 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'struct key' has 'payload.data' as an array" >&5
$as_echo_n "checking if 'struct key' has 'payload.data' as an array... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for key_payload_data_array was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for key_payload_data_array" >&5
$as_echo_n "checking for key_payload_data_array... " >&6; }
if ${lb_cv_test_key_payload_data_array+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_key_payload_data_array=yes
else
  lb_cv_test_key_payload_data_array=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_key_payload_data_array" >&5
$as_echo "$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 :

$as_echo "#define HAVE_KEY_PAYLOAD_DATA_ARRAY 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'struct xattr_handler' has a name member" >&5
$as_echo_n "checking if 'struct xattr_handler' has a name member... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for xattr_handler_name was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for xattr_handler_name" >&5
$as_echo_n "checking for xattr_handler_name... " >&6; }
if ${lb_cv_test_xattr_handler_name+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_xattr_handler_name=yes
else
  lb_cv_test_xattr_handler_name=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_xattr_handler_name" >&5
$as_echo "$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 :

$as_echo "#define HAVE_XATTR_HANDLER_NAME 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux kernel has bi_opf in struct bio" >&5
$as_echo_n "checking if Linux kernel has bi_opf in struct bio... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for have_bi_opf was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for have_bi_opf" >&5
$as_echo_n "checking for have_bi_opf... " >&6; }
if ${lb_cv_test_have_bi_opf+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_have_bi_opf=yes
else
  lb_cv_test_have_bi_opf=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_have_bi_opf" >&5
$as_echo "$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 :

$as_echo "#define HAVE_BI_OPF 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if submit_bio takes two arguments" >&5
$as_echo_n "checking if submit_bio takes two arguments... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for have_submit_bio_2args was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for have_submit_bio_2args" >&5
$as_echo_n "checking for have_submit_bio_2args... " >&6; }
if ${lb_cv_test_have_submit_bio_2args+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_have_submit_bio_2args=yes
else
  lb_cv_test_have_submit_bio_2args=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_have_submit_bio_2args" >&5
$as_echo "$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 :

$as_echo "#define HAVE_SUBMIT_BIO_2ARGS 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if kernel has clean_bdev_aliases" >&5
$as_echo_n "checking if kernel has clean_bdev_aliases... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for have_clean_bdev_aliases was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for have_clean_bdev_aliases" >&5
$as_echo_n "checking for have_clean_bdev_aliases... " >&6; }
if ${lb_cv_test_have_clean_bdev_aliases+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_have_clean_bdev_aliases=yes
else
  lb_cv_test_have_clean_bdev_aliases=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_have_clean_bdev_aliases" >&5
$as_echo "$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 :

$as_echo "#define HAVE_CLEAN_BDEV_ALIASES 1" >>confdefs.h


fi




	# 4.5

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux kernel has 'file_dentry'" >&5
$as_echo_n "checking if Linux kernel has 'file_dentry'... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for file_dentry was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for file_dentry" >&5
$as_echo_n "checking for file_dentry... " >&6; }
if ${lb_cv_test_file_dentry+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_file_dentry=yes
else
  lb_cv_test_file_dentry=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_file_dentry" >&5
$as_echo "$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 :

$as_echo "#define HAVE_FILE_DENTRY 1" >>confdefs.h


fi




	# 4.5

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'inode_lock' is defined" >&5
$as_echo_n "checking if 'inode_lock' is defined... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for inode_lock was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inode_lock" >&5
$as_echo_n "checking for inode_lock... " >&6; }
if ${lb_cv_test_inode_lock+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_inode_lock=yes
else
  lb_cv_test_inode_lock=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_inode_lock" >&5
$as_echo "$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 :

$as_echo "#define HAVE_INODE_LOCK 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'iop' has 'get_link'" >&5
$as_echo_n "checking if 'iop' has 'get_link'... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for inode_ops_get_link was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inode_ops_get_link" >&5
$as_echo_n "checking for inode_ops_get_link... " >&6; }
if ${lb_cv_test_inode_ops_get_link+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_inode_ops_get_link=yes
else
  lb_cv_test_inode_ops_get_link=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_inode_ops_get_link" >&5
$as_echo "$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 :

$as_echo "#define HAVE_IOP_GET_LINK 1" >>confdefs.h


fi




	# 4.6

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'in_compat_syscall' is defined" >&5
$as_echo_n "checking if 'in_compat_syscall' is defined... " >&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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for in_compat_syscall was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for in_compat_syscall" >&5
$as_echo_n "checking for in_compat_syscall... " >&6; }
if ${lb_cv_test_in_compat_syscall+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_in_compat_syscall=yes
else
  lb_cv_test_in_compat_syscall=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_in_compat_syscall" >&5
$as_echo "$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 :

$as_echo "#define HAVE_IN_COMPAT_SYSCALL 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'struct xattr_handler' functions have inode parameter" >&5
$as_echo_n "checking if 'struct xattr_handler' functions have inode parameter... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for xattr_handler_inode_param was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for xattr_handler_inode_param" >&5
$as_echo_n "checking for xattr_handler_inode_param... " >&6; }
if ${lb_cv_test_xattr_handler_inode_param+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_xattr_handler_inode_param=yes
else
  lb_cv_test_xattr_handler_inode_param=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_xattr_handler_inode_param" >&5
$as_echo "$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 :

$as_echo "#define HAVE_XATTR_HANDLER_INODE_PARAM 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'lock_page_memcg' is defined" >&5
$as_echo_n "checking if 'lock_page_memcg' is defined... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for lock_page_memcg was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for lock_page_memcg" >&5
$as_echo_n "checking for lock_page_memcg... " >&6; }
if ${lb_cv_test_lock_page_memcg+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_lock_page_memcg=yes
else
  lb_cv_test_lock_page_memcg=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_lock_page_memcg" >&5
$as_echo "$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 :

$as_echo "#define HAVE_LOCK_PAGE_MEMCG 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if down_write_killable exists" >&5
$as_echo_n "checking if down_write_killable exists... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for down_write_killable was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for down_write_killable" >&5
$as_echo_n "checking for down_write_killable... " >&6; }
if ${lb_cv_test_down_write_killable+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_down_write_killable=yes
else
  lb_cv_test_down_write_killable=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_down_write_killable" >&5
$as_echo "$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 :

$as_echo "#define HAVE_DOWN_WRITE_KILLABLE 1" >>confdefs.h


fi




	# 4.7

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'd_in_lookup' is defined" >&5
$as_echo_n "checking if 'd_in_lookup' is defined... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for d_in_lookup was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for d_in_lookup" >&5
$as_echo_n "checking for d_in_lookup... " >&6; }
if ${lb_cv_test_d_in_lookup+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_d_in_lookup=yes
else
  lb_cv_test_d_in_lookup=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_d_in_lookup" >&5
$as_echo "$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 :

$as_echo "#define HAVE_D_IN_LOOKUP 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if dentry operations supports 'd_init'" >&5
$as_echo_n "checking if dentry operations supports 'd_init'... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for d_init was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for d_init" >&5
$as_echo_n "checking for d_init... " >&6; }
if ${lb_cv_test_d_init+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_d_init=yes
else
  lb_cv_test_d_init=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_d_init" >&5
$as_echo "$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 :

$as_echo "#define HAVE_D_INIT 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if '->direct_IO()' takes 2 arguments" >&5
$as_echo_n "checking if '->direct_IO()' takes 2 arguments... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for direct_io_2args was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for direct_io_2args" >&5
$as_echo_n "checking for direct_io_2args... " >&6; }
if ${lb_cv_test_direct_io_2args+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_direct_io_2args=yes
else
  lb_cv_test_direct_io_2args=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_direct_io_2args" >&5
$as_echo "$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 :

$as_echo "#define HAVE_DIRECTIO_2ARGS 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'generic_write_sync()' takes 2 arguments" >&5
$as_echo_n "checking if 'generic_write_sync()' takes 2 arguments... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for generic_write_sync_2args was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for generic_write_sync_2args" >&5
$as_echo_n "checking for generic_write_sync_2args... " >&6; }
if ${lb_cv_test_generic_write_sync_2args+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_generic_write_sync_2args=yes
else
  lb_cv_test_generic_write_sync_2args=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_generic_write_sync_2args" >&5
$as_echo "$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 :

$as_echo "#define HAVE_GENERIC_WRITE_SYNC_2ARGS 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'file_operations' has 'iterate_shared'" >&5
$as_echo_n "checking if 'file_operations' has 'iterate_shared'... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for fop_iterate_shared was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fop_iterate_shared" >&5
$as_echo_n "checking for fop_iterate_shared... " >&6; }
if ${lb_cv_test_fop_iterate_shared+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_fop_iterate_shared=yes
else
  lb_cv_test_fop_iterate_shared=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_fop_iterate_shared" >&5
$as_echo "$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 :

$as_echo "#define HAVE_FOP_ITERATE_SHARED 1" >>confdefs.h


fi




	# 4.8

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'posix_acl_valid' takes 'struct user_namespace'" >&5
$as_echo_n "checking if 'posix_acl_valid' takes 'struct user_namespace'... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for posix_acl_valid was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for posix_acl_valid" >&5
$as_echo_n "checking for posix_acl_valid... " >&6; }
if ${lb_cv_test_posix_acl_valid+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_posix_acl_valid=yes
else
  lb_cv_test_posix_acl_valid=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_posix_acl_valid" >&5
$as_echo "$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 :

$as_echo "#define HAVE_POSIX_ACL_VALID_USER_NS 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'd_compare' taken 4 arguments" >&5
$as_echo_n "checking if 'd_compare' taken 4 arguments... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for d_compare_4args was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for d_compare_4args" >&5
$as_echo_n "checking for d_compare_4args... " >&6; }
if ${lb_cv_test_d_compare_4args+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_d_compare_4args=yes
else
  lb_cv_test_d_compare_4args=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_d_compare_4args" >&5
$as_echo "$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 :

$as_echo "#define HAVE_D_COMPARE_4ARGS 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'full_name_hash' taken 3 arguments" >&5
$as_echo_n "checking if 'full_name_hash' taken 3 arguments... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for full_name_hash_3args was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for full_name_hash_3args" >&5
$as_echo_n "checking for full_name_hash_3args... " >&6; }
if ${lb_cv_test_full_name_hash_3args+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_full_name_hash_3args=yes
else
  lb_cv_test_full_name_hash_3args=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_full_name_hash_3args" >&5
$as_echo "$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 :

$as_echo "#define HAVE_FULL_NAME_HASH_3ARGS 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'struct posix_acl_xattr_{header,entry}' defined" >&5
$as_echo_n "checking if 'struct posix_acl_xattr_{header,entry}' defined... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for struct_posix_acl_xattr was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct_posix_acl_xattr" >&5
$as_echo_n "checking for struct_posix_acl_xattr... " >&6; }
if ${lb_cv_test_struct_posix_acl_xattr+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_struct_posix_acl_xattr=yes
else
  lb_cv_test_struct_posix_acl_xattr=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_struct_posix_acl_xattr" >&5
$as_echo "$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 :

$as_echo "#define HAVE_STRUCT_POSIX_ACL_XATTR 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'inode_operations' has {get,set,remove}xattr members" >&5
$as_echo_n "checking if 'inode_operations' has {get,set,remove}xattr members... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for inode_ops_xattr was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inode_ops_xattr" >&5
$as_echo_n "checking for inode_ops_xattr... " >&6; }
if ${lb_cv_test_inode_ops_xattr+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_inode_ops_xattr=yes
else
  lb_cv_test_inode_ops_xattr=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_inode_ops_xattr" >&5
$as_echo "$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 :

$as_echo "#define HAVE_IOP_XATTR 1" >>confdefs.h


fi




	# 4.9

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'struct group_info' has member 'gid'" >&5
$as_echo_n "checking if 'struct group_info' has member 'gid'... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for group_info_gid was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for group_info_gid" >&5
$as_echo_n "checking for group_info_gid... " >&6; }
if ${lb_cv_test_group_info_gid+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_group_info_gid=yes
else
  lb_cv_test_group_info_gid=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_group_info_gid" >&5
$as_echo "$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 :

$as_echo "#define HAVE_GROUP_INFO_GID 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if '__vfs_setxattr' helper is available" >&5
$as_echo_n "checking if '__vfs_setxattr' helper is available... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for vfs_setxattr was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for vfs_setxattr" >&5
$as_echo_n "checking for vfs_setxattr... " >&6; }
if ${lb_cv_test_vfs_setxattr+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_vfs_setxattr=yes
else
  lb_cv_test_vfs_setxattr=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_vfs_setxattr" >&5
$as_echo "$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 :

$as_echo "#define HAVE_VFS_SETXATTR 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'posix_acl_update_mode' exists" >&5
$as_echo_n "checking if 'posix_acl_update_mode' exists... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for posix_acl_update_mode was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for posix_acl_update_mode" >&5
$as_echo_n "checking for posix_acl_update_mode... " >&6; }
if ${lb_cv_test_posix_acl_update_mode+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_posix_acl_update_mode=yes
else
  lb_cv_test_posix_acl_update_mode=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_posix_acl_update_mode" >&5
$as_echo "$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 :

$as_echo "#define HAVE_POSIX_ACL_UPDATE_MODE 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'struct backing_dev_info' has 'io_pages' field" >&5
$as_echo_n "checking if 'struct backing_dev_info' has 'io_pages' field... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for bdi_has_io_pages was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for bdi_has_io_pages" >&5
$as_echo_n "checking for bdi_has_io_pages... " >&6; }
if ${lb_cv_test_bdi_has_io_pages+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_bdi_has_io_pages=yes
else
  lb_cv_test_bdi_has_io_pages=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_bdi_has_io_pages" >&5
$as_echo "$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 :

$as_echo "#define HAVE_BDI_IO_PAGES 1" >>confdefs.h


fi




	# 4.10

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'generic_readlink' still exist" >&5
$as_echo_n "checking if 'generic_readlink' still exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for inode_ops_readlink was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inode_ops_readlink" >&5
$as_echo_n "checking for inode_ops_readlink... " >&6; }
if ${lb_cv_test_inode_ops_readlink+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_inode_ops_readlink=yes
else
  lb_cv_test_inode_ops_readlink=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_inode_ops_readlink" >&5
$as_echo "$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 :

$as_echo "#define HAVE_IOP_GENERIC_READLINK 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'struct vm_fault' replaced virtual_address with address field" >&5
$as_echo_n "checking if 'struct vm_fault' replaced virtual_address with address field... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for vm_fault_address was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for vm_fault_address" >&5
$as_echo_n "checking for vm_fault_address... " >&6; }
if ${lb_cv_test_vm_fault_address+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_vm_fault_address=yes
else
  lb_cv_test_vm_fault_address=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_vm_fault_address" >&5
$as_echo "$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 :

$as_echo "#define HAVE_VM_FAULT_ADDRESS 1" >>confdefs.h


fi




	# 4.11

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'inode_operations' getattr member can gather advance stats" >&5
$as_echo_n "checking if 'inode_operations' getattr member can gather advance stats... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for getattr_path was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for getattr_path" >&5
$as_echo_n "checking for getattr_path... " >&6; }
if ${lb_cv_test_getattr_path+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_getattr_path=yes
else
  lb_cv_test_getattr_path=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_getattr_path" >&5
$as_echo "$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 :

$as_echo "#define HAVE_INODEOPS_ENHANCED_GETATTR 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'struct vm_operations' removed struct vm_area_struct" >&5
$as_echo_n "checking if 'struct vm_operations' removed struct vm_area_struct... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for vm_operations_no_vm_area_struct was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for vm_operations_no_vm_area_struct" >&5
$as_echo_n "checking for vm_operations_no_vm_area_struct... " >&6; }
if ${lb_cv_test_vm_operations_no_vm_area_struct+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_vm_operations_no_vm_area_struct=yes
else
  lb_cv_test_vm_operations_no_vm_area_struct=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_vm_operations_no_vm_area_struct" >&5
$as_echo "$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 :

$as_echo "#define HAVE_VM_OPS_USE_VM_FAULT_ONLY 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'key.usage' is refcount_t" >&5
$as_echo_n "checking if 'key.usage' is refcount_t... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for key_usage_refcount was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for key_usage_refcount" >&5
$as_echo_n "checking for key_usage_refcount... " >&6; }
if ${lb_cv_test_key_usage_refcount+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_key_usage_refcount=yes
else
  lb_cv_test_key_usage_refcount=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_key_usage_refcount" >&5
$as_echo "$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 :

$as_echo "#define HAVE_KEY_USAGE_REFCOUNT 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'CRYPTO_MAX_ALG_NAME' is 128" >&5
$as_echo_n "checking if 'CRYPTO_MAX_ALG_NAME' is 128... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for crypto_max_alg_name was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for crypto_max_alg_name" >&5
$as_echo_n "checking for crypto_max_alg_name... " >&6; }
if ${lb_cv_test_crypto_max_alg_name+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_crypto_max_alg_name=yes
else
  lb_cv_test_crypto_max_alg_name=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_crypto_max_alg_name" >&5
$as_echo "$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 :

$as_echo "#define HAVE_CRYPTO_MAX_ALG_NAME_128 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'percpu_counter_add_batch()' exists" >&5
$as_echo_n "checking if 'percpu_counter_add_batch()' exists... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for percpu_counter_add_batch_exists was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for percpu_counter_add_batch_exists" >&5
$as_echo_n "checking for percpu_counter_add_batch_exists... " >&6; }
if ${lb_cv_test_percpu_counter_add_batch_exists+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_percpu_counter_add_batch_exists=yes
else
  lb_cv_test_percpu_counter_add_batch_exists=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_percpu_counter_add_batch_exists" >&5
$as_echo "$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 :

$as_echo "#define HAVE_PERCPU_COUNTER_ADD_BATCH 1" >>confdefs.h


fi




	# 4.12

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if CURRENT_TIME has been replaced with current_time" >&5
$as_echo_n "checking if CURRENT_TIME has been replaced with current_time... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for current_time was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for current_time" >&5
$as_echo_n "checking for current_time... " >&6; }
if ${lb_cv_test_current_time+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_current_time=yes
else
  lb_cv_test_current_time=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_current_time" >&5
$as_echo "$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 :

$as_echo "#define HAVE_CURRENT_TIME 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'struct super_block' s_uuid is uuid_t" >&5
$as_echo_n "checking if 'struct super_block' s_uuid is uuid_t... " >&6; }

	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/super_block_s_uuid_pc
	O=${T}/super_block_s_uuid_pc
	if test -d ${T}; then :

		# test source exists, was the compile test run?
		if test -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"super_block_s_uuid\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for super_block_s_uuid was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for super_block_s_uuid" >&5
$as_echo_n "checking for super_block_s_uuid... " >&6; }
if ${lb_cv_test_super_block_s_uuid+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_super_block_s_uuid=yes
else
  lb_cv_test_super_block_s_uuid=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_super_block_s_uuid" >&5
$as_echo "$lb_cv_test_super_block_s_uuid" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_super_block_s_uuid" = xyes; then :

$as_echo "#define HAVE_S_UUID_AS_UUID_T 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'super_setup_bdi_name' exist" >&5
$as_echo_n "checking if 'super_setup_bdi_name' exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for super_setup_bdi_name was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for super_setup_bdi_name" >&5
$as_echo_n "checking for super_setup_bdi_name... " >&6; }
if ${lb_cv_test_super_setup_bdi_name+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_super_setup_bdi_name=yes
else
  lb_cv_test_super_setup_bdi_name=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_super_setup_bdi_name" >&5
$as_echo "$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 :

$as_echo "#define HAVE_SUPER_SETUP_BDI_NAME 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'bi_status' exist" >&5
$as_echo_n "checking if 'bi_status' exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for bi_status was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for bi_status" >&5
$as_echo_n "checking for bi_status... " >&6; }
if ${lb_cv_test_bi_status+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_bi_status=yes
else
  lb_cv_test_bi_status=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_bi_status" >&5
$as_echo "$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 :

$as_echo "#define HAVE_BI_STATUS 1" >>confdefs.h


fi




	# 4.13

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'bio_integrity_enabled' exist" >&5
$as_echo_n "checking if 'bio_integrity_enabled' exist... " >&6; }

	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/bio_integrity_enabled_pc
	O=${T}/bio_integrity_enabled_pc
	if test -d ${T}; then :

		# test source exists, was the compile test run?
		if test -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"bio_integrity_enabled\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for bio_integrity_enabled was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for bio_integrity_enabled" >&5
$as_echo_n "checking for bio_integrity_enabled... " >&6; }
if ${lb_cv_test_bio_integrity_enabled+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_bio_integrity_enabled=yes
else
  lb_cv_test_bio_integrity_enabled=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_bio_integrity_enabled" >&5
$as_echo "$lb_cv_test_bio_integrity_enabled" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_bio_integrity_enabled" = xyes; then :

$as_echo "#define HAVE_BIO_INTEGRITY_ENABLED 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'bio_integrity_prep_fn' returns bool" >&5
$as_echo_n "checking if 'bio_integrity_prep_fn' returns bool... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for bio_integrity_prep_ret_bool was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for bio_integrity_prep_ret_bool" >&5
$as_echo_n "checking for bio_integrity_prep_ret_bool... " >&6; }
if ${lb_cv_test_bio_integrity_prep_ret_bool+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_bio_integrity_prep_ret_bool=yes
else
  lb_cv_test_bio_integrity_prep_ret_bool=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_bio_integrity_prep_ret_bool" >&5
$as_echo "$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 :

$as_echo "#define HAVE_BIO_INTEGRITY_PREP_FN_RETURNS_BOOL 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if get_inode_usage exists" >&5
$as_echo_n "checking if get_inode_usage exists... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for get_inode_usage was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for get_inode_usage" >&5
$as_echo_n "checking for get_inode_usage... " >&6; }
if ${lb_cv_test_get_inode_usage+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_get_inode_usage=yes
else
  lb_cv_test_get_inode_usage=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_get_inode_usage" >&5
$as_echo "$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 :

$as_echo "#define HAVE_GET_INODE_USAGE 1" >>confdefs.h


fi




	# 4.14

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'pagevec_init' takes one parameter" >&5
$as_echo_n "checking if 'pagevec_init' takes one parameter... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for pagevec_init was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for pagevec_init" >&5
$as_echo_n "checking for pagevec_init... " >&6; }
if ${lb_cv_test_pagevec_init+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_pagevec_init=yes
else
  lb_cv_test_pagevec_init=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_pagevec_init" >&5
$as_echo "$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 :

$as_echo "#define HAVE_PAGEVEC_INIT_ONE_PARAM 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'bi_bdev' exist" >&5
$as_echo_n "checking if 'bi_bdev' exist... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for bi_bdev was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for bi_bdev" >&5
$as_echo_n "checking for bi_bdev... " >&6; }
if ${lb_cv_test_bi_bdev+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_bi_bdev=yes
else
  lb_cv_test_bi_bdev=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_bi_bdev" >&5
$as_echo "$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 :

$as_echo "#define HAVE_BI_BDEV 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if interval_trees use rb_tree_cached" >&5
$as_echo_n "checking if interval_trees use rb_tree_cached... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for itree_cached was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for itree_cached" >&5
$as_echo_n "checking for itree_cached... " >&6; }
if ${lb_cv_test_itree_cached+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_itree_cached=yes
else
  lb_cv_test_itree_cached=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_itree_cached" >&5
$as_echo "$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 :

$as_echo "#define HAVE_INTERVAL_TREE_CACHED 1" >>confdefs.h


fi




	# 4.17

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if vm_fault_t type exists" >&5
$as_echo_n "checking if vm_fault_t type exists... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for vm_fault_t was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for vm_fault_t" >&5
$as_echo_n "checking for vm_fault_t... " >&6; }
if ${lb_cv_test_vm_fault_t+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_vm_fault_t=yes
else
  lb_cv_test_vm_fault_t=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_vm_fault_t" >&5
$as_echo "$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 :

$as_echo "#define HAVE_VM_FAULT_T 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if VM_FAULT_RETRY is defined" >&5
$as_echo_n "checking if VM_FAULT_RETRY is defined... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for VM_FAULT_RETRY was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for VM_FAULT_RETRY" >&5
$as_echo_n "checking for VM_FAULT_RETRY... " >&6; }
if ${lb_cv_test_VM_FAULT_RETRY+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_VM_FAULT_RETRY=yes
else
  lb_cv_test_VM_FAULT_RETRY=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_VM_FAULT_RETRY" >&5
$as_echo "$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 :

$as_echo "#define HAVE_VM_FAULT_RETRY 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if struct address_space has i_pages" >&5
$as_echo_n "checking if struct address_space has i_pages... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for i_pages was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for i_pages" >&5
$as_echo_n "checking for i_pages... " >&6; }
if ${lb_cv_test_i_pages+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_i_pages=yes
else
  lb_cv_test_i_pages=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_i_pages" >&5
$as_echo "$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 :

$as_echo "#define HAVE_I_PAGES 1" >>confdefs.h


fi




	# 4.18

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'alloc_file_pseudo' is defined" >&5
$as_echo_n "checking if 'alloc_file_pseudo' is defined... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for alloc_file_pseudo was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloc_file_pseudo" >&5
$as_echo_n "checking for alloc_file_pseudo... " >&6; }
if ${lb_cv_test_alloc_file_pseudo+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_alloc_file_pseudo=yes
else
  lb_cv_test_alloc_file_pseudo=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_alloc_file_pseudo" >&5
$as_echo "$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 :

$as_echo "#define HAVE_ALLOC_FILE_PSEUDO 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if inode timestamps are struct timespec64" >&5
$as_echo_n "checking if inode timestamps are struct timespec64... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for inode_timespec64 was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inode_timespec64" >&5
$as_echo_n "checking for inode_timespec64... " >&6; }
if ${lb_cv_test_inode_timespec64+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_inode_timespec64=yes
else
  lb_cv_test_inode_timespec64=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_inode_timespec64" >&5
$as_echo "$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 :

$as_echo "#define HAVE_INODE_TIMESPEC64 1" >>confdefs.h


fi




	# 4.20

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'radix_tree_tag_set' exists" >&5
$as_echo_n "checking if 'radix_tree_tag_set' exists... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for radix_tree_tag_set was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for radix_tree_tag_set" >&5
$as_echo_n "checking for radix_tree_tag_set... " >&6; }
if ${lb_cv_test_radix_tree_tag_set+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_radix_tree_tag_set=yes
else
  lb_cv_test_radix_tree_tag_set=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_radix_tree_tag_set" >&5
$as_echo "$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 :

$as_echo "#define HAVE_RADIX_TREE_TAG_SET 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if MS_RDONLY was moved to uapi/linux/mount.h" >&5
$as_echo_n "checking if MS_RDONLY was moved to uapi/linux/mount.h... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for uapi_linux_mount was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uapi_linux_mount" >&5
$as_echo_n "checking for uapi_linux_mount... " >&6; }
if ${lb_cv_test_uapi_linux_mount+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_uapi_linux_mount=yes
else
  lb_cv_test_uapi_linux_mount=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_uapi_linux_mount" >&5
$as_echo "$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 :

$as_echo "#define HAVE_UAPI_LINUX_MOUNT_H 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if cache_detail->hash_lock is a spinlock" >&5
$as_echo_n "checking if cache_detail->hash_lock is a spinlock... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for hash_lock_isa_spinlock_t was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for hash_lock_isa_spinlock_t" >&5
$as_echo_n "checking for hash_lock_isa_spinlock_t... " >&6; }
if ${lb_cv_test_hash_lock_isa_spinlock_t+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_hash_lock_isa_spinlock_t=yes
else
  lb_cv_test_hash_lock_isa_spinlock_t=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_hash_lock_isa_spinlock_t" >&5
$as_echo "$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 :

$as_echo "#define HAVE_CACHE_HASH_SPINLOCK 1" >>confdefs.h


fi




	# 5.1

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if bvec_iter_all exists for multi-page bvec iternation" >&5
$as_echo_n "checking if bvec_iter_all exists for multi-page bvec iternation... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for struct_bvec_iter_all was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct_bvec_iter_all" >&5
$as_echo_n "checking for struct_bvec_iter_all... " >&6; }
if ${lb_cv_test_struct_bvec_iter_all+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_struct_bvec_iter_all=yes
else
  lb_cv_test_struct_bvec_iter_all=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_struct_bvec_iter_all" >&5
$as_echo "$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 :

$as_echo "#define HAVE_BVEC_ITER_ALL 1" >>confdefs.h


fi




	# 5.2

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'keyring_search' has 4 args" >&5
$as_echo_n "checking if 'keyring_search' has 4 args... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for keyring_search_4args was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for keyring_search_4args" >&5
$as_echo_n "checking for keyring_search_4args... " >&6; }
if ${lb_cv_test_keyring_search_4args+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_keyring_search_4args=yes
else
  lb_cv_test_keyring_search_4args=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_keyring_search_4args" >&5
$as_echo "$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 :

$as_echo "#define HAVE_KEYRING_SEARCH_4ARGS 1" >>confdefs.h


fi




	# 5.3

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if struct bio has bi_phys_segments member" >&5
$as_echo_n "checking if struct bio has bi_phys_segments member... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for bye_bio_bi_phys_segments was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for bye_bio_bi_phys_segments" >&5
$as_echo_n "checking for bye_bio_bi_phys_segments... " >&6; }
if ${lb_cv_test_bye_bio_bi_phys_segments+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_bye_bio_bi_phys_segments=yes
else
  lb_cv_test_bye_bio_bi_phys_segments=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_bye_bio_bi_phys_segments" >&5
$as_echo "$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 :

$as_echo "#define HAVE_BIO_BI_PHYS_SEGMENTS 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if lock_manager_operations has lm_compare_owner" >&5
$as_echo_n "checking if lock_manager_operations has lm_compare_owner... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for lock_manager_ops_lm_compare_owner was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for lock_manager_ops_lm_compare_owner" >&5
$as_echo_n "checking for lock_manager_ops_lm_compare_owner... " >&6; }
if ${lb_cv_test_lock_manager_ops_lm_compare_owner+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_lock_manager_ops_lm_compare_owner=yes
else
  lb_cv_test_lock_manager_ops_lm_compare_owner=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_lock_manager_ops_lm_compare_owner" >&5
$as_echo "$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 :

$as_echo "#define HAVE_LM_COMPARE_OWNER 1" >>confdefs.h


fi




	# 5.5

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if fscrypt has 'struct fscrypt_digested_name'" >&5
$as_echo_n "checking if fscrypt has 'struct fscrypt_digested_name'... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for fscrypt_digested_name was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fscrypt_digested_name" >&5
$as_echo_n "checking for fscrypt_digested_name... " >&6; }
if ${lb_cv_test_fscrypt_digested_name+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_fscrypt_digested_name=yes
else
  lb_cv_test_fscrypt_digested_name=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_fscrypt_digested_name" >&5
$as_echo "$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 :

$as_echo "#define HAVE_FSCRYPT_DIGESTED_NAME 1" >>confdefs.h


fi




	# 5.7

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if fscrypt_dummy_context_enabled() exists" >&5
$as_echo_n "checking if fscrypt_dummy_context_enabled() exists... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for fscrypt_dummy_context_enabled was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fscrypt_dummy_context_enabled" >&5
$as_echo_n "checking for fscrypt_dummy_context_enabled... " >&6; }
if ${lb_cv_test_fscrypt_dummy_context_enabled+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_fscrypt_dummy_context_enabled=yes
else
  lb_cv_test_fscrypt_dummy_context_enabled=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_fscrypt_dummy_context_enabled" >&5
$as_echo "$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 :

$as_echo "#define HAVE_FSCRYPT_DUMMY_CONTEXT_ENABLED 1" >>confdefs.h


fi




	# 5.9

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if iter_file_splice_write() exists" >&5
$as_echo_n "checking if iter_file_splice_write() exists... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for iter_file_splice_write was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for iter_file_splice_write" >&5
$as_echo_n "checking for iter_file_splice_write... " >&6; }
if ${lb_cv_test_iter_file_splice_write+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_iter_file_splice_write=yes
else
  lb_cv_test_iter_file_splice_write=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_iter_file_splice_write" >&5
$as_echo "$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 :

$as_echo "#define HAVE_ITER_FILE_SPLICE_WRITE 1" >>confdefs.h


fi




	# 5.9

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if fscrypt_fname_alloc_buffer() removed inode parameter" >&5
$as_echo_n "checking if fscrypt_fname_alloc_buffer() removed inode parameter... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for fscrypt_fname_alloc_buffer was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fscrypt_fname_alloc_buffer" >&5
$as_echo_n "checking for fscrypt_fname_alloc_buffer... " >&6; }
if ${lb_cv_test_fscrypt_fname_alloc_buffer+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_fscrypt_fname_alloc_buffer=yes
else
  lb_cv_test_fscrypt_fname_alloc_buffer=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_fscrypt_fname_alloc_buffer" >&5
$as_echo "$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 :

$as_echo "#define HAVE_FSCRYPT_FNAME_ALLOC_BUFFER_NO_INODE 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'fscrypt_set_context()' exists" >&5
$as_echo_n "checking if 'fscrypt_set_context()' exists... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for fscrypt_set_context was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fscrypt_set_context" >&5
$as_echo_n "checking for fscrypt_set_context... " >&6; }
if ${lb_cv_test_fscrypt_set_context+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_fscrypt_set_context=yes
else
  lb_cv_test_fscrypt_set_context=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_fscrypt_set_context" >&5
$as_echo "$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 :

$as_echo "#define HAVE_FSCRYPT_SET_CONTEXT 1" >>confdefs.h


fi





{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux kernel exports 'fscrypt_d_revalidate'" >&5
$as_echo_n "checking if Linux kernel exports 'fscrypt_d_revalidate'... " >&6; }
if ${lb_cv_export_fscrypt_d_revalidate+:} false; then :
  $as_echo_n "(cached) " >&6
else

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
  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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_export_fscrypt_d_revalidate" >&5
$as_echo "$lb_cv_export_fscrypt_d_revalidate" >&6; }
if test "x$lb_cv_export_fscrypt_d_revalidate" = xyes; then :

$as_echo "#define HAVE_FSCRYPT_D_REVALIDATE 1" >>confdefs.h

fi


	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if struct fscrypt_name has is_nokey_name field" >&5
$as_echo_n "checking if struct fscrypt_name has is_nokey_name field... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for fname_is_nokey_name was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fname_is_nokey_name" >&5
$as_echo_n "checking for fname_is_nokey_name... " >&6; }
if ${lb_cv_test_fname_is_nokey_name+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_fname_is_nokey_name=yes
else
  lb_cv_test_fname_is_nokey_name=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_fname_is_nokey_name" >&5
$as_echo "$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 :

$as_echo "#define HAVE_FSCRYPT_NOKEY_NAME 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if fscrypt_set_test_dummy_encryption() take 'const char' parameter" >&5
$as_echo_n "checking if fscrypt_set_test_dummy_encryption() take 'const char' parameter... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for fscrypt_set_test_dummy_encryption was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fscrypt_set_test_dummy_encryption" >&5
$as_echo_n "checking for fscrypt_set_test_dummy_encryption... " >&6; }
if ${lb_cv_test_fscrypt_set_test_dummy_encryption+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_fscrypt_set_test_dummy_encryption=yes
else
  lb_cv_test_fscrypt_set_test_dummy_encryption=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_fscrypt_set_test_dummy_encryption" >&5
$as_echo "$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 :

$as_echo "#define HAVE_FSCRYPT_SET_TEST_DUMMY_ENC_CHAR_ARG 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if fscrypt_free_dummy_policy() exists" >&5
$as_echo_n "checking if fscrypt_free_dummy_policy() exists... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for fscrypt_free_dummy_policy was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fscrypt_free_dummy_policy" >&5
$as_echo_n "checking for fscrypt_free_dummy_policy... " >&6; }
if ${lb_cv_test_fscrypt_free_dummy_policy+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_fscrypt_free_dummy_policy=yes
else
  lb_cv_test_fscrypt_free_dummy_policy=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_fscrypt_free_dummy_policy" >&5
$as_echo "$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 :

$as_echo "#define HAVE_FSCRYPT_DUMMY_POLICY 1" >>confdefs.h


fi




	# 5.10

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if fscrypt_is_no_key_name() exists" >&5
$as_echo_n "checking if fscrypt_is_no_key_name() exists... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for fscrypt_is_no_key_name was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fscrypt_is_no_key_name" >&5
$as_echo_n "checking for fscrypt_is_no_key_name... " >&6; }
if ${lb_cv_test_fscrypt_is_no_key_name+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_fscrypt_is_no_key_name=yes
else
  lb_cv_test_fscrypt_is_no_key_name=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_fscrypt_is_no_key_name" >&5
$as_echo "$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 :

$as_echo "#define HAVE_FSCRYPT_IS_NOKEY_NAME 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if iter_file_splice_write() exists" >&5
$as_echo_n "checking if iter_file_splice_write() exists... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for iter_file_splice_write was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for iter_file_splice_write" >&5
$as_echo_n "checking for iter_file_splice_write... " >&6; }
if ${lb_cv_test_iter_file_splice_write+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_iter_file_splice_write=yes
else
  lb_cv_test_iter_file_splice_write=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_iter_file_splice_write" >&5
$as_echo "$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 :

$as_echo "#define HAVE_ITER_FILE_SPLICE_WRITE 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if fscrypt_prepare_readdir() exists" >&5
$as_echo_n "checking if fscrypt_prepare_readdir() exists... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for fscrypt_prepare_readdir was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fscrypt_prepare_readdir" >&5
$as_echo_n "checking for fscrypt_prepare_readdir... " >&6; }
if ${lb_cv_test_fscrypt_prepare_readdir+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_fscrypt_prepare_readdir=yes
else
  lb_cv_test_fscrypt_prepare_readdir=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_fscrypt_prepare_readdir" >&5
$as_echo "$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 :

$as_echo "#define HAVE_FSCRYPT_PREPARE_READDIR 1" >>confdefs.h


fi




	# 5.11

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'bio_set_dev' is available" >&5
$as_echo_n "checking if 'bio_set_dev' is available... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for bio_set_dev was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for bio_set_dev" >&5
$as_echo_n "checking for bio_set_dev... " >&6; }
if ${lb_cv_test_bio_set_dev+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_bio_set_dev=yes
else
  lb_cv_test_bio_set_dev=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_bio_set_dev" >&5
$as_echo "$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 :

$as_echo "#define HAVE_BIO_SET_DEV 1" >>confdefs.h


fi




	# 5.12

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'inode_operations' members have user namespace argument" >&5
$as_echo_n "checking if 'inode_operations' members have user namespace argument... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for inode_ops_has_user_namespace_argument was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inode_ops_has_user_namespace_argument" >&5
$as_echo_n "checking for inode_ops_has_user_namespace_argument... " >&6; }
if ${lb_cv_test_inode_ops_has_user_namespace_argument+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_inode_ops_has_user_namespace_argument=yes
else
  lb_cv_test_inode_ops_has_user_namespace_argument=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_inode_ops_has_user_namespace_argument" >&5
$as_echo "$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 :

$as_echo "#define HAVE_USER_NAMESPACE_ARG 1" >>confdefs.h


fi




        # 5.15

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'get_acl' has a rcu argument" >&5
$as_echo_n "checking if 'get_acl' has a rcu argument... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for get_acl_rcu_argument was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for get_acl_rcu_argument" >&5
$as_echo_n "checking for get_acl_rcu_argument... " >&6; }
if ${lb_cv_test_get_acl_rcu_argument+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_get_acl_rcu_argument=yes
else
  lb_cv_test_get_acl_rcu_argument=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_get_acl_rcu_argument" >&5
$as_echo "$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 :

$as_echo "#define HAVE_GET_ACL_RCU_ARG 1" >>confdefs.h


fi




	# 5.16

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if security_dentry_init_security() returns xattr name" >&5
$as_echo_n "checking if security_dentry_init_security() returns xattr name... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for security_dentry_init_security_xattr_name_arg was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for security_dentry_init_security_xattr_name_arg" >&5
$as_echo_n "checking for security_dentry_init_security_xattr_name_arg... " >&6; }
if ${lb_cv_test_security_dentry_init_security_xattr_name_arg+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_security_dentry_init_security_xattr_name_arg=yes
else
  lb_cv_test_security_dentry_init_security_xattr_name_arg=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_security_dentry_init_security_xattr_name_arg" >&5
$as_echo "$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 :

$as_echo "#define HAVE_SECURITY_DENTRY_INIT_WITH_XATTR_NAME_ARG 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'folio_memcg_lock' is defined" >&5
$as_echo_n "checking if 'folio_memcg_lock' is defined... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for folio_memcg_lock was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for folio_memcg_lock" >&5
$as_echo_n "checking for folio_memcg_lock... " >&6; }
if ${lb_cv_test_folio_memcg_lock+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_folio_memcg_lock=yes
else
  lb_cv_test_folio_memcg_lock=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_folio_memcg_lock" >&5
$as_echo "$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 :

$as_echo "#define HAVE_FOLIO_MEMCG_LOCK 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if kiocb->ki_complete() has 2 arguments" >&5
$as_echo_n "checking if kiocb->ki_complete() has 2 arguments... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for kiocb_ki_complete_2args was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for kiocb_ki_complete_2args" >&5
$as_echo_n "checking for kiocb_ki_complete_2args... " >&6; }
if ${lb_cv_test_kiocb_ki_complete_2args+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_kiocb_ki_complete_2args=yes
else
  lb_cv_test_kiocb_ki_complete_2args=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_kiocb_ki_complete_2args" >&5
$as_echo "$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 :

$as_echo "#define HAVE_KIOCB_COMPLETE_2ARGS 1" >>confdefs.h


fi





{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux kernel exports 'folio_memcg_lock'" >&5
$as_echo_n "checking if Linux kernel exports 'folio_memcg_lock'... " >&6; }
if ${lb_cv_export_folio_memcg_lock+:} false; then :
  $as_echo_n "(cached) " >&6
else

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
  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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_export_folio_memcg_lock" >&5
$as_echo "$lb_cv_export_folio_memcg_lock" >&6; }
if test "x$lb_cv_export_folio_memcg_lock" = xyes; then :

$as_echo "#define FOLIO_MEMCG_LOCK_EXPORTED 1" >>confdefs.h

fi



{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Linux kernel exports 'delete_from_page_cache'" >&5
$as_echo_n "checking if Linux kernel exports 'delete_from_page_cache'... " >&6; }
if ${lb_cv_export_delete_from_page_cache+:} false; then :
  $as_echo_n "(cached) " >&6
else

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
  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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_export_delete_from_page_cache" >&5
$as_echo "$lb_cv_export_delete_from_page_cache" >&6; }
if test "x$lb_cv_export_delete_from_page_cache" = xyes; then :

$as_echo "#define HAVE_DELETE_FROM_PAGE_CACHE 1" >>confdefs.h

fi


	# 5.17

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if have address_spaace_operaions->invalidate_folio() member" >&5
$as_echo_n "checking if have address_spaace_operaions->invalidate_folio() member... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for address_spaace_operaions_invalidate_folio was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for address_spaace_operaions_invalidate_folio" >&5
$as_echo_n "checking for address_spaace_operaions_invalidate_folio... " >&6; }
if ${lb_cv_test_address_spaace_operaions_invalidate_folio+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_address_spaace_operaions_invalidate_folio=yes
else
  lb_cv_test_address_spaace_operaions_invalidate_folio=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_address_spaace_operaions_invalidate_folio" >&5
$as_echo "$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 :

$as_echo "#define HAVE_INVALIDATE_FOLIO 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if have address_spaace_operaions->dirty_folio() member" >&5
$as_echo_n "checking if have address_spaace_operaions->dirty_folio() member... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for address_spaace_operaions_dirty_folio was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for address_spaace_operaions_dirty_folio" >&5
$as_echo_n "checking for address_spaace_operaions_dirty_folio... " >&6; }
if ${lb_cv_test_address_spaace_operaions_dirty_folio+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_address_spaace_operaions_dirty_folio=yes
else
  lb_cv_test_address_spaace_operaions_dirty_folio=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_address_spaace_operaions_dirty_folio" >&5
$as_echo "$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 :

$as_echo "#define HAVE_DIRTY_FOLIO 1" >>confdefs.h


fi




	# 5.18

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if alloc_inode_sb() exists" >&5
$as_echo_n "checking if alloc_inode_sb() exists... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for alloc_inode_sb was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloc_inode_sb" >&5
$as_echo_n "checking for alloc_inode_sb... " >&6; }
if ${lb_cv_test_alloc_inode_sb+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_alloc_inode_sb=yes
else
  lb_cv_test_alloc_inode_sb=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_alloc_inode_sb" >&5
$as_echo "$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 :

$as_echo "#define HAVE_ALLOC_INODE_SB 1" >>confdefs.h


fi




	# 5.19

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if grab_cache_page_write_begin() has flags argument" >&5
$as_echo_n "checking if grab_cache_page_write_begin() has flags argument... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for grab_cache_page_write_begin_with_flags was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grab_cache_page_write_begin_with_flags" >&5
$as_echo_n "checking for grab_cache_page_write_begin_with_flags... " >&6; }
if ${lb_cv_test_grab_cache_page_write_begin_with_flags+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_grab_cache_page_write_begin_with_flags=yes
else
  lb_cv_test_grab_cache_page_write_begin_with_flags=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_grab_cache_page_write_begin_with_flags" >&5
$as_echo "$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 :

$as_echo "#define HAVE_GRAB_CACHE_PAGE_WRITE_BEGIN_WITH_FLAGS 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if struct address_space_operations() has read_folio()" >&5
$as_echo_n "checking if struct address_space_operations() has read_folio()... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for address_space_operations_read_folio was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for address_space_operations_read_folio" >&5
$as_echo_n "checking for address_space_operations_read_folio... " >&6; }
if ${lb_cv_test_address_space_operations_read_folio+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_address_space_operations_read_folio=yes
else
  lb_cv_test_address_space_operations_read_folio=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_address_space_operations_read_folio" >&5
$as_echo "$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 :

$as_echo "#define HAVE_AOPS_READ_FOLIO 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if read_cache_page() filler_t needs struct file" >&5
$as_echo_n "checking if read_cache_page() filler_t needs struct file... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for read_cache_page_filler_with_file was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for read_cache_page_filler_with_file" >&5
$as_echo_n "checking for read_cache_page_filler_with_file... " >&6; }
if ${lb_cv_test_read_cache_page_filler_with_file+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_read_cache_page_filler_with_file=yes
else
  lb_cv_test_read_cache_page_filler_with_file=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_read_cache_page_filler_with_file" >&5
$as_echo "$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 :

$as_echo "#define HAVE_READ_CACHE_PAGE_WANTS_FILE 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if struct address_space_operations() has release_folio()" >&5
$as_echo_n "checking if struct address_space_operations() has release_folio()... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for address_space_operations_release_folio was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for address_space_operations_release_folio" >&5
$as_echo_n "checking for address_space_operations_release_folio... " >&6; }
if ${lb_cv_test_address_space_operations_release_folio+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_address_space_operations_release_folio=yes
else
  lb_cv_test_address_space_operations_release_folio=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_address_space_operations_release_folio" >&5
$as_echo "$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 :

$as_echo "#define HAVE_AOPS_RELEASE_FOLIO 1" >>confdefs.h


fi




	# 6.0

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if no_llseek() is available" >&5
$as_echo_n "checking if no_llseek() is available... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for no_llseek was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for no_llseek" >&5
$as_echo_n "checking for no_llseek... " >&6; }
if ${lb_cv_test_no_llseek+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_no_llseek=yes
else
  lb_cv_test_no_llseek=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_no_llseek" >&5
$as_echo "$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 :

$as_echo "#define HAVE_NO_LLSEEK 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if dquot_transfer() has user_ns argument" >&5
$as_echo_n "checking if dquot_transfer() has user_ns argument... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for dquot_transfer was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dquot_transfer" >&5
$as_echo_n "checking for dquot_transfer... " >&6; }
if ${lb_cv_test_dquot_transfer+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_dquot_transfer=yes
else
  lb_cv_test_dquot_transfer=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_dquot_transfer" >&5
$as_echo "$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 :

$as_echo "#define HAVE_DQUOT_TRANSFER_WITH_USER_NS 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if struct address_space_operations() has migrate_folio()" >&5
$as_echo_n "checking if struct address_space_operations() has migrate_folio()... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for address_space_operations_migrate_folio was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for address_space_operations_migrate_folio" >&5
$as_echo_n "checking for address_space_operations_migrate_folio... " >&6; }
if ${lb_cv_test_address_space_operations_migrate_folio+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_address_space_operations_migrate_folio=yes
else
  lb_cv_test_address_space_operations_migrate_folio=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_address_space_operations_migrate_folio" >&5
$as_echo "$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 :

$as_echo "#define HAVE_AOPS_MIGRATE_FOLIO 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if register_shrinker() returns status" >&5
$as_echo_n "checking if register_shrinker() returns status... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for address_space_operations_migrate_folio was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for address_space_operations_migrate_folio" >&5
$as_echo_n "checking for address_space_operations_migrate_folio... " >&6; }
if ${lb_cv_test_address_space_operations_migrate_folio+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_address_space_operations_migrate_folio=yes
else
  lb_cv_test_address_space_operations_migrate_folio=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_address_space_operations_migrate_folio" >&5
$as_echo "$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 :

$as_echo "#define HAVE_REGISTER_SHRINKER_FORMAT_NAMED 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if vfs_setxattr() value argument is non-const" >&5
$as_echo_n "checking if vfs_setxattr() value argument is non-const... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for vfs_setxattr_non_const_value_arg was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for vfs_setxattr_non_const_value_arg" >&5
$as_echo_n "checking for vfs_setxattr_non_const_value_arg... " >&6; }
if ${lb_cv_test_vfs_setxattr_non_const_value_arg+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_vfs_setxattr_non_const_value_arg=yes
else
  lb_cv_test_vfs_setxattr_non_const_value_arg=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_vfs_setxattr_non_const_value_arg" >&5
$as_echo "$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 :

$as_echo "#define VFS_SETXATTR_VALUE(value) (value)" >>confdefs.h


else

$as_echo "#define VFS_SETXATTR_VALUE(value) ((void *)(value))" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if iov_iter_get_pages_alloc2() is available" >&5
$as_echo_n "checking if iov_iter_get_pages_alloc2() is available... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for iov_iter_get_pages_alloc2 was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for iov_iter_get_pages_alloc2" >&5
$as_echo_n "checking for iov_iter_get_pages_alloc2... " >&6; }
if ${lb_cv_test_iov_iter_get_pages_alloc2+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_iov_iter_get_pages_alloc2=yes
else
  lb_cv_test_iov_iter_get_pages_alloc2=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_iov_iter_get_pages_alloc2" >&5
$as_echo "$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 :

$as_echo "#define HAVE_IOV_ITER_GET_PAGES_ALLOC2 1" >>confdefs.h


fi




	# 6.4

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'iov_iter_iovec' is available" >&5
$as_echo_n "checking if 'iov_iter_iovec' is available... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for iov_iter_iovec_exists was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for iov_iter_iovec_exists" >&5
$as_echo_n "checking for iov_iter_iovec_exists... " >&6; }
if ${lb_cv_test_iov_iter_iovec_exists+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_iov_iter_iovec_exists=yes
else
  lb_cv_test_iov_iter_iovec_exists=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_iov_iter_iovec_exists" >&5
$as_echo "$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 :

$as_echo "#define HAVE_IOV_ITER_IOVEC 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'iov_iter_iovec' is available" >&5
$as_echo_n "checking if 'iov_iter_iovec' is available... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for iov_iter_has___iov_member was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for iov_iter_has___iov_member" >&5
$as_echo_n "checking for iov_iter_has___iov_member... " >&6; }
if ${lb_cv_test_iov_iter_has___iov_member+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_iov_iter_has___iov_member=yes
else
  lb_cv_test_iov_iter_has___iov_member=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_iov_iter_has___iov_member" >&5
$as_echo "$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 :

$as_echo "#define HAVE___IOV_MEMBER __iov" >>confdefs.h


$as_echo "#define HAVE_ITER_IOV 1" >>confdefs.h


else

$as_echo "#define iter_iov(iter) (iter)->__iov" >>confdefs.h


$as_echo "#define __iov iov" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'class_create' does not have module arg" >&5
$as_echo_n "checking if 'class_create' does not have module arg... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for class_create_without_module_arg was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for class_create_without_module_arg" >&5
$as_echo_n "checking for class_create_without_module_arg... " >&6; }
if ${lb_cv_test_class_create_without_module_arg+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_class_create_without_module_arg=yes
else
  lb_cv_test_class_create_without_module_arg=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_class_create_without_module_arg" >&5
$as_echo "$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 :

$as_echo "#define ll_class_create(name) class_create((name))" >>confdefs.h


else

$as_echo "#define ll_class_create(name) class_create(THIS_MODULE, (name))" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'get_expiry' needs a time64_t arg" >&5
$as_echo_n "checking if 'get_expiry' needs a time64_t arg... " >&6; }

	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/get_expiry_with_time64_t_pc
	O=${T}/get_expiry_with_time64_t_pc
	if test -d ${T}; then :

		# test source exists, was the compile test run?
		if test -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"get_expiry_with_time64_t\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for get_expiry_with_time64_t was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for get_expiry_with_time64_t" >&5
$as_echo_n "checking for get_expiry_with_time64_t... " >&6; }
if ${lb_cv_test_get_expiry_with_time64_t+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_get_expiry_with_time64_t=yes
else
  lb_cv_test_get_expiry_with_time64_t=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_get_expiry_with_time64_t" >&5
$as_echo "$lb_cv_test_get_expiry_with_time64_t" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_get_expiry_with_time64_t" = xyes; then :

$as_echo "#define HAVE_GET_EXPIRY_2ARGS 1" >>confdefs.h


fi




	# 6.1

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if get_random_u32() and get_random_u64() are available" >&5
$as_echo_n "checking if get_random_u32() and get_random_u64() are available... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for get_random_u32_and_u64 was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for get_random_u32_and_u64" >&5
$as_echo_n "checking for get_random_u32_and_u64... " >&6; }
if ${lb_cv_test_get_random_u32_and_u64+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_get_random_u32_and_u64=yes
else
  lb_cv_test_get_random_u32_and_u64=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_get_random_u32_and_u64" >&5
$as_echo "$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 :

$as_echo "#define HAVE_GET_RANDOM_U32_AND_U64 1" >>confdefs.h


else

$as_echo "#define get_random_u32() prandom_u32()" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if filldir_t uses struct dir_context and returns bool" >&5
$as_echo_n "checking if filldir_t uses struct dir_context and returns bool... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for filldir_ctx_return_bool was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for filldir_ctx_return_bool" >&5
$as_echo_n "checking for filldir_ctx_return_bool... " >&6; }
if ${lb_cv_test_filldir_ctx_return_bool+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_filldir_ctx_return_bool=yes
else
  lb_cv_test_filldir_ctx_return_bool=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_filldir_ctx_return_bool" >&5
$as_echo "$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 :

$as_echo "#define HAVE_FILLDIR_USE_CTX_RETURN_BOOL 1" >>confdefs.h


$as_echo "#define HAVE_FILLDIR_USE_CTX 1" >>confdefs.h


$as_echo "#define FILLDIR_TYPE bool" >>confdefs.h


else

$as_echo "#define FILLDIR_TYPE int" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if filemap_get_folios_contig() is available" >&5
$as_echo_n "checking if filemap_get_folios_contig() is available... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for filemap_get_folios_contig was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for filemap_get_folios_contig" >&5
$as_echo_n "checking for filemap_get_folios_contig... " >&6; }
if ${lb_cv_test_filemap_get_folios_contig+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_filemap_get_folios_contig=yes
else
  lb_cv_test_filemap_get_folios_contig=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_filemap_get_folios_contig" >&5
$as_echo "$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 :

$as_echo "#define HAVE_FILEMAP_GET_FOLIOS_CONTIG 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if inode_operations has .get_inode_acl member function" >&5
$as_echo_n "checking if inode_operations has .get_inode_acl member function... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for inode_ops_get_inode_acl was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inode_ops_get_inode_acl" >&5
$as_echo_n "checking for inode_ops_get_inode_acl... " >&6; }
if ${lb_cv_test_inode_ops_get_inode_acl+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_inode_ops_get_inode_acl=yes
else
  lb_cv_test_inode_ops_get_inode_acl=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_inode_ops_get_inode_acl" >&5
$as_echo "$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 :

$as_echo "#define HAVE_IOP_GET_INODE_ACL 1" >>confdefs.h


fi




	# 6.8

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if sruct dentry has d_children member" >&5
$as_echo_n "checking if sruct dentry has d_children member... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for dentry_d_children was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dentry_d_children" >&5
$as_echo_n "checking for dentry_d_children... " >&6; }
if ${lb_cv_test_dentry_d_children+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_dentry_d_children=yes
else
  lb_cv_test_dentry_d_children=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_dentry_d_children" >&5
$as_echo "$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 :

$as_echo "#define HAVE_DENTRY_D_CHILDREN 1" >>confdefs.h


fi




	# 6.3

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'inode_operations' members have mnt_idmap argument" >&5
$as_echo_n "checking if 'inode_operations' members have mnt_idmap argument... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for inode_ops_getattr_has_mnt_idmap_argument was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inode_ops_getattr_has_mnt_idmap_argument" >&5
$as_echo_n "checking for inode_ops_getattr_has_mnt_idmap_argument... " >&6; }
if ${lb_cv_test_inode_ops_getattr_has_mnt_idmap_argument+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_inode_ops_getattr_has_mnt_idmap_argument=yes
else
  lb_cv_test_inode_ops_getattr_has_mnt_idmap_argument=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_inode_ops_getattr_has_mnt_idmap_argument" >&5
$as_echo "$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 :

$as_echo "#define HAVE_MNT_IDMAP_ARG 1" >>confdefs.h


$as_echo "#define HAVE_USER_NAMESPACE_ARG 1" >>confdefs.h


$as_echo "#define HAVE_DQUOT_TRANSFER_WITH_USER_NS 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'locks_lock_file_wait' exists in filelock.h" >&5
$as_echo_n "checking if 'locks_lock_file_wait' exists in filelock.h... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for locks_lock_file_wait_in_filelock was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for locks_lock_file_wait_in_filelock" >&5
$as_echo_n "checking for locks_lock_file_wait_in_filelock... " >&6; }
if ${lb_cv_test_locks_lock_file_wait_in_filelock+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_locks_lock_file_wait_in_filelock=yes
else
  lb_cv_test_locks_lock_file_wait_in_filelock=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_locks_lock_file_wait_in_filelock" >&5
$as_echo "$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 :

$as_echo "#define HAVE_LOCKS_LOCK_FILE_WAIT 1" >>confdefs.h


$as_echo "#define HAVE_LINUX_FILELOCK_HEADER 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'kernel_cap_t' has u64 val" >&5
$as_echo_n "checking if 'kernel_cap_t' has u64 val... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for kernel_cap_t_has_u64_value was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for kernel_cap_t_has_u64_value" >&5
$as_echo_n "checking for kernel_cap_t_has_u64_value... " >&6; }
if ${lb_cv_test_kernel_cap_t_has_u64_value+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_kernel_cap_t_has_u64_value=yes
else
  lb_cv_test_kernel_cap_t_has_u64_value=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_kernel_cap_t_has_u64_value" >&5
$as_echo "$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 :

$as_echo "#define HAVE_U64_CAPABILITY 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'folio_batch_reinit' is available" >&5
$as_echo_n "checking if 'folio_batch_reinit' is available... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for folio_batch_reinit_exists was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for folio_batch_reinit_exists" >&5
$as_echo_n "checking for folio_batch_reinit_exists... " >&6; }
if ${lb_cv_test_folio_batch_reinit_exists+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_folio_batch_reinit_exists=yes
else
  lb_cv_test_folio_batch_reinit_exists=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_folio_batch_reinit_exists" >&5
$as_echo "$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 :

$as_echo "#define HAVE_FOLIO_BATCH_REINIT 1" >>confdefs.h


fi




	# 6.5

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'filemap_splice_read' is available" >&5
$as_echo_n "checking if 'filemap_splice_read' is available... " >&6; }

	TEST_DIR=${TEST_DIR:-${ac_pwd}/_lpb}

	D="$(realpath ${TEST_DIR})"
	T=${D}/filemap_splice_read_pc
	O=${T}/filemap_splice_read_pc
	if test -d ${T}; then :

		# test source exists, was the compile test run?
		if test -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# test source does not exist:
		as_fn_error $? "
*** No matching source for the \"filemap_splice_read\" test, check that
*** both the test source and result macros refer to the same name.
		" "$LINENO" 5

fi
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for filemap_splice_read was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for filemap_splice_read" >&5
$as_echo_n "checking for filemap_splice_read... " >&6; }
if ${lb_cv_test_filemap_splice_read+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_filemap_splice_read=yes
else
  lb_cv_test_filemap_splice_read=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_filemap_splice_read" >&5
$as_echo "$lb_cv_test_filemap_splice_read" >&6; }
	# Read the variable and run the caller's actions for yes (arg2) or no (arg3)
	if test "x$lb_cv_test_filemap_splice_read" = xyes; then :

$as_echo "#define HAVE_FILEMAP_SPLICE_READ 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if enum iter_type has member 'iter_pipe'" >&5
$as_echo_n "checking if enum iter_type has member 'iter_pipe'... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for enum_iter_type_iter_pipe was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for enum_iter_type_iter_pipe" >&5
$as_echo_n "checking for enum_iter_type_iter_pipe... " >&6; }
if ${lb_cv_test_enum_iter_type_iter_pipe+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_enum_iter_type_iter_pipe=yes
else
  lb_cv_test_enum_iter_type_iter_pipe=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_enum_iter_type_iter_pipe" >&5
$as_echo "$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 :

$as_echo "#define HAVE_ENUM_ITER_PIPE 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if get_user_pages removed 'vma' parameter" >&5
$as_echo_n "checking if get_user_pages removed 'vma' parameter... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for get_user_pages_without_vma was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for get_user_pages_without_vma" >&5
$as_echo_n "checking for get_user_pages_without_vma... " >&6; }
if ${lb_cv_test_get_user_pages_without_vma+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_get_user_pages_without_vma=yes
else
  lb_cv_test_get_user_pages_without_vma=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_get_user_pages_without_vma" >&5
$as_echo "$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 :

$as_echo "#define HAVE_GET_USER_PAGES_WITHOUT_VMA 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'struct folio_batch' is available" >&5
$as_echo_n "checking if 'struct folio_batch' is available... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for struct_folio_batch_exists was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct_folio_batch_exists" >&5
$as_echo_n "checking for struct_folio_batch_exists... " >&6; }
if ${lb_cv_test_struct_folio_batch_exists+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_struct_folio_batch_exists=yes
else
  lb_cv_test_struct_folio_batch_exists=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_struct_folio_batch_exists" >&5
$as_echo "$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 :

$as_echo "#define HAVE_FOLIO_BATCH 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'struct pagevec' is available" >&5
$as_echo_n "checking if 'struct pagevec' is available... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for struct_pagevec_exists was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct_pagevec_exists" >&5
$as_echo_n "checking for struct_pagevec_exists... " >&6; }
if ${lb_cv_test_struct_pagevec_exists+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_struct_pagevec_exists=yes
else
  lb_cv_test_struct_pagevec_exists=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_struct_pagevec_exists" >&5
$as_echo "$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 :

$as_echo "#define HAVE_PAGEVEC 1" >>confdefs.h


fi




	# 6.2

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if get_random_u32_below()is available" >&5
$as_echo_n "checking if get_random_u32_below()is available... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for get_random_u32_below was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for get_random_u32_below" >&5
$as_echo_n "checking for get_random_u32_below... " >&6; }
if ${lb_cv_test_get_random_u32_below+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_get_random_u32_below=yes
else
  lb_cv_test_get_random_u32_below=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_get_random_u32_below" >&5
$as_echo "$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 :

$as_echo "#define HAVE_GET_RANDOM_U32_BELOW 1" >>confdefs.h


else

$as_echo "#define get_random_u32_below(v) prandom_u32_max(v)" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'get_acl' and 'set_acl' use dentry argument" >&5
$as_echo_n "checking if 'get_acl' and 'set_acl' use dentry argument... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for acl_with_dentry was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for acl_with_dentry" >&5
$as_echo_n "checking for acl_with_dentry... " >&6; }
if ${lb_cv_test_acl_with_dentry+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_acl_with_dentry=yes
else
  lb_cv_test_acl_with_dentry=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_acl_with_dentry" >&5
$as_echo "$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 :

$as_echo "#define HAVE_ACL_WITH_DENTRY 1" >>confdefs.h


fi




	# 6.6

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'flush_scheduled_work()' throws warning" >&5
$as_echo_n "checking if 'flush_scheduled_work()' throws warning... " >&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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for flush_scheduled_work_warning was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for flush_scheduled_work_warning" >&5
$as_echo_n "checking for flush_scheduled_work_warning... " >&6; }
if ${lb_cv_test_flush_scheduled_work_warning+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_flush_scheduled_work_warning=yes
else
  lb_cv_test_flush_scheduled_work_warning=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_flush_scheduled_work_warning" >&5
$as_echo "$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 :

$as_echo "#define HAVE_FLUSH___WORKQUEUE 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'inode_get_ctime()' exists" >&5
$as_echo_n "checking if 'inode_get_ctime()' exists... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for inode_get_ctime_exists was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inode_get_ctime_exists" >&5
$as_echo_n "checking for inode_get_ctime_exists... " >&6; }
if ${lb_cv_test_inode_get_ctime_exists+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_inode_get_ctime_exists=yes
else
  lb_cv_test_inode_get_ctime_exists=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_inode_get_ctime_exists" >&5
$as_echo "$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 :

$as_echo "#define HAVE_INODE_GET_CTIME 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'mmap_write_trylock()' is available" >&5
$as_echo_n "checking if 'mmap_write_trylock()' is available... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for mmap_write_trylock_removed was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for mmap_write_trylock_removed" >&5
$as_echo_n "checking for mmap_write_trylock_removed... " >&6; }
if ${lb_cv_test_mmap_write_trylock_removed+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_mmap_write_trylock_removed=yes
else
  lb_cv_test_mmap_write_trylock_removed=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_mmap_write_trylock_removed" >&5
$as_echo "$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 :

$as_echo "#define HAVE_MMAP_WRITE_TRYLOCK 1" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'generic_fillattr()' has request_mask argument" >&5
$as_echo_n "checking if 'generic_fillattr()' has request_mask argument... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for generic_fillattr_has_request_mask_arg was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for generic_fillattr_has_request_mask_arg" >&5
$as_echo_n "checking for generic_fillattr_has_request_mask_arg... " >&6; }
if ${lb_cv_test_generic_fillattr_has_request_mask_arg+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_generic_fillattr_has_request_mask_arg=yes
else
  lb_cv_test_generic_fillattr_has_request_mask_arg=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_generic_fillattr_has_request_mask_arg" >&5
$as_echo "$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 :

$as_echo "#define HAVE_GENERIC_FILEATTR_HAS_MASK_ARG 1" >>confdefs.h


$as_echo "#define RQMASK_ARG 0," >>confdefs.h


else

$as_echo "#define RQMASK_ARG /**/" >>confdefs.h


fi




	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'struct nsproxy.count' is refcount_t" >&5
$as_echo_n "checking if 'struct nsproxy.count' is refcount_t... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for struct_nsproxy_count_refcount_t was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct_nsproxy_count_refcount_t" >&5
$as_echo_n "checking for struct_nsproxy_count_refcount_t... " >&6; }
if ${lb_cv_test_struct_nsproxy_count_refcount_t+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_struct_nsproxy_count_refcount_t=yes
else
  lb_cv_test_struct_nsproxy_count_refcount_t=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_struct_nsproxy_count_refcount_t" >&5
$as_echo "$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 :

$as_echo "#define HAVE_NSPROXY_COUNT_AS_REFCOUNT 1" >>confdefs.h


fi




	# 6.7

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'inode_get_mtime()' exists" >&5
$as_echo_n "checking if 'inode_get_mtime()' exists... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for inode_get_mtime_exists was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inode_get_mtime_exists" >&5
$as_echo_n "checking for inode_get_mtime_exists... " >&6; }
if ${lb_cv_test_inode_get_mtime_exists+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_inode_get_mtime_exists=yes
else
  lb_cv_test_inode_get_mtime_exists=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_inode_get_mtime_exists" >&5
$as_echo "$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 :

$as_echo "#define HAVE_INODE_GET_MTIME_SEC 1" >>confdefs.h


fi




	# kernel patch to extend integrity interface

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'bio_integrity_prep_fn' exists" >&5
$as_echo_n "checking if 'bio_integrity_prep_fn' exists... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for bio_integrity_prep_fn was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for bio_integrity_prep_fn" >&5
$as_echo_n "checking for bio_integrity_prep_fn... " >&6; }
if ${lb_cv_test_bio_integrity_prep_fn+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_bio_integrity_prep_fn=yes
else
  lb_cv_test_bio_integrity_prep_fn=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_bio_integrity_prep_fn" >&5
$as_echo "$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 :

$as_echo "#define HAVE_BIO_INTEGRITY_PREP_FN 1" >>confdefs.h



else
  PATCHED_INTEGRITY_INTF=#


fi




			if test "x$enable_zfs" = xyes; then :


		{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if ZFS nvlist interfaces require const" >&5
$as_echo_n "checking if ZFS nvlist interfaces require const... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for zfs_nvpair_const was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for zfs_nvpair_const" >&5
$as_echo_n "checking for zfs_nvpair_const... " >&6; }
if ${lb_cv_test_zfs_nvpair_const+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_zfs_nvpair_const=yes
else
  lb_cv_test_zfs_nvpair_const=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_zfs_nvpair_const" >&5
$as_echo "$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 :

$as_echo "#define HAVE_ZFS_NVLIST_CONST_INTERFACES 1" >>confdefs.h


fi




		{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if ZFS arc_prune_func_t uses uint64_t" >&5
$as_echo_n "checking if ZFS arc_prune_func_t uses uint64_t... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for zfs_arc_prune_func_uint64 was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for zfs_arc_prune_func_uint64" >&5
$as_echo_n "checking for zfs_arc_prune_func_uint64... " >&6; }
if ${lb_cv_test_zfs_arc_prune_func_uint64+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_zfs_arc_prune_func_uint64=yes
else
  lb_cv_test_zfs_arc_prune_func_uint64=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_zfs_arc_prune_func_uint64" >&5
$as_echo "$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 :

$as_echo "#define HAVE_ZFS_ARC_PRUNE_FUNC_UINT64 1" >>confdefs.h


fi




		{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if dmu_buf_will_fill() has 3 args" >&5
$as_echo_n "checking if dmu_buf_will_fill() has 3 args... " >&6; }

	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 -f ${O}.tested; then :

			# compile test was run.

else

			# compile test was NOT run. Re-compile everything.
			{ $as_echo "$as_me:${as_lineno-$LINENO}: ** Rebuilding all tests **" >&5
$as_echo "$as_me: ** Rebuilding all tests **" >&6;}

			J=${TEST_JOBS:-$(nproc)}
			for mf in $(ls -1 ${TEST_DIR}/Makefile.compile.*); do
				ln -sf $mf ${D}/Makefile
				KBUILD_MODPOST_NOFINAL="yes"
				make modules -k -j${J} -C $LINUX_OBJ $ARCH_UM M=${D} >> rebuild.log 2>&1

				for dir in $(awk '/^obj-m/ { print $3 }' ${D}/$mf); do
					name=${dir%/}
					{ $as_echo "$as_me:${as_lineno-$LINENO}: touch ${D}/$name/$name.tested" >&5
$as_echo "$as_me: touch ${D}/$name/$name.tested" >&6;}
					touch ${D}/$name/$name.tested
				done
				rm ${D}/Makefile
			done
			# compile test was NOT run. Re-compile everything.

fi

else

		# 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
	# Abort if key does not exist
	if test -f ${O}.tested; then :

else
  as_fn_error $? "*** Compile test for dmu_buf_will_fill_3args was not run." "$LINENO" 5
fi
	# If test was compiled and if we got an object ...
	if test -f ${O}.o; then :
  touch ${O}.ko
fi
	# key is valid. Cache should be valid, set the variable
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dmu_buf_will_fill_3args" >&5
$as_echo_n "checking for dmu_buf_will_fill_3args... " >&6; }
if ${lb_cv_test_dmu_buf_will_fill_3args+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -f ${O}.ko; then :
  lb_cv_test_dmu_buf_will_fill_3args=yes
else
  lb_cv_test_dmu_buf_will_fill_3args=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_test_dmu_buf_will_fill_3args" >&5
$as_echo "$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 :

$as_echo "#define HAVE_DMU_BUF_WILL_FILL_3ARGS 1" >>confdefs.h


$as_echo "#define LL_BFILL , B_FALSE" >>confdefs.h


else

$as_echo "#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

		if test x$enable_server = xmaybe; then :
  enable_server=yes
fi

fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build Lustre server support" >&5
$as_echo_n "checking whether to build Lustre server support... " >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_server" >&5
$as_echo "$enable_server" >&6; }
if test x$enable_server = xyes; then :


$as_echo "#define HAVE_SERVER_SUPPORT 1" >>confdefs.h

	ENABLE_SERVER=yes


else

	ENABLE_SERVER=no


fi


{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable Lustre client crypto" >&5
$as_echo_n "checking whether to enable Lustre client crypto... " >&6; }
# Check whether --enable-crypto was given.
if test "${enable_crypto+set}" = set; then :
  enableval=$enable_crypto;
else
  enable_crypto="auto"
fi

if test "x$enable_crypto" != xno -a "x$enable_dist" = xno; then :

	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5
$as_echo "" >&6; }


{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if IS_ENCRYPTED is defined" >&5
$as_echo_n "checking if IS_ENCRYPTED is defined... " >&6; }
if ${lb_cv_compile_is_encrypted+:} false; then :
  $as_echo_n "(cached) " >&6
else


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)
{

	IS_ENCRYPTED((struct inode *)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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_is_encrypted=yes
else
  $as_echo "$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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_is_encrypted" >&5
$as_echo "$lb_cv_compile_is_encrypted" >&6; }
if test "x$lb_cv_compile_is_encrypted" = xyes; then :

	has_is_encrypted="yes"

fi



{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fscrypt in-kernel support" >&5
$as_echo_n "checking for fscrypt in-kernel support... " >&6; }
if ${lb_cv_compile_fscrypt_support+:} false; then :
  $as_echo_n "(cached) " >&6
else


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=$?
  $as_echo "$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=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then :
  lb_cv_compile_fscrypt_support=yes
else
  $as_echo "$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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lb_cv_compile_fscrypt_support" >&5
$as_echo "$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 :


$as_echo "#define HAVE_LUSTRE_CRYPTO 1" >>confdefs.h

else

	      as_fn_error $? "Lustre client crypto cannot be enabled via in-kernel fscrypt." "$LINENO" 5
	      enable_crypto=no
fi
else
  if test "x$has_is_encrypted" = xyes; then :


$as_echo "#define HAVE_LUSTRE_CRYPTO 1" >>confdefs.h


$as_echo "#define CONFIG_LL_ENCRYPTION 1" >>confdefs.h


$as_echo "#define HAVE_FSCRYPT_DUMMY_CONTEXT_ENABLED 1" >>confdefs.h

	      enable_crypto="embedded llcrypt"
	      enable_llcrypt=yes
else

	      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 :
  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Lustre client crypto cannot be enabled because of lack of encryption support in your kernel." >&5
$as_echo "$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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_crypto" >&5
$as_echo "$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 :
  cat >>confdefs.h <<_ACEOF
#define HAVE_COPY_FILE_RANGE 1
_ACEOF

$as_echo "#define HAVE_COPY_FILE_RANGE 1" >>confdefs.h

else
  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: copy_file_range() is not supported" >&5
$as_echo "$as_me: WARNING: copy_file_range() is not supported" >&2;}
fi
done



{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL has functions needed for SSK" >&5
$as_echo_n "checking whether OpenSSL has functions needed for SSK... " >&6; }
if test "x$enable_ssk" != xno; then :

	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5
$as_echo "" >&6; }

has_hmac_functions="no"
saved_flags="$CFLAGS"
CFLAGS="$CFLAGS -Werror"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL has HMAC_Init_ex" >&5
$as_echo_n "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);
	}

_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :

	has_hmac_functions="yes"

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

fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $has_hmac_functions" >&5
$as_echo "$has_hmac_functions" >&6; }
CFLAGS="$saved_flags"


has_evp_pkey="no"
saved_flags="$CFLAGS"
CFLAGS="$CFLAGS -Werror"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL has EVP_PKEY_get_params" >&5
$as_echo_n "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);
	}

_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :


$as_echo "#define HAVE_OPENSSL_EVP_PKEY 1" >>confdefs.h

	has_evp_pkey="yes"

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

fi
CFLAGS="$saved_flags"
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $has_evp_pkey" >&5
$as_echo "$has_evp_pkey" >&6; }


fi
if test "x$has_hmac_functions" = xyes -o "x$has_evp_pkey" = xyes; then :


$as_echo "#define HAVE_OPENSSL_SSK 1" >>confdefs.h


else

	enable_ssk="no"

fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_ssk" >&5
$as_echo "$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="$CFLAGS -Werror"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether openssl-devel is present" >&5
$as_echo_n "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();
	}

_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :


$as_echo "#define HAVE_OPENSSL_GETSEPOL 1" >>confdefs.h

	enable_getsepol="yes"


else

	enable_getsepol="no"
	{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:

No openssl-devel headers found, unable to build l_getsepol and SELinux status checking
" >&5
$as_echo "$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.$ac_ext
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_getsepol" >&5
$as_echo "$enable_getsepol" >&6; }
CFLAGS="$saved_flags"


# Check whether --enable-l_getsepol was given.
if test "${enable_l_getsepol+set}" = set; then :
  enableval=$enable_l_getsepol; config_getsepol="no"
else
  config_getsepol="yes"
fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build l_getsepol" >&5
$as_echo_n "checking whether to build l_getsepol... " >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $config_getsepol" >&5
$as_echo "$config_getsepol" >&6; }


saved_flags="$CFLAGS"
CFLAGS="$CFLAGS -Werror"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'struct getinfo_fid2path' has anonymous union" >&5
$as_echo_n "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 :


$as_echo "#define HAVE_FID2PATH_ANON_UNIONS 1" >>confdefs.h

	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

else

	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }

fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
CFLAGS="$saved_flags"


fi
if test "x$enable_tests" = xyes; then :


	ac_fn_c_check_header_mongrel "$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_echo "$as_me:${as_lineno-$LINENO}: WARNING: libaio is not installed on the system" >&5
$as_echo "$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 :
  cat >>confdefs.h <<_ACEOF
#define HAVE_NAME_TO_HANDLE_AT 1
_ACEOF

$as_echo "#define HAVE_FHANDLE_GLIBC_SUPPORT 1" >>confdefs.h

else
  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: file handle and related syscalls are not supported" >&5
$as_echo "$as_me: WARNING: file handle and related syscalls are not supported" >&2;}
fi
done



fi


{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable CDEBUG, CWARN" >&5
$as_echo_n "checking whether to enable CDEBUG, CWARN... " >&6; }
# Check whether --enable-libcfs_cdebug was given.
if test "${enable_libcfs_cdebug+set}" = set; then :
  enableval=$enable_libcfs_cdebug;
else
  enable_libcfs_cdebug="yes"
fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_libcfs_cdebug" >&5
$as_echo "$enable_libcfs_cdebug" >&6; }
if test "x$enable_libcfs_cdebug" = xyes; then :


$as_echo "#define CDEBUG_ENABLED 1" >>confdefs.h

	ENABLE_LIBCFS_CDEBUG=yes


else

	ENABLE_LIBCFS_CDEBUG=no


fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable ENTRY/EXIT" >&5
$as_echo_n "checking whether to enable ENTRY/EXIT... " >&6; }
# Check whether --enable-libcfs_trace was given.
if test "${enable_libcfs_trace+set}" = set; then :
  enableval=$enable_libcfs_trace;
else
  enable_libcfs_trace="yes"
fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_libcfs_trace" >&5
$as_echo "$enable_libcfs_trace" >&6; }
if test "x$enable_libcfs_trace" = xyes; then :


$as_echo "#define CDEBUG_ENTRY_EXIT 1" >>confdefs.h

	ENABLE_LIBCFS_TRACE=yes


else

	ENABLE_LIBCFS_TRACE=no


fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable LASSERT, LASSERTF" >&5
$as_echo_n "checking whether to enable LASSERT, LASSERTF... " >&6; }
# Check whether --enable-libcfs_assert was given.
if test "${enable_libcfs_assert+set}" = set; then :
  enableval=$enable_libcfs_assert;
else
  enable_libcfs_assert="yes"
fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_libcfs_assert" >&5
$as_echo "$enable_libcfs_assert" >&6; }
if test x$enable_libcfs_assert = xyes; then :


$as_echo "#define LIBCFS_DEBUG 1" >>confdefs.h

	ENABLE_LIBCFS_ASSERT=yes


else

	ENABLE_LIBCFS_ASSERT=no


fi


#check global

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable quota support global control" >&5
$as_echo_n "checking whether to enable quota support global control... " >&6; }
# Check whether --enable-quota was given.
if test "${enable_quota+set}" = set; then :
  enableval=$enable_quota;
else
  enable_quota="yes"
fi

if test "x$enable_quota" = xyes; then :
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi

#check for utils
if test "x$enable_quota" != xno -a "x$enable_utils" != xno; then :

	ac_fn_c_check_header_mongrel "$LINENO" "sys/quota.h" "ac_cv_header_sys_quota_h" "$ac_includes_default"
if test "x$ac_cv_header_sys_quota_h" = xyes; then :

$as_echo "#define HAVE_SYS_QUOTA_H 1" >>confdefs.h

else
  as_fn_error $? "did not find <sys/quota.h> on your system" "$LINENO" 5
fi



fi


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

else

ac_fn_c_check_header_mongrel "$LINENO" "libmount/libmount.h" "ac_cv_header_libmount_libmount_h" "$ac_includes_default"
if test "x$ac_cv_header_libmount_libmount_h" = xyes; then :

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for mnt_update_set_fs in -lmount" >&5
$as_echo_n "checking for mnt_update_set_fs in -lmount... " >&6; }
if ${ac_cv_lib_mount_mnt_update_set_fs+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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.  */
#ifdef __cplusplus
extern "C"
#endif
char mnt_update_set_fs ();
int
main ()
{
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
  ac_cv_lib_mount_mnt_update_set_fs=no
fi
rm -f core conftest.err conftest.$ac_objext \
    conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mount_mnt_update_set_fs" >&5
$as_echo "$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
  with_libmount="no"
fi


else
  with_libmount="no"
fi


{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build with libmount" >&5
$as_echo_n "checking whether to build with libmount... " >&6; }
if test "x$with_libmount" = xyes; then :

	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

else

	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
	as_fn_error $? "libmount development package is required" "$LINENO" 5

fi

fi


as_lb_file=`$as_echo "lb_cv_file_$srcdir/snmp/lustre-snmp.c" | $as_tr_sh`
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $srcdir/snmp/lustre-snmp.c" >&5
$as_echo_n "checking for $srcdir/snmp/lustre-snmp.c... " >&6; }
if eval \${$as_lb_file+:} false; then :
  $as_echo_n "(cached) " >&6
else

if test -r "$srcdir/snmp/lustre-snmp.c"; then :
  eval "$as_lb_file=yes"
else
  eval "$as_lb_file=no"
fi

fi
eval ac_res=\$$as_lb_file
	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
if eval test \"x\$"$as_lb_file"\" = x"yes"; then :
  SNMP_DIST_SUBDIR="snmp"
fi




{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build iokit" >&5
$as_echo_n "checking whether to build iokit... " >&6; }
# Check whether --enable-iokit was given.
if test "${enable_iokit+set}" = set; then :
  enableval=$enable_iokit;
else
  enable_iokit="yes"
fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_iokit" >&5
$as_echo "$enable_iokit" >&6; }
if test "x$enable_iokit" = xyes; then :
  LUSTREIOKIT_SUBDIR="lustre-iokit"
else
  LUSTREIOKIT_SUBDIR=""
fi

 if test "x$enable_iokit" = xyes; then
  BUILD_LUSTREIOKIT_TRUE=
  BUILD_LUSTREIOKIT_FALSE='#'
else
  BUILD_LUSTREIOKIT_TRUE='#'
  BUILD_LUSTREIOKIT_FALSE=
fi




{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use alternate names for e2fsprogs" >&5
$as_echo_n "checking whether to use alternate names for e2fsprogs... " >&6; }

# Check whether --with-ldiskfsprogs was given.
if test "${with_ldiskfsprogs+set}" = set; then :
  withval=$with_ldiskfsprogs;
else
  withval="no"
fi


if test "x$withval" = xyes; then :

	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: enabled" >&5
$as_echo "enabled" >&6; }

$as_echo "#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_echo "$as_me:${as_lineno-$LINENO}: result: disabled" >&5
$as_echo "disabled" >&6; }
	E2FSPROGS="e2fsprogs"
	MKE2FS="mke2fs"
	DEBUGFS="debugfs"
	TUNE2FS="tune2fs"
	E2LABEL="e2label"
	DUMPE2FS="dumpe2fs"
	E2FSCK="e2fsck"
	PFSCK="fsck"

fi


cat >>confdefs.h <<_ACEOF
#define E2FSPROGS "$E2FSPROGS"
_ACEOF


cat >>confdefs.h <<_ACEOF
#define MKE2FS "$MKE2FS"
_ACEOF


cat >>confdefs.h <<_ACEOF
#define DEBUGFS "$DEBUGFS"
_ACEOF


cat >>confdefs.h <<_ACEOF
#define TUNE2FS "$TUNE2FS"
_ACEOF


cat >>confdefs.h <<_ACEOF
#define E2LABEL "$E2LABEL"
_ACEOF


cat >>confdefs.h <<_ACEOF
#define DUMPE2FS "$DUMPE2FS"
_ACEOF


cat >>confdefs.h <<_ACEOF
#define E2FSCK "$E2FSCK"
_ACEOF


cat >>confdefs.h <<_ACEOF
#define PFSCK "$PFSCK"
_ACEOF


E2FSPROGS=$E2FSPROGS

MKE2FS=$MKE2FS

DEBUGFS=$DEBUGFS

TUNE2FS=$TUNE2FS

E2LABEL=$E2LABEL

DUMPE2FS=$DUMPE2FS

E2FSCK=$E2FSCK

PFSCK=$PFSCK




{ $as_echo "$as_me:${as_lineno-$LINENO}: LibCFS core checks
==============================================================================" >&5
$as_echo "$as_me: LibCFS core checks
==============================================================================" >&6;}

# libcfs/libcfs/util/nidstrings.c
for ac_header in netdb.h asm/types.h endian.h
do :
  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
  cat >>confdefs.h <<_ACEOF
#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
_ACEOF

fi

done

for ac_func in gethostbyname
do :
  ac_fn_c_check_func "$LINENO" "gethostbyname" "ac_cv_func_gethostbyname"
if test "x$ac_cv_func_gethostbyname" = xyes; then :
  cat >>confdefs.h <<_ACEOF
#define HAVE_GETHOSTBYNAME 1
_ACEOF

fi
done


# --------  Check for required packages  --------------

{ $as_echo "$as_me:${as_lineno-$LINENO}: LibCFS required packages checks
==============================================================================" >&5
$as_echo "$as_me: LibCFS required packages checks
==============================================================================" >&6;}

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable readline support" >&5
$as_echo_n "checking whether to enable readline support... " >&6; }
# Check whether --enable-readline was given.
if test "${enable_readline+set}" = set; then :
  enableval=$enable_readline;
else
  enable_readline="yes"
fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_readline" >&5
$as_echo "$enable_readline" >&6; }

LIBREADLINE=""
if test "x$enable_readline" = xyes; then :

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for readline in -lreadline" >&5
$as_echo_n "checking for readline in -lreadline... " >&6; }
if ${ac_cv_lib_readline_readline+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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.  */
#ifdef __cplusplus
extern "C"
#endif
char readline ();
int
main ()
{
return readline ();
  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
  ac_cv_lib_readline_readline=yes
else
  ac_cv_lib_readline_readline=no
fi
rm -f core conftest.err conftest.$ac_objext \
    conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_readline_readline" >&5
$as_echo "$ac_cv_lib_readline_readline" >&6; }
if test "x$ac_cv_lib_readline_readline" = xyes; then :

		LIBREADLINE="-lreadline"

$as_echo "#define HAVE_LIBREADLINE 1" >>confdefs.h


fi


	ENABLE_READLINE=yes


else

	ENABLE_READLINE=no


fi


{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use libpthread for libcfs library" >&5
$as_echo_n "checking whether to use libpthread for libcfs library... " >&6; }
# Check whether --enable-libpthread was given.
if test "${enable_libpthread+set}" = set; then :
  enableval=$enable_libpthread;
else
  enable_libpthread="yes"
fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_libpthread" >&5
$as_echo "$enable_libpthread" >&6; }

PTHREAD_LIBS=""
if test "x$enable_libpthread" = xyes; then :

	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_create in -lpthread" >&5
$as_echo_n "checking for pthread_create in -lpthread... " >&6; }
if ${ac_cv_lib_pthread_pthread_create+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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.  */
#ifdef __cplusplus
extern "C"
#endif
char pthread_create ();
int
main ()
{
return pthread_create ();
  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
  ac_cv_lib_pthread_pthread_create=yes
else
  ac_cv_lib_pthread_pthread_create=no
fi
rm -f core conftest.err conftest.$ac_objext \
    conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_create" >&5
$as_echo "$ac_cv_lib_pthread_pthread_create" >&6; }
if test "x$ac_cv_lib_pthread_pthread_create" = xyes; then :

		PTHREAD_LIBS="-lpthread"

$as_echo "#define HAVE_LIBPTHREAD 1" >>confdefs.h


fi


	ENABLE_LIBPTHREAD=yes


else

	ENABLE_LIBPTHREAD=no

	{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Using libpthread for libcfs library is disabled explicitly" >&5
$as_echo "$as_me: WARNING: Using libpthread for libcfs library is disabled explicitly" >&2;}

fi



{ $as_echo "$as_me:${as_lineno-$LINENO}: LNet core checks
==============================================================================" >&5
$as_echo "$as_me: LNet core checks
==============================================================================" >&6;}

# lnet/utils/lnetconfig/liblnetconfig_netlink.c
if test "x$enable_dist" = xno; then :


pkg_failed=no
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBNL3" >&5
$as_echo_n "checking for LIBNL3... " >&6; }

if test -n "$LIBNL3_CFLAGS"; then
    pkg_cv_LIBNL3_CFLAGS="$LIBNL3_CFLAGS"
 elif test -n "$PKG_CONFIG"; then
    if test -n "$PKG_CONFIG" && \
    { { $as_echo "$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=$?
  $as_echo "$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" && \
    { { $as_echo "$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=$?
  $as_echo "$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
   	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "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
     	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$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
        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }

fi

fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for nla_get_s32 in -lnl-3" >&5
$as_echo_n "checking for nla_get_s32 in -lnl-3... " >&6; }
if ${ac_cv_lib_nl_3_nla_get_s32+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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.  */
#ifdef __cplusplus
extern "C"
#endif
char nla_get_s32 ();
int
main ()
{
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
  ac_cv_lib_nl_3_nla_get_s32=no
fi
rm -f core conftest.err conftest.$ac_objext \
    conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nl_3_nla_get_s32" >&5
$as_echo "$ac_cv_lib_nl_3_nla_get_s32" >&6; }
if test "x$ac_cv_lib_nl_3_nla_get_s32" = xyes; then :


$as_echo "#define HAVE_NLA_GET_S32 1" >>confdefs.h


fi


{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for nla_get_s64 in -lnl-3" >&5
$as_echo_n "checking for nla_get_s64 in -lnl-3... " >&6; }
if ${ac_cv_lib_nl_3_nla_get_s64+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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.  */
#ifdef __cplusplus
extern "C"
#endif
char nla_get_s64 ();
int
main ()
{
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
  ac_cv_lib_nl_3_nla_get_s64=no
fi
rm -f core conftest.err conftest.$ac_objext \
    conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nl_3_nla_get_s64" >&5
$as_echo "$ac_cv_lib_nl_3_nla_get_s64" >&6; }
if test "x$ac_cv_lib_nl_3_nla_get_s64" = xyes; then :


$as_echo "#define HAVE_NLA_GET_S64 1" >>confdefs.h


fi


#
# LN_USR_NLMSGERR
#
 # LN_USR_NLMGSERR

# lnet/utils/portals.c
for ac_header in netdb.h
do :
  ac_fn_c_check_header_mongrel "$LINENO" "netdb.h" "ac_cv_header_netdb_h" "$ac_includes_default"
if test "x$ac_cv_header_netdb_h" = xyes; then :
  cat >>confdefs.h <<_ACEOF
#define HAVE_NETDB_H 1
_ACEOF

fi

done

for ac_func in gethostbyname
do :
  ac_fn_c_check_func "$LINENO" "gethostbyname" "ac_cv_func_gethostbyname"
if test "x$ac_cv_func_gethostbyname" = xyes; then :
  cat >>confdefs.h <<_ACEOF
#define HAVE_GETHOSTBYNAME 1
_ACEOF

fi
done


# lnet/utils/wirecheck.c
for ac_func in strnlen
do :
  ac_fn_c_check_func "$LINENO" "strnlen" "ac_cv_func_strnlen"
if test "x$ac_cv_func_strnlen" = xyes; then :
  cat >>confdefs.h <<_ACEOF
#define HAVE_STRNLEN 1
_ACEOF

fi
done


# --------  Check for required packages  --------------

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable 'efence' debugging support" >&5
$as_echo_n "checking whether to enable 'efence' debugging support... " >&6; }
# Check whether --enable-efence was given.
if test "${enable_efence+set}" = set; then :
  enableval=$enable_efence;
else
  enable_efence="no"
fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_efence" >&5
$as_echo "$enable_efence" >&6; }

LIBEFENCE=""
if test "$enable_efence" = yes; then :

	LIBEFENCE="-lefence"

$as_echo "#define HAVE_LIBEFENCE 1" >>confdefs.h

	ENABLE_EFENCE=yes


else

	ENABLE_EFENCE=no


fi



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

		{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for yaml_parser_initialize in -lyaml" >&5
$as_echo_n "checking for yaml_parser_initialize in -lyaml... " >&6; }
if ${ac_cv_lib_yaml_yaml_parser_initialize+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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.  */
#ifdef __cplusplus
extern "C"
#endif
char yaml_parser_initialize ();
int
main ()
{
return yaml_parser_initialize ();
  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
  ac_cv_lib_yaml_yaml_parser_initialize=yes
else
  ac_cv_lib_yaml_yaml_parser_initialize=no
fi
rm -f core conftest.err conftest.$ac_objext \
    conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_yaml_yaml_parser_initialize" >&5
$as_echo "$ac_cv_lib_yaml_yaml_parser_initialize" >&6; }
if test "x$ac_cv_lib_yaml_yaml_parser_initialize" = xyes; then :
  LIBYAML="libyaml"
else
  as_fn_error $? "YAML development libraries not not installed" "$LINENO" 5
fi


fi


{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if RDMA_PS_TCP exists" >&5
$as_echo_n "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 :


$as_echo "#define HAVE_USRSPC_RDMA_PS_TCP 1" >>confdefs.h


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


{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'enum nlmsgerr_attrs' exists" >&5
$as_echo_n "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 :


$as_echo "#define HAVE_USRSPC_NLMSGERR 1" >>confdefs.h


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



{ $as_echo "$as_me:${as_lineno-$LINENO}: Lustre core checks
==============================================================================" >&5
$as_echo "$as_me: Lustre core checks
==============================================================================" >&6;}

if test $target_cpu == "i686" -o $target_cpu == "x86_64"; then :
  CFLAGS="$CFLAGS -Wall -Werror"
fi

# maximum MDS thread count

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for maximum number of MDS threads" >&5
$as_echo_n "checking for maximum number of MDS threads... " >&6; }

# Check whether --with-mds_max_threads was given.
if test "${with_mds_max_threads+set}" = set; then :
  withval=$with_mds_max_threads;
cat >>confdefs.h <<_ACEOF
#define MDS_MAX_THREADS $with_mds_max_threads
_ACEOF

fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_mds_max_threads" >&5
$as_echo "$with_mds_max_threads" >&6; }


# lustre/utils/gss/gss_util.c
# lustre/utils/gss/gssd_proc.c
# lustre/utils/gss/krb5_util.c
# lustre/utils/llog_reader.c
# lustre/utils/create_iam.c
# lustre/utils/libiam.c
for ac_header in netdb.h endian.h
do :
  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
  cat >>confdefs.h <<_ACEOF
#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
_ACEOF

fi

done

for ac_func in gethostbyname
do :
  ac_fn_c_check_func "$LINENO" "gethostbyname" "ac_cv_func_gethostbyname"
if test "x$ac_cv_func_gethostbyname" = xyes; then :
  cat >>confdefs.h <<_ACEOF
#define HAVE_GETHOSTBYNAME 1
_ACEOF

fi
done


# lustre/utils/llverfs.c lustre/utils/libmount_utils_ldiskfs.c
for ac_header in ext2fs/ext2fs.h
do :
  ac_fn_c_check_header_mongrel "$LINENO" "ext2fs/ext2fs.h" "ac_cv_header_ext2fs_ext2fs_h" "$ac_includes_default"
if test "x$ac_cv_header_ext2fs_ext2fs_h" = xyes; then :
  cat >>confdefs.h <<_ACEOF
#define HAVE_EXT2FS_EXT2FS_H 1
_ACEOF

else

	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
for ac_func in statx
do :
  ac_fn_c_check_func "$LINENO" "statx" "ac_cv_func_statx"
if test "x$ac_cv_func_statx" = xyes; then :
  cat >>confdefs.h <<_ACEOF
#define HAVE_STATX 1
_ACEOF

fi
done


# lustre/utils/lfs.c
if test "$enable_dist" = "no"; then :

		{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for crc32 in -lz" >&5
$as_echo_n "checking for crc32 in -lz... " >&6; }
if ${ac_cv_lib_z_crc32+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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.  */
#ifdef __cplusplus
extern "C"
#endif
char crc32 ();
int
main ()
{
return crc32 ();
  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
  ac_cv_lib_z_crc32=yes
else
  ac_cv_lib_z_crc32=no
fi
rm -f core conftest.err conftest.$ac_objext \
    conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_crc32" >&5
$as_echo "$ac_cv_lib_z_crc32" >&6; }
if test "x$ac_cv_lib_z_crc32" = xyes; then :

				 ac_fn_c_check_header_mongrel "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_includes_default"
if test "x$ac_cv_header_zlib_h" = xyes; then :

else

						 as_fn_error $? "zlib.h not found." "$LINENO" 5
fi



else

				 as_fn_error $? "
		zlib library not found. Please install zlib development package." "$LINENO" 5

fi


fi

SELINUX=""

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for is_selinux_enabled in -lselinux" >&5
$as_echo_n "checking for is_selinux_enabled in -lselinux... " >&6; }
if ${ac_cv_lib_selinux_is_selinux_enabled+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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.  */
#ifdef __cplusplus
extern "C"
#endif
char is_selinux_enabled ();
int
main ()
{
return is_selinux_enabled ();
  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
  ac_cv_lib_selinux_is_selinux_enabled=yes
else
  ac_cv_lib_selinux_is_selinux_enabled=no
fi
rm -f core conftest.err conftest.$ac_objext \
    conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_selinux_is_selinux_enabled" >&5
$as_echo "$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_mongrel "$LINENO" "selinux/selinux.h" "ac_cv_header_selinux_selinux_h" "$ac_includes_default"
if test "x$ac_cv_header_selinux_selinux_h" = xyes; then :
  cat >>confdefs.h <<_ACEOF
#define HAVE_SELINUX_SELINUX_H 1
_ACEOF
 SELINUX="-lselinux"

$as_echo "#define HAVE_SELINUX 1" >>confdefs.h

else
  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:

No libselinux-devel package found, unable to build selinux enabled tools
" >&5
$as_echo "$as_me: WARNING:

No libselinux-devel package found, unable to build selinux enabled tools
" >&2;}

fi

done

else
  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:

No selinux package found, unable to build selinux enabled tools
" >&5
$as_echo "$as_me: WARNING:

No selinux package found, unable to build selinux enabled tools
" >&2;}

fi



{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for add_key in -lkeyutils" >&5
$as_echo_n "checking for add_key in -lkeyutils... " >&6; }
if ${ac_cv_lib_keyutils_add_key+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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.  */
#ifdef __cplusplus
extern "C"
#endif
char add_key ();
int
main ()
{
return add_key ();
  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
  ac_cv_lib_keyutils_add_key=yes
else
  ac_cv_lib_keyutils_add_key=no
fi
rm -f core conftest.err conftest.$ac_objext \
    conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_keyutils_add_key" >&5
$as_echo "$ac_cv_lib_keyutils_add_key" >&6; }
if test "x$ac_cv_lib_keyutils_add_key" = xyes; then :
  cat >>confdefs.h <<_ACEOF
#define HAVE_LIBKEYUTILS 1
_ACEOF

  LIBS="-lkeyutils $LIBS"

fi


# Super safe df
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to report minimum OST free space" >&5
$as_echo_n "checking whether to report minimum OST free space... " >&6; }
# Check whether --enable-mindf was given.
if test "${enable_mindf+set}" = set; then :
  enableval=$enable_mindf;
else
  enable_mindf="no"
fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_mindf" >&5
$as_echo "$enable_mindf" >&6; }
if test "$enable_mindf" = "yes"; then :


$as_echo "#define MIN_DF 1" >>confdefs.h

	ENABLE_MINDF=yes


else

	ENABLE_MINDF=no


fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to randomly failing memory alloc" >&5
$as_echo_n "checking whether to randomly failing memory alloc... " >&6; }
# Check whether --enable-fail_alloc was given.
if test "${enable_fail_alloc+set}" = set; then :
  enableval=$enable_fail_alloc;
else
  enable_fail_alloc="yes"
fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_fail_alloc" >&5
$as_echo "$enable_fail_alloc" >&6; }
if test "x$enable_fail_alloc" != xno; then :


$as_echo "#define RANDOM_FAIL_ALLOC 1" >>confdefs.h

	ENABLE_FAIL_ALLOC=yes


else

	ENABLE_FAIL_ALLOC=no


fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to check invariants (expensive cpu-wise)" >&5
$as_echo_n "checking whether to check invariants (expensive cpu-wise)... " >&6; }
# Check whether --enable-invariants was given.
if test "${enable_invariants+set}" = set; then :
  enableval=$enable_invariants;
else
  enable_invariants="no"
fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_invariants" >&5
$as_echo "$enable_invariants" >&6; }
if test "x$enable_invariants" = xyes; then :


$as_echo "#define CONFIG_LUSTRE_DEBUG_EXPENSIVE_CHECK 1" >>confdefs.h

	ENABLE_INVARIANTS=yes


else

	ENABLE_INVARIANTS=no


fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to track references with lu_ref" >&5
$as_echo_n "checking whether to track references with lu_ref... " >&6; }
# Check whether --enable-lu_ref was given.
if test "${enable_lu_ref+set}" = set; then :
  enableval=$enable_lu_ref;
else
  enable_lu_ref="no"
fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_lu_ref" >&5
$as_echo "$enable_lu_ref" >&6; }
if test "x$enable_lu_ref" = xyes; then :


$as_echo "#define CONFIG_LUSTRE_DEBUG_LU_REF 1" >>confdefs.h

	ENABLE_LU_REF=yes


else

	ENABLE_LU_REF=no


fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable page state tracking" >&5
$as_echo_n "checking whether to enable page state tracking... " >&6; }
# Check whether --enable-pgstate-track was given.
if test "${enable_pgstate_track+set}" = set; then :
  enableval=$enable_pgstate_track;
else
  enable_pgstat_track="no"
fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_pgstat_track" >&5
$as_echo "$enable_pgstat_track" >&6; }
if test "x$enable_pgstat_track" = xyes; then :


$as_echo "#define CONFIG_DEBUG_PAGESTATE_TRACKING 1" >>confdefs.h

	ENABLE_PGSTAT_TRACK=yes


else

	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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_path_PKG_CONFIG+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
$as_echo "$PKG_CONFIG" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "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
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then :
  $as_echo_n "(cached) " >&6
else
  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
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
    $as_echo "$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
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5
$as_echo "$ac_pt_PKG_CONFIG" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi

  if test "x$ac_pt_PKG_CONFIG" = x; then
    PKG_CONFIG=""
  else
    case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: 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
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; }
	if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
	else
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
		PKG_CONFIG=""
	fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking systemd unit file directory" >&5
$as_echo_n "checking systemd unit file directory... " >&6; }

# Check whether --with-systemdsystemunitdir was given.
if test "${with_systemdsystemunitdir+set}" = set; then :
  withval=$with_systemdsystemunitdir;
else
  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
  with_systemdsystemunitdir="$def_systemdsystemunitdir"
fi
fi
if test "x$with_systemdsystemunitdir" != "xno"; then :
  systemdsystemunitdir=$with_systemdsystemunitdir

fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_systemdsystemunitdir" >&5
$as_echo "$with_systemdsystemunitdir" >&6; }

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking bash-completion directory" >&5
$as_echo_n "checking bash-completion directory... " >&6; }

# Check whether --with-bash-completion-dir was given.
if test "${with_bash_completion_dir+set}" = set; then :
  withval=$with_bash_completion_dir;
else
  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

	BASH_COMPLETION_DIR="$with_bash_completion_dir"

fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $BASH_COMPLETION_DIR" >&5
$as_echo "$BASH_COMPLETION_DIR" >&6; }

if test -n "$SNMP_DIST_SUBDIR"; then :

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to try to build SNMP support" >&5
$as_echo_n "checking whether to try to build SNMP support... " >&6; }
# Check whether --enable-snmp was given.
if test "${enable_snmp+set}" = set; then :
  enableval=$enable_snmp;
else
  enable_snmp="auto"
fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_snmp" >&5
$as_echo "$enable_snmp" >&6; }

if test x$enable_snmp != xno ; then
	# Extract the first word of "net-snmp-config", so it can be a program name with args.
set dummy net-snmp-config; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_NET_SNMP_CONFIG+:} false; then :
  $as_echo_n "(cached) " >&6
else
  if test -n "$NET_SNMP_CONFIG"; then
  ac_cv_prog_NET_SNMP_CONFIG="$NET_SNMP_CONFIG" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_prog_NET_SNMP_CONFIG="net-snmp-config"
    $as_echo "$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
NET_SNMP_CONFIG=$ac_cv_prog_NET_SNMP_CONFIG
if test -n "$NET_SNMP_CONFIG"; then
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NET_SNMP_CONFIG" >&5
$as_echo "$NET_SNMP_CONFIG" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi


	if test "$NET_SNMP_CONFIG" ; then
		NET_SNMP_CFLAGS=$($NET_SNMP_CONFIG --base-cflags)
		NET_SNMP_LIBS=$($NET_SNMP_CONFIG --agent-libs)

		CPPFLAGS_save="$CPPFLAGS"
		CPPFLAGS="$CPPFLAGS $NET_SNMP_CFLAGS"

		LIBS_save="$LIBS"
		LIBS="$LIBS $NET_SNMP_LIBS"

		ac_fn_c_check_header_mongrel "$LINENO" "net-snmp/net-snmp-config.h" "ac_cv_header_net_snmp_net_snmp_config_h" "$ac_includes_default"
if test "x$ac_cv_header_net_snmp_net_snmp_config_h" = xyes; then :

			ac_fn_c_check_func "$LINENO" "register_mib" "ac_cv_func_register_mib"
if test "x$ac_cv_func_register_mib" = xyes; then :
  SNMP_SUBDIR="snmp"
else

				LIBS="$LIBS -lwrap"
				NET_SNMP_LISB="$NET_SNMP_LIBS -lwrap"
				# fail autoconf's cache
				unset ac_cv_func_register_mib
				ac_fn_c_check_func "$LINENO" "register_mib" "ac_cv_func_register_mib"
if test "x$ac_cv_func_register_mib" = xyes; then :
  SNMP_SUBDIR="snmp"
fi


fi


fi



		LIBS="$LIBS_save"
		CPPFLAGS="$CPPFLAGS_save"
	fi
	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for SNMP support" >&5
$as_echo_n "checking for SNMP support... " >&6; }
	if test "$SNMP_SUBDIR" ; then
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
	else
		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no (see config.log for errors)" >&5
$as_echo "no (see config.log for errors)" >&6; }
		if test x$enable_snmp = xyes ; then
			as_fn_error $? "SNMP support was requested, but unavailable" "$LINENO" 5
		fi
	fi
fi

agentdir='${pkglibdir}/snmp'
mibdir='${pkgdatadir}/snmp/mibs'






fi


 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; then
  RHEL_TRUE=
  RHEL_FALSE='#'
else
  RHEL_TRUE='#'
  RHEL_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$O2IBLND = "xo2iblnd"; then
  BUILD_O2IBLND_TRUE=
  BUILD_O2IBLND_FALSE='#'
else
  BUILD_O2IBLND_TRUE='#'
  BUILD_O2IBLND_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$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_gss_pipefs = xyes; then
  GSS_PIPEFS_TRUE=
  GSS_PIPEFS_FALSE='#'
else
  GSS_PIPEFS_TRUE='#'
  GSS_PIPEFS_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"




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 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"



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/gnilnd/Makefile lnet/klnds/gnilnd/autoMakefile lnet/klnds/socklnd/Makefile lnet/klnds/socklnd/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/contrib/Makefile lustre/doc/Makefile lustre/include/Makefile lustre/include/lustre/Makefile lustre/include/uapi/linux/lustre/Makefile lustre/kernel_patches/targets/5.14-rhel9.7.target lustre/kernel_patches/targets/5.14-rhel9.6.target lustre/kernel_patches/targets/5.14-rhel9.5.target 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/ldlm/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/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/lutf/Makefile lustre/tests/lutf/src/Makefile lustre/tests/kernel/Makefile lustre/tests/kernel/autoMakefile lustre/utils/Makefile lustre/utils/gss/Makefile lustre/osp/Makefile lustre/osp/autoMakefile lustre/lod/Makefile lustre/lod/autoMakefile"


if test -n "$SNMP_DIST_SUBDIR"; then :

ac_config_files="$ac_config_files snmp/Makefile snmp/autoconf/Makefile"


fi



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_iokit != xyes ; then
	RPMBINARGS="$RPMBINARGS --without lustre_iokit"
fi
if test x$enable_snmp != xyes ; then
	RPMBINARGS="$RPMBINARGS --without snmp"
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 :

	{ $as_echo "$as_me:${as_lineno-$LINENO}: remove temporary parallel configure dir $TEST_DIR" >&5
$as_echo "$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_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
      esac
      case $ac_var in #(
      _ | IFS | as_nl) ;; #(
      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
      *) { eval $ac_var=; unset $ac_var;} ;;
      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+set}" = set || &/
     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
      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
$as_echo "$as_me: updating cache $cache_file" >&6;}
      if test ! -f "$cache_file" || test -h "$cache_file"; then
	cat confcache >"$cache_file"
      else
        case $cache_file in #(
        */* | ?:*)
	  mv -f confcache "$cache_file"$$ &&
	  mv -f "$cache_file"$$ "$cache_file" ;; #(
        *)
	  mv -f confcache "$cache_file" ;;
	esac
      fi
    fi
  else
    { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
$as_echo "$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=`$as_echo "$ac_i" | sed "$ac_script"`
  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
  #    will be set to the directory where LIBOBJS objects are built.
  as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
  as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
done
LIBOBJS=$ac_libobjs

LTLIBOBJS=$ac_ltlibobjs


{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5
$as_echo_n "checking that generated files are newer than configure... " >&6; }
   if test -n "$am_sleep_pid"; then
     # Hide warnings about reused PIDs.
     wait $am_sleep_pid 2>/dev/null
   fi
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5
$as_echo "done" >&6; }
 if test -n "$EXEEXT"; then
  am__EXEEXT_TRUE=
  am__EXEEXT_FALSE='#'
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__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 "${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 "${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 "${BUILD_O2IBLND_TRUE}" && test -z "${BUILD_O2IBLND_FALSE}"; then
  as_fn_error $? "conditional \"BUILD_O2IBLND\" 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 "${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_PIPEFS_TRUE}" && test -z "${GSS_PIPEFS_FALSE}"; then
  as_fn_error $? "conditional \"GSS_PIPEFS\" 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

: "${CONFIG_STATUS=./config.status}"
ac_write_fail=0
ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files $CONFIG_STATUS"
{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
as_write_fail=0
cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
#! $SHELL
# Generated by $as_me.
# Run this file to recreate the current configuration.
# Compiler output produced by configure, useful for debugging
# configure, is in config.log if it exists.

debug=false
ac_cs_recheck=false
ac_cs_silent=false

SHELL=\${CONFIG_SHELL-$SHELL}
export SHELL
_ASEOF
cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
## -------------------- ##
## M4sh Initialization. ##
## -------------------- ##

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


as_nl='
'
export as_nl
# Printing a long string crashes Solaris 7 /usr/bin/printf.
as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
# Prefer a ksh shell builtin over an external printf program on Solaris,
# but without wasting forks for bash or zsh.
if test -z "$BASH_VERSION$ZSH_VERSION" \
    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
  as_echo='print -r --'
  as_echo_n='print -rn --'
elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
  as_echo='printf %s\n'
  as_echo_n='printf %s'
else
  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
    as_echo_n='/usr/ucb/echo -n'
  else
    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
    as_echo_n_body='eval
      arg=$1;
      case $arg in #(
      *"$as_nl"*)
	expr "X$arg" : "X\\(.*\\)$as_nl";
	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
      esac;
      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
    '
    export as_echo_n_body
    as_echo_n='sh -c $as_echo_n_body as_echo'
  fi
  export as_echo_body
  as_echo='sh -c $as_echo_body as_echo'
fi

# The user is always right.
if test "${PATH_SEPARATOR+set}" != set; 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


# IFS
# We need space, tab and new line, in precisely that order.  Quoting is
# there to prevent editors from complaining about space-tab.
# (If _AS_PATH_WALK were called with IFS unset, it would disable word
# splitting by setting IFS to empty value.)
IFS=" ""	$as_nl"

# 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
  test -z "$as_dir" && as_dir=.
    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
  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
  exit 1
fi

# Unset variables that we do not need and which cause bugs (e.g. in
# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
# suppresses any "Segmentation fault" message there.  '((' could
# trigger a bug in pdksh 5.2.14.
for as_var in BASH_ENV ENV MAIL MAILPATH
do eval test x\${$as_var+set} = xset \
  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
done
PS1='$ '
PS2='> '
PS4='+ '

# NLS nuisances.
LC_ALL=C
export LC_ALL
LANGUAGE=C
export LANGUAGE

# CDPATH.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH


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


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

# as_fn_exit STATUS
# -----------------
# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
as_fn_exit ()
{
  set +e
  as_fn_set_status $1
  exit $1
} # as_fn_exit

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

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


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

ECHO_C= ECHO_N= ECHO_T=
case `echo -n x` in #(((((
-n*)
  case `echo 'xy\c'` in
  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
  xy)  ECHO_C='\c';;
  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
       ECHO_T='	';;
  esac;;
*)
  ECHO_N='-n';;
esac

rm -f conf$$ conf$$.exe conf$$.file
if test -d conf$$.dir; then
  rm -f conf$$.dir/conf$$.file
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=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
      *) as_qdir=$as_dir;;
      esac
      as_dirs="'$as_qdir' $as_dirs"
      as_dir=`$as_dirname -- "$as_dir" ||
$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
	 X"$as_dir" : 'X\(//\)[^/]' \| \
	 X"$as_dir" : 'X\(//\)$' \| \
	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X"$as_dir" |
    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)[^/].*/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\).*/{
	    s//\1/
	    q
	  }
	  s/.*/./; q'`
      test -d "$as_dir" && break
    done
    test -z "$as_dirs" || eval "mkdir $as_dirs"
  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"


} # as_fn_mkdir_p
if mkdir -p . 2>/dev/null; then
  as_mkdir_p='mkdir -p "$as_dir"'
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.15.8_34_gc0f2040, which was
generated by GNU Autoconf 2.69.  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
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
Lustre config.status 2.15.8_34_gc0f2040
configured by $0, generated by GNU Autoconf 2.69,
  with options \\"\$ac_cs_config\\"

Copyright (C) 2012 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 )
    $as_echo "$ac_cs_version"; exit ;;
  --config | --confi | --conf | --con | --co | --c )
    $as_echo "$ac_cs_config"; exit ;;
  --debug | --debu | --deb | --de | --d | -d )
    debug=: ;;
  --file | --fil | --fi | --f )
    $ac_shift
    case $ac_optarg in
    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
    '') as_fn_error $? "missing file argument" ;;
    esac
    as_fn_append CONFIG_FILES " '$ac_optarg'"
    ac_need_defaults=false;;
  --header | --heade | --head | --hea )
    $ac_shift
    case $ac_optarg in
    *\'*) ac_optarg=`$as_echo "$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 )
    $as_echo "$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
  \$as_echo "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
  $as_echo "$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"`'
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"`'
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"`'

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 \
OBJDUMP \
deplibs_check_method \
file_magic_cmd \
file_magic_glob \
want_nocaseglob \
DLLTOOL \
sharedlib_from_linklib_cmd \
AR \
AR_FLAGS \
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; 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; 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" ;;
    "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" ;;
    "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/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/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/contrib/Makefile") CONFIG_FILES="$CONFIG_FILES lustre/contrib/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.7.target") CONFIG_FILES="$CONFIG_FILES lustre/kernel_patches/targets/5.14-rhel9.7.target" ;;
    "lustre/kernel_patches/targets/5.14-rhel9.6.target") CONFIG_FILES="$CONFIG_FILES lustre/kernel_patches/targets/5.14-rhel9.6.target" ;;
    "lustre/kernel_patches/targets/5.14-rhel9.5.target") CONFIG_FILES="$CONFIG_FILES lustre/kernel_patches/targets/5.14-rhel9.5.target" ;;
    "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/ldlm/Makefile") CONFIG_FILES="$CONFIG_FILES lustre/ldlm/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/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/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/tests/kernel/Makefile") CONFIG_FILES="$CONFIG_FILES lustre/tests/kernel/Makefile" ;;
    "lustre/tests/kernel/autoMakefile") CONFIG_FILES="$CONFIG_FILES lustre/tests/kernel/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" ;;
    "snmp/Makefile") CONFIG_FILES="$CONFIG_FILES snmp/Makefile" ;;
    "snmp/autoconf/Makefile") CONFIG_FILES="$CONFIG_FILES snmp/autoconf/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+set}" = set || CONFIG_FILES=$config_files
  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
  test "${CONFIG_COMMANDS+set}" = set || 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=`$as_echo "$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 '`
	  $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
	`' by configure.'
    if test x"$ac_file" != x-; then
      configure_input="$ac_file.  $configure_input"
      { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
$as_echo "$as_me: creating $ac_file" >&6;}
    fi
    # Neutralize special characters interpreted by sed in replacement strings.
    case $configure_input in #(
    *\&* | *\|* | *\\* )
       ac_sed_conf_input=`$as_echo "$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 ||
$as_echo 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=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
  # A ".." for each directory in $ac_dir_suffix.
  ac_top_builddir_sub=`$as_echo "$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@*)
  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
  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"; } &&
  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
which seems to be undefined.  Please make sure it is defined" >&5
$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
which seems to be undefined.  Please make sure it is defined" >&2;}

  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
    {
      $as_echo "/* $configure_input  */" \
      && 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
      { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
$as_echo "$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
    $as_echo "/* $configure_input  */" \
      && 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 ||
$as_echo 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)  { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
$as_echo "$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=`$as_echo "$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 ||
$as_echo 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 ||
$as_echo 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
    { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "Something went wrong bootstrapping makefile fragments
    for automatic dependency tracking.  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=''

# 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

# 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.
AR_FLAGS=$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

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

 ;;

  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
  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
fi


cat <<_ACEOF

CC:            $CC
LD:            $LD
CPPFLAGS:      $CPPFLAGS
CFLAGS:        $CFLAGS
EXTRA_KCFLAGS: $EXTRA_KCFLAGS

Type 'make' to build Lustre.
_ACEOF

