# generated automatically by aclocal 1.16.1 -*- Autoconf -*- # Copyright (C) 1996-2018 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, [m4_warning([this file was generated for autoconf 2.69. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically 'autoreconf'.])]) # Copyright (C) 2002-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.16' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. m4_if([$1], [1.16.1], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) # _AM_AUTOCONF_VERSION(VERSION) # ----------------------------- # aclocal traces this macro to find the Autoconf version. # This is a private macro too. Using m4_define simplifies # the logic in aclocal, which can simply ignore this definition. m4_define([_AM_AUTOCONF_VERSION], []) # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.16.1])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # Copyright (C) 2011-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_AR([ACT-IF-FAIL]) # ------------------------- # Try to determine the archiver interface, and trigger the ar-lib wrapper # if it is needed. If the detection of archiver interface fails, run # ACT-IF-FAIL (default is to abort configure with a proper error message). AC_DEFUN([AM_PROG_AR], [AC_BEFORE([$0], [LT_INIT])dnl AC_BEFORE([$0], [AC_PROG_LIBTOOL])dnl AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([ar-lib])dnl AC_CHECK_TOOLS([AR], [ar lib "link -lib"], [false]) : ${AR=ar} AC_CACHE_CHECK([the archiver ($AR) interface], [am_cv_ar_interface], [AC_LANG_PUSH([C]) am_cv_ar_interface=ar AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int some_variable = 0;]])], [am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&AS_MESSAGE_LOG_FD' AC_TRY_EVAL([am_ar_try]) if test "$ac_status" -eq 0; then am_cv_ar_interface=ar else am_ar_try='$AR -NOLOGO -OUT:conftest.lib conftest.$ac_objext >&AS_MESSAGE_LOG_FD' AC_TRY_EVAL([am_ar_try]) if test "$ac_status" -eq 0; then am_cv_ar_interface=lib else am_cv_ar_interface=unknown fi fi rm -f conftest.lib libconftest.a ]) AC_LANG_POP([C])]) case $am_cv_ar_interface in ar) ;; lib) # Microsoft lib, so override with the ar-lib wrapper script. # FIXME: It is wrong to rewrite AR. # 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__AR in this case, # and then we could set am__AR="$am_aux_dir/ar-lib \$(AR)" or something # similar. AR="$am_aux_dir/ar-lib $AR" ;; unknown) m4_default([$1], [AC_MSG_ERROR([could not determine $AR interface])]) ;; esac AC_SUBST([AR])dnl ]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- # Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to # '$srcdir', '$srcdir/..', or '$srcdir/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and # therefore $ac_aux_dir as well) can be either absolute or relative, # depending on how configure is run. This is pretty annoying, since # it makes $ac_aux_dir quite unusable in subdirectories: in the top # source directory, any form will work fine, but in subdirectories a # relative path needs to be adjusted first. # # $ac_aux_dir/missing # fails when called from a subdirectory if $ac_aux_dir is relative # $top_srcdir/$ac_aux_dir/missing # fails if $ac_aux_dir is absolute, # fails when called from a subdirectory in a VPATH build with # a relative $ac_aux_dir # # The reason of the latter failure is that $top_srcdir and $ac_aux_dir # are both prefixed by $srcdir. In an in-source build this is usually # harmless because $srcdir is '.', but things will broke when you # start a VPATH build or use an absolute $srcdir. # # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, # iff we strip the leading $srcdir from $ac_aux_dir. That would be: # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` # and then we would define $MISSING as # MISSING="\${SHELL} $am_aux_dir/missing" # This will work as long as MISSING is not called from configure, because # unfortunately $(top_srcdir) has no meaning in configure. # However there are other variables, like CC, which are often used in # configure, and could therefore not use this "fixed" $ac_aux_dir. # # Another solution, used here, is to always expand $ac_aux_dir to an # absolute PATH. The drawback is that using absolute paths prevent a # configured tree to be moved without reconfiguration. AC_DEFUN([AM_AUX_DIR_EXPAND], [AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl # Expand $ac_aux_dir to an absolute path. am_aux_dir=`cd "$ac_aux_dir" && pwd` ]) # AM_CONDITIONAL -*- Autoconf -*- # Copyright (C) 1997-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ([2.52])dnl m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl AC_SUBST([$1_TRUE])dnl AC_SUBST([$1_FALSE])dnl _AM_SUBST_NOTMAKE([$1_TRUE])dnl _AM_SUBST_NOTMAKE([$1_FALSE])dnl m4_define([_AM_COND_VALUE_$1], [$2])dnl if $2; then $1_TRUE= $1_FALSE='#' else $1_TRUE='#' $1_FALSE= fi AC_CONFIG_COMMANDS_PRE( [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then AC_MSG_ERROR([[conditional "$1" was never defined. Usually this means the macro was only invoked conditionally.]]) fi])]) # Copyright (C) 1999-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, # will think it sees a *use*, and therefore will trigger all it's # C support machinery. Also note that it means that autoscan, seeing # CC etc. in the Makefile, will ask for an AC_PROG_CC use... # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. # NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC". # We try a few techniques and use that to set a single cache variable. # # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular # dependency, and given that the user is not expected to run this macro, # just rely on AC_PROG_CC. AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl AC_REQUIRE([AM_MAKE_INCLUDE])dnl AC_REQUIRE([AM_DEP_TRACK])dnl m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], [$1], [CXX], [depcc="$CXX" am_compiler_list=], [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'], [$1], [UPC], [depcc="$UPC" am_compiler_list=], [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'], [depcc="$$1" am_compiler_list=]) AC_CACHE_CHECK([dependency style of $depcc], [am_cv_$1_dependencies_compiler_type], [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_$1_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 m4_case([$1], [CC], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac], [CXX], [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_$1_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_$1_dependencies_compiler_type=none fi ]) AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) AM_CONDITIONAL([am__fastdep$1], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) ]) # AM_SET_DEPDIR # ------------- # Choose a directory name for dependency files. # This macro is AC_REQUIREd in _AM_DEPENDENCIES. AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl ]) # AM_DEP_TRACK # ------------ AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE([dependency-tracking], [dnl AS_HELP_STRING( [--enable-dependency-tracking], [do not reject slow dependency extractors]) AS_HELP_STRING( [--disable-dependency-tracking], [speeds up one-time build])]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' am__nodep='_no' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH])dnl _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl AC_SUBST([am__nodep])dnl _AM_SUBST_NOTMAKE([am__nodep])dnl ]) # Generate code to set up dependency tracking. -*- Autoconf -*- # Copyright (C) 1999-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [{ # 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. AS_CASE([$CONFIG_FILES], [*\'*], [eval set x "$CONFIG_FILES"], [*], [set x $CONFIG_FILES]) 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"])` am_filepart=`AS_BASENAME(["$am_mf"])` AM_RUN_LOG([cd "$am_dirpart" \ && sed -e '/# am--include-marker/d' "$am_filepart" \ | $MAKE -f - am--depfiles]) || am_rc=$? done if test $am_rc -ne 0; then AC_MSG_FAILURE([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).]) fi AS_UNSET([am_dirpart]) AS_UNSET([am_filepart]) AS_UNSET([am_mf]) AS_UNSET([am_rc]) rm -f conftest-deps.mk } ])# _AM_OUTPUT_DEPENDENCY_COMMANDS # AM_OUTPUT_DEPENDENCY_COMMANDS # ----------------------------- # This macro should only be invoked once -- use via AC_REQUIRE. # # This code is only required when automatic dependency tracking is enabled. # This creates each '.Po' and '.Plo' makefile fragment that we'll need in # order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], [AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"])]) # AM_EXTRA_RECURSIVE_TARGETS -*- Autoconf -*- # Copyright (C) 2012-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_EXTRA_RECURSIVE_TARGETS # -------------------------- # Define the list of user recursive targets. This macro exists only to # be traced by Automake, which will ensure that a proper definition of # user-defined recursive targets (and associated rules) is propagated # into all the generated Makefiles. # TODO: We should really reject non-literal arguments here... AC_DEFUN([AM_EXTRA_RECURSIVE_TARGETS], []) # Do all the work for Automake. -*- Autoconf -*- # Copyright (C) 1996-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O. m4_define([AC_PROG_CC], m4_defn([AC_PROG_CC]) [_AM_PROG_CC_C_O ]) # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- # The call with PACKAGE and VERSION arguments is the old style # call (pre autoconf-2.50), which is being phased out. PACKAGE # and VERSION should now be passed to AC_INIT and removed from # the call to AM_INIT_AUTOMAKE. # We support both call styles for the transition. After # the next Automake release, Autoconf can make the AC_INIT # arguments mandatory, and then we can depend on a new Autoconf # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.65])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl # test to see if srcdir already configured if test -f $srcdir/config.status; then AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) 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 AC_SUBST([CYGPATH_W]) # Define the identity of the package. dnl Distinguish between old-style and new-style calls. m4_ifval([$2], [AC_DIAGNOSE([obsolete], [$0: two- and three-arguments forms are deprecated.]) m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([VERSION], [$2])], [_AM_SET_OPTIONS([$1])dnl dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. m4_if( m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), [ok:ok],, [m4_fatal([AC_INIT should be called with package and version arguments])])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl _AM_IF_OPTION([no-define],, [AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl # Some tools Automake needs. AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) AM_MISSING_PROG([AUTOCONF], [autoconf]) AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) AM_MISSING_PROG([AUTOHEADER], [autoheader]) AM_MISSING_PROG([MAKEINFO], [makeinfo]) AC_REQUIRE([AM_PROG_INSTALL_SH])dnl AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl # For better backward compatibility. To be removed once Automake 1.9.x # dies out for good. For more background, see: # # AC_SUBST([mkdir_p], ['$(MKDIR_P)']) # We need awk for the "check" target (and possibly the TAP driver). The # system "awk" is bad on some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])])]) _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], [_AM_DEPENDENCIES([CC])], [m4_define([AC_PROG_CC], m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl AC_PROVIDE_IFELSE([AC_PROG_CXX], [_AM_DEPENDENCIES([CXX])], [m4_define([AC_PROG_CXX], m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJC], [_AM_DEPENDENCIES([OBJC])], [m4_define([AC_PROG_OBJC], m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], [_AM_DEPENDENCIES([OBJCXX])], [m4_define([AC_PROG_OBJCXX], m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl ]) AC_REQUIRE([AM_SILENT_RULES])dnl dnl The testsuite driver may need to know about EXEEXT, so add the dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. AC_CONFIG_COMMANDS_PRE(dnl [m4_provide_if([_AM_COMPILER_EXEEXT], [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl # POSIX will say in a future version that running "rm -f" with no argument # is OK; and we want to be able to make that assumption in our Makefile # recipes. So use an aggressive probe to check that the usage we want is # actually supported "in the wild" to an acceptable degree. # See automake bug#10828. # To make any issue more visible, cause the running configure to be aborted # by default if the 'rm' program in use doesn't match our expectations; the # user can still override this though. if rm -f && rm -fr && rm -rf; then : OK; else cat >&2 <<'END' Oops! Your 'rm' program seems unable to run without file operands specified on the command line, even when the '-f' option is present. This is contrary to the behaviour of most rm programs out there, and not conforming with the upcoming POSIX standard: Please tell bug-automake@gnu.org about your system, including the value of your $PATH and any error possibly output before this message. This can help us improve future automake versions. END if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then echo 'Configuration will proceed anyway, since you have set the' >&2 echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 echo >&2 else cat >&2 <<'END' Aborting the configuration process, to ensure you take notice of the issue. You can download and install GNU coreutils to get an 'rm' implementation that behaves properly: . If you want to complete the configuration process using your problematic 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM to "yes", and re-run configure. END AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) fi fi dnl The trailing newline in this macro's definition is deliberate, for dnl backward compatibility and to allow trailing 'dnl'-style comments dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841. ]) dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further dnl mangled by Autoconf and run in a shell conditional statement. m4_define([_AC_COMPILER_EXEEXT], m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the # loop where config.status creates the headers, so we can generate # our stamp files there. AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. _am_arg=$1 _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"])`/stamp-h[]$_am_stamp_count]) # Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl 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 AC_SUBST([install_sh])]) # Copyright (C) 2003-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. AC_DEFUN([AM_SET_LEADING_DOT], [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 AC_SUBST([am__leading_dot])]) # Add --enable-maintainer-mode option to configure. -*- Autoconf -*- # From Jim Meyering # Copyright (C) 1996-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_MAINTAINER_MODE([DEFAULT-MODE]) # ---------------------------------- # Control maintainer-specific portions of Makefiles. # Default is to disable them, unless 'enable' is passed literally. # For symmetry, 'disable' may be passed as well. Anyway, the user # can override the default with the --enable/--disable switch. AC_DEFUN([AM_MAINTAINER_MODE], [m4_case(m4_default([$1], [disable]), [enable], [m4_define([am_maintainer_other], [disable])], [disable], [m4_define([am_maintainer_other], [enable])], [m4_define([am_maintainer_other], [enable]) m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])]) AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) dnl maintainer-mode's default is 'disable' unless 'enable' is passed AC_ARG_ENABLE([maintainer-mode], [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode], am_maintainer_other[ make rules and dependencies not useful (and sometimes confusing) to the casual installer])], [USE_MAINTAINER_MODE=$enableval], [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes])) AC_MSG_RESULT([$USE_MAINTAINER_MODE]) AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes]) MAINT=$MAINTAINER_MODE_TRUE AC_SUBST([MAINT])dnl ] ) # Check to see how 'make' treats includes. -*- Autoconf -*- # Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_MAKE_INCLUDE() # ----------------- # Check whether make has an 'include' directive that can support all # the idioms we need for our automatic dependency tracking code. AC_DEFUN([AM_MAKE_INCLUDE], [AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive]) 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 AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out]) AS_CASE([$?:`cat confinc.out 2>/dev/null`], ['0:this is the am__doit target'], [AS_CASE([$s], [BSD], [am__include='.include' am__quote='"'], [am__include='include' am__quote=''])]) if test "$am__include" != "#"; then _am_result="yes ($s style)" break fi done rm -f confinc.* confmf.* AC_MSG_RESULT([${_am_result}]) AC_SUBST([am__include])]) AC_SUBST([am__quote])]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) # AM_MISSING_HAS_RUN # ------------------ # Define MISSING if not defined so far and test if it is modern enough. # If it is, set am_missing_run to use it, otherwise, to nothing. AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl 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= AC_MSG_WARN(['missing' script is too old or missing]) fi ]) # Helper functions for option handling. -*- Autoconf -*- # Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) # -------------------- # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), [1])]) # _AM_SET_OPTIONS(OPTIONS) # ------------------------ # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) # Copyright (C) 1999-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_PROG_CC_C_O # --------------- # Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC # to automatically call this. AC_DEFUN([_AM_PROG_CC_C_O], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([compile])dnl AC_LANG_PUSH([C])dnl AC_CACHE_CHECK( [whether $CC understands -c and -o together], [am_cv_prog_cc_c_o], [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) # 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 AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ && 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]) 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_LANG_POP([C])]) # For backward compatibility. AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) # Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_RUN_LOG(COMMAND) # ------------------- # Run COMMAND, save the exit status in ac_status, and log it. # (This has been adapted from Autoconf's _AC_RUN_LOG macro.) AC_DEFUN([AM_RUN_LOG], [{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD (exit $ac_status); }]) # Check to make sure that the build environment is sane. -*- Autoconf -*- # Copyright (C) 1996-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # 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]]*) AC_MSG_ERROR([unsafe absolute working directory name]);; esac case $srcdir in *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; esac AC_MSG_RESULT([yes]) ]) # Copyright (C) 2009-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_SILENT_RULES([DEFAULT]) # -------------------------- # Enable less verbose build rules; with the default set to DEFAULT # ("yes" being less verbose, "no" or empty being verbose). AC_DEFUN([AM_SILENT_RULES], [AC_ARG_ENABLE([silent-rules], [dnl AS_HELP_STRING( [--enable-silent-rules], [less verbose build output (undo: "make V=1")]) AS_HELP_STRING( [--disable-silent-rules], [verbose build output (undo: "make V=0")])dnl ]) case $enable_silent_rules in @%:@ ((( yes) AM_DEFAULT_VERBOSITY=0;; no) AM_DEFAULT_VERBOSITY=1;; *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; esac dnl dnl A few 'make' implementations (e.g., NonStop OS and NextStep) dnl do not support nested variable expansions. dnl See automake bug#9928 and bug#10237. am_make=${MAKE-make} AC_CACHE_CHECK([whether $am_make supports nested variables], [am_cv_make_support_nested_variables], [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]) if test $am_cv_make_support_nested_variables = yes; then dnl Using '$V' instead of '$(V)' breaks IRIX make. AM_V='$(V)' AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' else AM_V=$AM_DEFAULT_VERBOSITY AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY fi AC_SUBST([AM_V])dnl AM_SUBST_NOTMAKE([AM_V])dnl AC_SUBST([AM_DEFAULT_V])dnl AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl AC_SUBST([AM_DEFAULT_VERBOSITY])dnl AM_BACKSLASH='\' AC_SUBST([AM_BACKSLASH])dnl _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl ]) # Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_STRIP # --------------------- # One issue with vendor 'install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip # is unlikely to handle the host's binaries. # Fortunately install-sh will honor a STRIPPROG variable, so we # always use install-sh in "make install-strip", and initialize # STRIPPROG with the value of the STRIP variable (set by the user). AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl # 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. dnl Don't test for $cross_compiling = yes, because it might be 'maybe'. if test "$cross_compiling" != no; then AC_CHECK_TOOL([STRIP], [strip], :) fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) # Copyright (C) 2006-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. # This macro is traced by Automake. AC_DEFUN([_AM_SUBST_NOTMAKE]) # AM_SUBST_NOTMAKE(VARIABLE) # -------------------------- # Public sister of _AM_SUBST_NOTMAKE. AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Check how to create a tarball. -*- Autoconf -*- # Copyright (C) 2004-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_PROG_TAR(FORMAT) # -------------------- # Check how to create a tarball in format FORMAT. # FORMAT should be one of 'v7', 'ustar', or 'pax'. # # Substitute a variable $(am__tar) that is a command # writing to stdout a FORMAT-tarball containing the directory # $tardir. # tardir=directory && $(am__tar) > result.tar # # Substitute a variable $(am__untar) that extract such # a tarball read from stdin. # $(am__untar) < result.tar # AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. Yes, it's still used # in the wild :-( We should find a proper way to deprecate it ... AC_SUBST([AMTAR], ['$${TAR-tar}']) # We'll loop over all known methods to create a tar archive until one works. _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' m4_if([$1], [v7], [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], [m4_case([$1], [ustar], [# The POSIX 1988 'ustar' format is defined with fixed-size fields. # There is notably a 21 bits limit for the UID and the GID. In fact, # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 # and bug#13588). am_max_uid=2097151 # 2^21 - 1 am_max_gid=$am_max_uid # The $UID and $GID variables are not portable, so we need to resort # to the POSIX-mandated id(1) utility. Errors in the 'id' calls # below are definitely unexpected, so allow the users to see them # (that is, avoid stderr redirection). am_uid=`id -u || echo unknown` am_gid=`id -g || echo unknown` AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) if test $am_uid -le $am_max_uid; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) _am_tools=none fi AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) if test $am_gid -le $am_max_gid; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) _am_tools=none fi], [pax], [], [m4_fatal([Unknown tar format])]) AC_MSG_CHECKING([how to create a $1 tar archive]) # 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_$1-$_am_tools} for _am_tool in $_am_tools; do case $_am_tool in gnutar) for _am_tar in tar gnutar gtar; do AM_RUN_LOG([$_am_tar --version]) && break done am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -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 $1 -w "$$tardir"' am__tar_='pax -L -x $1 -w "$tardir"' am__untar='pax -r' ;; cpio) am__tar='find "$$tardir" -print | cpio -o -H $1 -L' am__tar_='find "$tardir" -print | cpio -o -H $1 -L' am__untar='cpio -i -H $1 -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_$1}" && break # tar/untar a dummy directory, and stop if the command works. rm -rf conftest.dir mkdir conftest.dir echo GrepMe > conftest.dir/file AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) rm -rf conftest.dir if test -s conftest.tar; then AM_RUN_LOG([$am__untar /dev/null 2>&1 && break fi done rm -rf conftest.dir AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) AC_MSG_RESULT([$am_cv_prog_tar_$1])]) AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR dnl Generated by ./xlat/gen.sh from ./xlat/btrfs_compress_types.in; do not edit. AC_DEFUN([st_CHECK_ENUMS_btrfs_compress_types],[ AC_CHECK_DECLS(m4_normalize([ BTRFS_COMPRESS_NONE, BTRFS_COMPRESS_ZLIB, BTRFS_COMPRESS_LZO, BTRFS_COMPRESS_ZSTD ]),,, [ #include #include ])])]) dnl Generated by ./xlat/gen.sh from ./xlat/close_range_flags.in; do not edit. AC_DEFUN([st_CHECK_ENUMS_close_range_flags],[ AC_CHECK_DECLS(m4_normalize([ CLOSE_RANGE_UNSHARE ]),,, [ #include ])])]) dnl Generated by ./xlat/gen.sh from ./xlat/loop_flags_options.in; do not edit. AC_DEFUN([st_CHECK_ENUMS_loop_flags_options],[ AC_CHECK_DECLS(m4_normalize([ LO_FLAGS_READ_ONLY, LO_FLAGS_USE_AOPS, LO_FLAGS_AUTOCLEAR, LO_FLAGS_PARTSCAN, LO_FLAGS_DIRECT_IO ]),,, [ #include ])])]) dnl Generated by ./xlat/gen.sh from ./xlat/rtnl_ifla_xdp_attached_mode.in; do not edit. AC_DEFUN([st_CHECK_ENUMS_rtnl_ifla_xdp_attached_mode],[ AC_CHECK_DECLS(m4_normalize([ XDP_ATTACHED_NONE, XDP_ATTACHED_DRV, XDP_ATTACHED_SKB, XDP_ATTACHED_HW, XDP_ATTACHED_MULTI ]),,, [ #include #include ])])]) dnl Generated by ./xlat/gen.sh from ./xlat/rtnl_ifla_xdp_attrs.in; do not edit. AC_DEFUN([st_CHECK_ENUMS_rtnl_ifla_xdp_attrs],[ AC_CHECK_DECLS(m4_normalize([ IFLA_XDP_UNSPEC, IFLA_XDP_FD, IFLA_XDP_ATTACHED, IFLA_XDP_FLAGS, IFLA_XDP_PROG_ID, IFLA_XDP_DRV_PROG_ID, IFLA_XDP_SKB_PROG_ID, IFLA_XDP_HW_PROG_ID, IFLA_XDP_EXPECTED_FD ]),,, [ #include #include ])])]) dnl Generated by ./xlat/gen.sh from ./xlat/rtnl_link_attrs.in; do not edit. AC_DEFUN([st_CHECK_ENUMS_rtnl_link_attrs],[ AC_CHECK_DECLS(m4_normalize([ IFLA_UNSPEC, IFLA_ADDRESS, IFLA_BROADCAST, IFLA_IFNAME, IFLA_MTU, IFLA_LINK, IFLA_QDISC, IFLA_STATS, IFLA_COST, IFLA_PRIORITY, IFLA_MASTER, IFLA_WIRELESS, IFLA_PROTINFO, IFLA_TXQLEN, IFLA_MAP, IFLA_WEIGHT, IFLA_OPERSTATE, IFLA_LINKMODE, IFLA_LINKINFO, IFLA_NET_NS_PID, IFLA_IFALIAS, IFLA_NUM_VF, IFLA_VFINFO_LIST, IFLA_STATS64, IFLA_VF_PORTS, IFLA_PORT_SELF, IFLA_AF_SPEC, IFLA_GROUP, IFLA_NET_NS_FD, IFLA_EXT_MASK, IFLA_PROMISCUITY, IFLA_NUM_TX_QUEUES, IFLA_NUM_RX_QUEUES, IFLA_CARRIER, IFLA_PHYS_PORT_ID, IFLA_CARRIER_CHANGES, IFLA_PHYS_SWITCH_ID, IFLA_LINK_NETNSID, IFLA_PHYS_PORT_NAME, IFLA_PROTO_DOWN, IFLA_GSO_MAX_SEGS, IFLA_GSO_MAX_SIZE, IFLA_PAD, IFLA_XDP, IFLA_EVENT, IFLA_NEW_NETNSID, IFLA_IF_NETNSID, IFLA_CARRIER_UP_COUNT, IFLA_CARRIER_DOWN_COUNT, IFLA_NEW_IFINDEX, IFLA_MIN_MTU, IFLA_MAX_MTU, IFLA_PROP_LIST, IFLA_ALT_IFNAME, IFLA_PERM_ADDRESS, IFLA_PROTO_DOWN_REASON ]),,, [ #include #include ])])]) dnl Generated by ./xlat/gen.sh from ./xlat/rtnl_tc_action_attrs.in; do not edit. AC_DEFUN([st_CHECK_ENUMS_rtnl_tc_action_attrs],[ AC_CHECK_DECLS(m4_normalize([ TCA_ACT_UNSPEC, TCA_ACT_KIND, TCA_ACT_OPTIONS, TCA_ACT_INDEX, TCA_ACT_STATS, TCA_ACT_PAD, TCA_ACT_COOKIE, TCA_ACT_FLAGS, TCA_ACT_HW_STATS, TCA_ACT_USED_HW_STATS ]),,, [ #include ])])]) dnl Generated by ./xlat/gen.sh from ./xlat/rtnl_tca_stab_attrs.in; do not edit. AC_DEFUN([st_CHECK_ENUMS_rtnl_tca_stab_attrs],[ AC_CHECK_DECLS(m4_normalize([ TCA_STAB_UNSPEC, TCA_STAB_BASE, TCA_STAB_DATA ]),,, [ #include #include ])])]) dnl Generated by ./xlat/gen.sh from ./xlat/rtnl_tca_stats_attrs.in; do not edit. AC_DEFUN([st_CHECK_ENUMS_rtnl_tca_stats_attrs],[ AC_CHECK_DECLS(m4_normalize([ TCA_STATS_UNSPEC, TCA_STATS_BASIC, TCA_STATS_RATE_EST, TCA_STATS_QUEUE, TCA_STATS_APP, TCA_STATS_RATE_EST64, TCA_STATS_PAD, TCA_STATS_BASIC_HW, TCA_STATS_PKT64 ]),,, [ #include ])])]) AC_DEFUN([st_CHECK_ENUMS],[ st_CHECK_ENUMS_btrfs_compress_types st_CHECK_ENUMS_close_range_flags st_CHECK_ENUMS_loop_flags_options st_CHECK_ENUMS_rtnl_ifla_xdp_attached_mode st_CHECK_ENUMS_rtnl_ifla_xdp_attrs st_CHECK_ENUMS_rtnl_link_attrs st_CHECK_ENUMS_rtnl_tc_action_attrs st_CHECK_ENUMS_rtnl_tca_stab_attrs st_CHECK_ENUMS_rtnl_tca_stats_attrs st_CHECK_ENUMS_sysctl_kern st_CHECK_ENUMS_sysctl_net st_CHECK_ENUMS_sysctl_net_core st_CHECK_ENUMS_sysctl_net_ipv4 st_CHECK_ENUMS_sysctl_net_ipv4_conf st_CHECK_ENUMS_sysctl_net_ipv4_route st_CHECK_ENUMS_sysctl_net_ipv6 st_CHECK_ENUMS_sysctl_net_ipv6_route st_CHECK_ENUMS_sysctl_net_unix st_CHECK_ENUMS_sysctl_root st_CHECK_ENUMS_sysctl_vm st_CHECK_ENUMS_uring_ops st_CHECK_ENUMS_uring_register_opcodes st_CHECK_ENUMS_v4l2_buf_types st_CHECK_ENUMS_v4l2_colorspaces st_CHECK_ENUMS_v4l2_control_types st_CHECK_ENUMS_v4l2_fields st_CHECK_ENUMS_v4l2_framesize_types st_CHECK_ENUMS_v4l2_memories st_CHECK_ENUMS_v4l2_tuner_types st_CHECK_ENUMS_waitid_types ]) dnl Generated by ./xlat/gen.sh from ./xlat/sysctl_kern.in; do not edit. AC_DEFUN([st_CHECK_ENUMS_sysctl_kern],[ AC_CHECK_DECLS(m4_normalize([ KERN_OSTYPE, KERN_OSRELEASE, KERN_OSREV, KERN_VERSION, KERN_SECUREMASK, KERN_PROF, KERN_NODENAME, KERN_DOMAINNAME, KERN_PANIC, KERN_REALROOTDEV, KERN_SPARC_REBOOT, KERN_CTLALTDEL, KERN_PRINTK, KERN_NAMETRANS, KERN_PPC_HTABRECLAIM, KERN_PPC_ZEROPAGED, KERN_PPC_POWERSAVE_NAP, KERN_MODPROBE, KERN_SG_BIG_BUFF, KERN_ACCT, KERN_PPC_L2CR, KERN_RTSIGNR, KERN_RTSIGMAX, KERN_SHMMAX, KERN_MSGMAX, KERN_MSGMNB, KERN_MSGPOOL, KERN_SYSRQ, KERN_MAX_THREADS, KERN_RANDOM, KERN_SHMALL, KERN_MSGMNI, KERN_SEM, KERN_SPARC_STOP_A, KERN_SHMMNI, KERN_OVERFLOWUID, KERN_OVERFLOWGID, KERN_SHMPATH, KERN_HOTPLUG, KERN_IEEE_EMULATION_WARNINGS, KERN_S390_USER_DEBUG_LOGGING, KERN_CORE_USES_PID, KERN_TAINTED, KERN_CADPID, KERN_PIDMAX, KERN_CORE_PATTERN, KERN_PANIC_ON_OOPS, KERN_HPPA_PWRSW, KERN_HPPA_UNALIGNED, KERN_PRINTK_RATELIMIT, KERN_PRINTK_RATELIMIT_BURST, KERN_PTY, KERN_NGROUPS_MAX, KERN_SPARC_SCONS_PWROFF, KERN_HZ_TIMER, KERN_UNKNOWN_NMI_PANIC, KERN_BOOTLOADER_TYPE, KERN_RANDOMIZE, KERN_SETUID_DUMPABLE, KERN_SPIN_RETRY, KERN_ACPI_VIDEO_FLAGS, KERN_IA64_UNALIGNED, KERN_COMPAT_LOG, KERN_MAX_LOCK_DEPTH, KERN_NMI_WATCHDOG, KERN_PANIC_ON_NMI, KERN_PANIC_ON_WARN, KERN_PANIC_PRINT ]),,, [ #include #include ])])]) dnl Generated by ./xlat/gen.sh from ./xlat/sysctl_net.in; do not edit. AC_DEFUN([st_CHECK_ENUMS_sysctl_net],[ AC_CHECK_DECLS(m4_normalize([ NET_CORE, NET_ETHER, NET_802, NET_UNIX, NET_IPV4, NET_IPX, NET_ATALK, NET_NETROM, NET_AX25, NET_BRIDGE, NET_ROSE, NET_IPV6, NET_X25, NET_TR, NET_DECNET, NET_ECONET, NET_SCTP, NET_LLC, NET_NETFILTER, NET_DCCP, NET_IRDA ]),,, [ #include #include ])])]) dnl Generated by ./xlat/gen.sh from ./xlat/sysctl_net_core.in; do not edit. AC_DEFUN([st_CHECK_ENUMS_sysctl_net_core],[ AC_CHECK_DECLS(m4_normalize([ NET_CORE_WMEM_MAX, NET_CORE_RMEM_MAX, NET_CORE_WMEM_DEFAULT, NET_CORE_RMEM_DEFAULT, NET_CORE_MAX_BACKLOG, NET_CORE_FASTROUTE, NET_CORE_MSG_COST, NET_CORE_MSG_BURST, NET_CORE_OPTMEM_MAX, NET_CORE_HOT_LIST_LENGTH, NET_CORE_DIVERT_VERSION, NET_CORE_NO_CONG_THRESH, NET_CORE_NO_CONG, NET_CORE_LO_CONG, NET_CORE_MOD_CONG, NET_CORE_DEV_WEIGHT, NET_CORE_SOMAXCONN, NET_CORE_DESTROY_DELAY, NET_CORE_BUDGET, NET_CORE_AEVENT_ETIME, NET_CORE_AEVENT_RSEQTH, NET_CORE_WARNINGS ]),,, [ #include #include ])])]) dnl Generated by ./xlat/gen.sh from ./xlat/sysctl_net_ipv4.in; do not edit. AC_DEFUN([st_CHECK_ENUMS_sysctl_net_ipv4],[ AC_CHECK_DECLS(m4_normalize([ NET_IPV4_FORWARD, NET_IPV4_DYNADDR, NET_IPV4_CONF, NET_IPV4_NEIGH, NET_IPV4_ROUTE, NET_IPV4_FIB_HASH, NET_IPV4_NETFILTER, NET_IPV4_TCP_TIMESTAMPS, NET_IPV4_TCP_WINDOW_SCALING, NET_IPV4_TCP_SACK, NET_IPV4_TCP_RETRANS_COLLAPSE, NET_IPV4_DEFAULT_TTL, NET_IPV4_AUTOCONFIG, NET_IPV4_NO_PMTU_DISC, NET_IPV4_TCP_SYN_RETRIES, NET_IPV4_IPFRAG_HIGH_THRESH, NET_IPV4_IPFRAG_LOW_THRESH, NET_IPV4_IPFRAG_TIME, NET_IPV4_TCP_MAX_KA_PROBES, NET_IPV4_TCP_KEEPALIVE_TIME, NET_IPV4_TCP_KEEPALIVE_PROBES, NET_IPV4_TCP_RETRIES1, NET_IPV4_TCP_RETRIES2, NET_IPV4_TCP_FIN_TIMEOUT, NET_IPV4_IP_MASQ_DEBUG, NET_TCP_SYNCOOKIES, NET_TCP_STDURG, NET_TCP_RFC1337, NET_TCP_SYN_TAILDROP, NET_TCP_MAX_SYN_BACKLOG, NET_IPV4_LOCAL_PORT_RANGE, NET_IPV4_ICMP_ECHO_IGNORE_ALL, NET_IPV4_ICMP_ECHO_IGNORE_BROADCASTS, NET_IPV4_ICMP_SOURCEQUENCH_RATE, NET_IPV4_ICMP_DESTUNREACH_RATE, NET_IPV4_ICMP_TIMEEXCEED_RATE, NET_IPV4_ICMP_PARAMPROB_RATE, NET_IPV4_ICMP_ECHOREPLY_RATE, NET_IPV4_ICMP_IGNORE_BOGUS_ERROR_RESPONSES, NET_IPV4_IGMP_MAX_MEMBERSHIPS, NET_TCP_TW_RECYCLE, NET_IPV4_ALWAYS_DEFRAG, NET_IPV4_TCP_KEEPALIVE_INTVL, NET_IPV4_INET_PEER_THRESHOLD, NET_IPV4_INET_PEER_MINTTL, NET_IPV4_INET_PEER_MAXTTL, NET_IPV4_INET_PEER_GC_MINTIME, NET_IPV4_INET_PEER_GC_MAXTIME, NET_TCP_ORPHAN_RETRIES, NET_TCP_ABORT_ON_OVERFLOW, NET_TCP_SYNACK_RETRIES, NET_TCP_MAX_ORPHANS, NET_TCP_MAX_TW_BUCKETS, NET_TCP_FACK, NET_TCP_REORDERING, NET_TCP_ECN, NET_TCP_DSACK, NET_TCP_MEM, NET_TCP_WMEM, NET_TCP_RMEM, NET_TCP_APP_WIN, NET_TCP_ADV_WIN_SCALE, NET_IPV4_NONLOCAL_BIND, NET_IPV4_ICMP_RATELIMIT, NET_IPV4_ICMP_RATEMASK, NET_TCP_TW_REUSE, NET_TCP_FRTO, NET_TCP_LOW_LATENCY, NET_IPV4_IPFRAG_SECRET_INTERVAL, NET_IPV4_IGMP_MAX_MSF, NET_TCP_NO_METRICS_SAVE, NET_TCP_DEFAULT_WIN_SCALE, NET_TCP_MODERATE_RCVBUF, NET_TCP_TSO_WIN_DIVISOR, NET_TCP_BIC_BETA, NET_IPV4_ICMP_ERRORS_USE_INBOUND_IFADDR, NET_TCP_CONG_CONTROL, NET_TCP_ABC, NET_IPV4_IPFRAG_MAX_DIST, NET_TCP_MTU_PROBING, NET_TCP_BASE_MSS, NET_IPV4_TCP_WORKAROUND_SIGNED_WINDOWS, NET_TCP_DMA_COPYBREAK, NET_TCP_SLOW_START_AFTER_IDLE, NET_CIPSOV4_CACHE_ENABLE, NET_CIPSOV4_CACHE_BUCKET_SIZE, NET_CIPSOV4_RBM_OPTFMT, NET_CIPSOV4_RBM_STRICTVALID, NET_TCP_AVAIL_CONG_CONTROL, NET_TCP_ALLOWED_CONG_CONTROL, NET_TCP_MAX_SSTHRESH, NET_TCP_FRTO_RESPONSE ]),,, [ #include #include ])])]) dnl Generated by ./xlat/gen.sh from ./xlat/sysctl_net_ipv4_conf.in; do not edit. AC_DEFUN([st_CHECK_ENUMS_sysctl_net_ipv4_conf],[ AC_CHECK_DECLS(m4_normalize([ NET_IPV4_CONF_FORWARDING, NET_IPV4_CONF_MC_FORWARDING, NET_IPV4_CONF_PROXY_ARP, NET_IPV4_CONF_ACCEPT_REDIRECTS, NET_IPV4_CONF_SECURE_REDIRECTS, NET_IPV4_CONF_SEND_REDIRECTS, NET_IPV4_CONF_SHARED_MEDIA, NET_IPV4_CONF_RP_FILTER, NET_IPV4_CONF_ACCEPT_SOURCE_ROUTE, NET_IPV4_CONF_BOOTP_RELAY, NET_IPV4_CONF_LOG_MARTIANS, NET_IPV4_CONF_TAG, NET_IPV4_CONF_ARPFILTER, NET_IPV4_CONF_MEDIUM_ID, NET_IPV4_CONF_NOXFRM, NET_IPV4_CONF_NOPOLICY, NET_IPV4_CONF_FORCE_IGMP_VERSION, NET_IPV4_CONF_ARP_ANNOUNCE, NET_IPV4_CONF_ARP_IGNORE, NET_IPV4_CONF_PROMOTE_SECONDARIES, NET_IPV4_CONF_ARP_ACCEPT, NET_IPV4_CONF_ARP_NOTIFY ]),,, [ #include #include ])])]) dnl Generated by ./xlat/gen.sh from ./xlat/sysctl_net_ipv4_route.in; do not edit. AC_DEFUN([st_CHECK_ENUMS_sysctl_net_ipv4_route],[ AC_CHECK_DECLS(m4_normalize([ NET_IPV4_ROUTE_FLUSH, NET_IPV4_ROUTE_MIN_DELAY, NET_IPV4_ROUTE_MAX_DELAY, NET_IPV4_ROUTE_GC_THRESH, NET_IPV4_ROUTE_MAX_SIZE, NET_IPV4_ROUTE_GC_MIN_INTERVAL, NET_IPV4_ROUTE_GC_TIMEOUT, NET_IPV4_ROUTE_GC_INTERVAL, NET_IPV4_ROUTE_REDIRECT_LOAD, NET_IPV4_ROUTE_REDIRECT_NUMBER, NET_IPV4_ROUTE_REDIRECT_SILENCE, NET_IPV4_ROUTE_ERROR_COST, NET_IPV4_ROUTE_ERROR_BURST, NET_IPV4_ROUTE_GC_ELASTICITY, NET_IPV4_ROUTE_MTU_EXPIRES, NET_IPV4_ROUTE_MIN_PMTU, NET_IPV4_ROUTE_MIN_ADVMSS, NET_IPV4_ROUTE_SECRET_INTERVAL, NET_IPV4_ROUTE_GC_MIN_INTERVAL_MS ]),,, [ #include #include ])])]) dnl Generated by ./xlat/gen.sh from ./xlat/sysctl_net_ipv6.in; do not edit. AC_DEFUN([st_CHECK_ENUMS_sysctl_net_ipv6],[ AC_CHECK_DECLS(m4_normalize([ NET_IPV6_CONF, NET_IPV6_NEIGH, NET_IPV6_ROUTE, NET_IPV6_ICMP, NET_IPV6_BINDV6ONLY, NET_IPV6_IP6FRAG_HIGH_THRESH, NET_IPV6_IP6FRAG_LOW_THRESH, NET_IPV6_IP6FRAG_TIME, NET_IPV6_IP6FRAG_SECRET_INTERVAL, NET_IPV6_MLD_MAX_MSF ]),,, [ #include #include ])])]) dnl Generated by ./xlat/gen.sh from ./xlat/sysctl_net_ipv6_route.in; do not edit. AC_DEFUN([st_CHECK_ENUMS_sysctl_net_ipv6_route],[ AC_CHECK_DECLS(m4_normalize([ NET_IPV6_ROUTE_FLUSH, NET_IPV6_ROUTE_GC_THRESH, NET_IPV6_ROUTE_MAX_SIZE, NET_IPV6_ROUTE_GC_MIN_INTERVAL, NET_IPV6_ROUTE_GC_TIMEOUT, NET_IPV6_ROUTE_GC_INTERVAL, NET_IPV6_ROUTE_GC_ELASTICITY, NET_IPV6_ROUTE_MTU_EXPIRES, NET_IPV6_ROUTE_MIN_ADVMSS, NET_IPV6_ROUTE_GC_MIN_INTERVAL_MS ]),,, [ #include #include ])])]) dnl Generated by ./xlat/gen.sh from ./xlat/sysctl_net_unix.in; do not edit. AC_DEFUN([st_CHECK_ENUMS_sysctl_net_unix],[ AC_CHECK_DECLS(m4_normalize([ NET_UNIX_DESTROY_DELAY, NET_UNIX_DELETE_DELAY, NET_UNIX_MAX_DGRAM_QLEN ]),,, [ #include #include ])])]) dnl Generated by ./xlat/gen.sh from ./xlat/sysctl_root.in; do not edit. AC_DEFUN([st_CHECK_ENUMS_sysctl_root],[ AC_CHECK_DECLS(m4_normalize([ CTL_KERN, CTL_VM, CTL_NET, CTL_FS, CTL_DEBUG, CTL_DEV, CTL_BUS, CTL_ABI, CTL_CPU, CTL_PROC, CTL_ARLAN, CTL_S390DBF, CTL_SUNRPC, CTL_PM, CTL_FRV ]),,, [ #include #include ])])]) dnl Generated by ./xlat/gen.sh from ./xlat/sysctl_vm.in; do not edit. AC_DEFUN([st_CHECK_ENUMS_sysctl_vm],[ AC_CHECK_DECLS(m4_normalize([ VM_OVERCOMMIT_MEMORY, VM_PAGE_CLUSTER, VM_DIRTY_BACKGROUND, VM_DIRTY_RATIO, VM_DIRTY_WB_CS, VM_DIRTY_EXPIRE_CS, VM_NR_PDFLUSH_THREADS, VM_OVERCOMMIT_RATIO, VM_PAGEBUF, VM_HUGETLB_PAGES, VM_SWAPPINESS, VM_LOWMEM_RESERVE_RATIO, VM_MIN_FREE_KBYTES, VM_MAX_MAP_COUNT, VM_LAPTOP_MODE, VM_BLOCK_DUMP, VM_HUGETLB_GROUP, VM_VFS_CACHE_PRESSURE, VM_LEGACY_VA_LAYOUT, VM_SWAP_TOKEN_TIMEOUT ]),,, [ #include #include ])])]) dnl Generated by ./xlat/gen.sh from ./xlat/uring_ops.in; do not edit. AC_DEFUN([st_CHECK_ENUMS_uring_ops],[ AC_CHECK_DECLS(m4_normalize([ IORING_OP_NOP, IORING_OP_READV, IORING_OP_WRITEV, IORING_OP_FSYNC, IORING_OP_READ_FIXED, IORING_OP_WRITE_FIXED, IORING_OP_POLL_ADD, IORING_OP_POLL_REMOVE, IORING_OP_SYNC_FILE_RANGE, IORING_OP_SENDMSG, IORING_OP_RECVMSG, IORING_OP_TIMEOUT, IORING_OP_TIMEOUT_REMOVE, IORING_OP_ACCEPT, IORING_OP_ASYNC_CANCEL, IORING_OP_LINK_TIMEOUT, IORING_OP_CONNECT, IORING_OP_FALLOCATE, IORING_OP_OPENAT, IORING_OP_CLOSE, IORING_OP_FILES_UPDATE, IORING_OP_STATX, IORING_OP_READ, IORING_OP_WRITE, IORING_OP_FADVISE, IORING_OP_MADVISE, IORING_OP_SEND, IORING_OP_RECV, IORING_OP_OPENAT2, IORING_OP_EPOLL_CTL, IORING_OP_SPLICE, IORING_OP_PROVIDE_BUFFERS, IORING_OP_REMOVE_BUFFERS, IORING_OP_TEE ]),,, [ #include ])])]) dnl Generated by ./xlat/gen.sh from ./xlat/uring_register_opcodes.in; do not edit. AC_DEFUN([st_CHECK_ENUMS_uring_register_opcodes],[ AC_CHECK_DECLS(m4_normalize([ IORING_REGISTER_BUFFERS, IORING_UNREGISTER_BUFFERS, IORING_REGISTER_FILES, IORING_UNREGISTER_FILES, IORING_REGISTER_EVENTFD, IORING_UNREGISTER_EVENTFD, IORING_REGISTER_FILES_UPDATE, IORING_REGISTER_EVENTFD_ASYNC, IORING_REGISTER_PROBE, IORING_REGISTER_PERSONALITY, IORING_UNREGISTER_PERSONALITY, IORING_REGISTER_RESTRICTIONS, IORING_REGISTER_ENABLE_RINGS ]),,, [ #include ])])]) dnl Generated by ./xlat/gen.sh from ./xlat/v4l2_buf_types.in; do not edit. AC_DEFUN([st_CHECK_ENUMS_v4l2_buf_types],[ AC_CHECK_DECLS(m4_normalize([ V4L2_BUF_TYPE_VIDEO_CAPTURE, V4L2_BUF_TYPE_VIDEO_OUTPUT, V4L2_BUF_TYPE_VIDEO_OVERLAY, V4L2_BUF_TYPE_VBI_CAPTURE, V4L2_BUF_TYPE_VBI_OUTPUT, V4L2_BUF_TYPE_SLICED_VBI_CAPTURE, V4L2_BUF_TYPE_SLICED_VBI_OUTPUT, V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY, V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE, V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE, V4L2_BUF_TYPE_SDR_CAPTURE, V4L2_BUF_TYPE_SDR_OUTPUT, V4L2_BUF_TYPE_META_CAPTURE, V4L2_BUF_TYPE_META_OUTPUT ]),,, [ #include #include #include #include ])])]) dnl Generated by ./xlat/gen.sh from ./xlat/v4l2_colorspaces.in; do not edit. AC_DEFUN([st_CHECK_ENUMS_v4l2_colorspaces],[ AC_CHECK_DECLS(m4_normalize([ V4L2_COLORSPACE_DEFAULT, V4L2_COLORSPACE_SMPTE170M, V4L2_COLORSPACE_SMPTE240M, V4L2_COLORSPACE_REC709, V4L2_COLORSPACE_BT878, V4L2_COLORSPACE_470_SYSTEM_M, V4L2_COLORSPACE_470_SYSTEM_BG, V4L2_COLORSPACE_JPEG, V4L2_COLORSPACE_SRGB, V4L2_COLORSPACE_OPRGB, V4L2_COLORSPACE_BT2020, V4L2_COLORSPACE_RAW, V4L2_COLORSPACE_DCI_P3 ]),,, [ #include #include #include #include ])])]) dnl Generated by ./xlat/gen.sh from ./xlat/v4l2_control_types.in; do not edit. AC_DEFUN([st_CHECK_ENUMS_v4l2_control_types],[ AC_CHECK_DECLS(m4_normalize([ V4L2_CTRL_TYPE_INTEGER, V4L2_CTRL_TYPE_BOOLEAN, V4L2_CTRL_TYPE_MENU, V4L2_CTRL_TYPE_BUTTON, V4L2_CTRL_TYPE_INTEGER64, V4L2_CTRL_TYPE_CTRL_CLASS, V4L2_CTRL_TYPE_STRING, V4L2_CTRL_TYPE_BITMASK, V4L2_CTRL_TYPE_INTEGER_MENU, V4L2_CTRL_TYPE_U8, V4L2_CTRL_TYPE_U16, V4L2_CTRL_TYPE_U32, V4L2_CTRL_TYPE_AREA ]),,, [ #include #include #include #include ])])]) dnl Generated by ./xlat/gen.sh from ./xlat/v4l2_fields.in; do not edit. AC_DEFUN([st_CHECK_ENUMS_v4l2_fields],[ AC_CHECK_DECLS(m4_normalize([ V4L2_FIELD_ANY, V4L2_FIELD_NONE, V4L2_FIELD_TOP, V4L2_FIELD_BOTTOM, V4L2_FIELD_INTERLACED, V4L2_FIELD_SEQ_TB, V4L2_FIELD_SEQ_BT, V4L2_FIELD_ALTERNATE, V4L2_FIELD_INTERLACED_TB, V4L2_FIELD_INTERLACED_BT ]),,, [ #include #include #include #include ])])]) dnl Generated by ./xlat/gen.sh from ./xlat/v4l2_framesize_types.in; do not edit. AC_DEFUN([st_CHECK_ENUMS_v4l2_framesize_types],[ AC_CHECK_DECLS(m4_normalize([ V4L2_FRMSIZE_TYPE_DISCRETE, V4L2_FRMSIZE_TYPE_CONTINUOUS, V4L2_FRMSIZE_TYPE_STEPWISE ]),,, [ #include #include #include #include ])])]) dnl Generated by ./xlat/gen.sh from ./xlat/v4l2_memories.in; do not edit. AC_DEFUN([st_CHECK_ENUMS_v4l2_memories],[ AC_CHECK_DECLS(m4_normalize([ V4L2_MEMORY_MMAP, V4L2_MEMORY_USERPTR, V4L2_MEMORY_OVERLAY, V4L2_MEMORY_DMABUF ]),,, [ #include #include #include #include ])])]) dnl Generated by ./xlat/gen.sh from ./xlat/v4l2_tuner_types.in; do not edit. AC_DEFUN([st_CHECK_ENUMS_v4l2_tuner_types],[ AC_CHECK_DECLS(m4_normalize([ V4L2_TUNER_RADIO, V4L2_TUNER_ANALOG_TV, V4L2_TUNER_DIGITAL_TV, V4L2_TUNER_SDR, V4L2_TUNER_RF ]),,, [ #include #include #include #include ])])]) dnl Generated by ./xlat/gen.sh from ./xlat/waitid_types.in; do not edit. AC_DEFUN([st_CHECK_ENUMS_waitid_types],[ AC_CHECK_DECLS(m4_normalize([ P_ALL, P_PID, P_PGID, P_PIDFD ]),,, [ #include #include ])])]) dnl Generated by ./types/gen.sh from ./types/btrfs.h; do not edit. AC_DEFUN([st_CHECK_TYPES_BTRFS],[ AC_CHECK_HEADERS([linux/btrfs.h],[ AC_CHECK_TYPES([struct btrfs_ioctl_logical_ino_args], [AC_CHECK_MEMBERS([struct btrfs_ioctl_logical_ino_args.inodes],,,[AC_INCLUDES_DEFAULT #include #include #include ])],,[AC_INCLUDES_DEFAULT #include #include #include ]) ],[],[AC_INCLUDES_DEFAULT #include #include ])]) dnl Generated by ./types/gen.sh from ./types/cryptouser.h; do not edit. AC_DEFUN([st_CHECK_TYPES_CRYPTOUSER],[ AC_CHECK_HEADERS([linux/cryptouser.h],[ AC_CHECK_TYPES([struct crypto_user_alg], [AC_CHECK_MEMBERS([struct crypto_user_alg.cru_flags],,,[AC_INCLUDES_DEFAULT #include ])],,[AC_INCLUDES_DEFAULT #include ]) AC_CHECK_TYPES([struct crypto_report_hash], [AC_CHECK_MEMBERS([struct crypto_report_hash.digestsize],,,[AC_INCLUDES_DEFAULT #include ])],,[AC_INCLUDES_DEFAULT #include ]) AC_CHECK_TYPES([struct crypto_report_cipher], [AC_CHECK_MEMBERS([struct crypto_report_cipher.max_keysize],,,[AC_INCLUDES_DEFAULT #include ])],,[AC_INCLUDES_DEFAULT #include ]) AC_CHECK_TYPES([struct crypto_report_blkcipher], [AC_CHECK_MEMBERS([struct crypto_report_blkcipher.ivsize],,,[AC_INCLUDES_DEFAULT #include ])],,[AC_INCLUDES_DEFAULT #include ]) AC_CHECK_TYPES([struct crypto_report_aead], [AC_CHECK_MEMBERS([struct crypto_report_aead.ivsize],,,[AC_INCLUDES_DEFAULT #include ])],,[AC_INCLUDES_DEFAULT #include ]) AC_CHECK_TYPES([struct crypto_report_rng], [AC_CHECK_MEMBERS([struct crypto_report_rng.seedsize],,,[AC_INCLUDES_DEFAULT #include ])],,[AC_INCLUDES_DEFAULT #include ]) ],[],[AC_INCLUDES_DEFAULT ])]) dnl Generated by ./types/gen.sh from ./types/evdev.h; do not edit. AC_DEFUN([st_CHECK_TYPES_EVDEV],[ AC_CHECK_HEADERS([linux/input.h],[ AC_CHECK_TYPES([struct input_absinfo], [AC_CHECK_MEMBERS([struct input_absinfo.resolution],,,[AC_INCLUDES_DEFAULT #include ])],,[AC_INCLUDES_DEFAULT #include ]) AC_CHECK_TYPES([struct input_keymap_entry], [AC_CHECK_MEMBERS([struct input_keymap_entry.scancode],,,[AC_INCLUDES_DEFAULT #include ])],,[AC_INCLUDES_DEFAULT #include ]) AC_CHECK_TYPES([struct input_mask], [AC_CHECK_MEMBERS([struct input_mask.codes_ptr],,,[AC_INCLUDES_DEFAULT #include ])],,[AC_INCLUDES_DEFAULT #include ]) ],[],[AC_INCLUDES_DEFAULT ])]) dnl Generated by ./types/gen.sh from ./types/io_uring.h; do not edit. AC_DEFUN([st_CHECK_TYPES_IO_URING],[ AC_CHECK_HEADERS([linux/io_uring.h],[ AC_CHECK_TYPES([struct io_sqring_offsets], [AC_CHECK_MEMBERS([struct io_sqring_offsets.resv2],,,[AC_INCLUDES_DEFAULT #include ])],,[AC_INCLUDES_DEFAULT #include ]) AC_CHECK_TYPES([struct io_cqring_offsets], [AC_CHECK_MEMBERS([struct io_cqring_offsets.cqes],,,[AC_INCLUDES_DEFAULT #include ])],,[AC_INCLUDES_DEFAULT #include ]) AC_CHECK_TYPES([struct io_uring_params], [AC_CHECK_MEMBERS([struct io_uring_params.cq_off],,,[AC_INCLUDES_DEFAULT #include ])],,[AC_INCLUDES_DEFAULT #include ]) AC_CHECK_TYPES([struct io_uring_files_update], [AC_CHECK_MEMBERS([struct io_uring_files_update.fds],,,[AC_INCLUDES_DEFAULT #include ])],,[AC_INCLUDES_DEFAULT #include ]) AC_CHECK_TYPES([struct io_uring_probe_op], [AC_CHECK_MEMBERS([struct io_uring_probe_op.resv2],,,[AC_INCLUDES_DEFAULT #include ])],,[AC_INCLUDES_DEFAULT #include ]) AC_CHECK_TYPES([struct io_uring_probe], [AC_CHECK_MEMBERS([struct io_uring_probe.ops],,,[AC_INCLUDES_DEFAULT #include ])],,[AC_INCLUDES_DEFAULT #include ]) ],[],[AC_INCLUDES_DEFAULT ])]) dnl Generated by ./types/gen.sh from ./types/loop.h; do not edit. AC_DEFUN([st_CHECK_TYPES_LOOP],[ AC_CHECK_HEADERS([linux/loop.h],[ AC_CHECK_TYPES([struct loop_config], [AC_CHECK_MEMBERS([struct loop_config.__reserved],,,[AC_INCLUDES_DEFAULT #include #include ])],,[AC_INCLUDES_DEFAULT #include #include ]) ],[],[AC_INCLUDES_DEFAULT #include ])]) dnl Generated by ./types/gen.sh from ./types/openat2.h; do not edit. AC_DEFUN([st_CHECK_TYPES_OPENAT2],[ AC_CHECK_HEADERS([linux/openat2.h],[ AC_CHECK_TYPES([struct open_how], [AC_CHECK_MEMBERS([struct open_how.resolve],,,[AC_INCLUDES_DEFAULT #include ])],,[AC_INCLUDES_DEFAULT #include ]) ],[],[AC_INCLUDES_DEFAULT ])]) dnl Generated by ./types/gen.sh from ./types/rtnl_link.h; do not edit. AC_DEFUN([st_CHECK_TYPES_RTNL_LINK],[ AC_CHECK_HEADERS([linux/rtnetlink.h],[ AC_CHECK_TYPES([struct rtnl_link_stats], [AC_CHECK_MEMBERS([struct rtnl_link_stats.rx_nohandler],,,[AC_INCLUDES_DEFAULT #include "$srcdir/netlink.h" #include ])],,[AC_INCLUDES_DEFAULT #include "$srcdir/netlink.h" #include ]) AC_CHECK_TYPES([struct rtnl_link_stats64], [AC_CHECK_MEMBERS([struct rtnl_link_stats64.rx_nohandler],,,[AC_INCLUDES_DEFAULT #include "$srcdir/netlink.h" #include ])],,[AC_INCLUDES_DEFAULT #include "$srcdir/netlink.h" #include ]) AC_CHECK_TYPES([struct ifla_bridge_id], [AC_CHECK_MEMBERS([struct ifla_bridge_id.addr],,,[AC_INCLUDES_DEFAULT #include "$srcdir/netlink.h" #include ])],,[AC_INCLUDES_DEFAULT #include "$srcdir/netlink.h" #include ]) AC_CHECK_TYPES([struct ifla_port_vsi], [AC_CHECK_MEMBERS([struct ifla_port_vsi.pad],,,[AC_INCLUDES_DEFAULT #include "$srcdir/netlink.h" #include ])],,[AC_INCLUDES_DEFAULT #include "$srcdir/netlink.h" #include ]) ],[],[AC_INCLUDES_DEFAULT #include "$srcdir/netlink.h"])]) dnl Generated by ./types/gen.sh from ./types/rtnl_mdb.h; do not edit. AC_DEFUN([st_CHECK_TYPES_RTNL_MDB],[ AC_CHECK_HEADERS([linux/if_bridge.h],[ AC_CHECK_TYPES([struct br_port_msg], [AC_CHECK_MEMBERS([struct br_port_msg.ifindex],,,[AC_INCLUDES_DEFAULT #include #include ])],,[AC_INCLUDES_DEFAULT #include #include ]) AC_CHECK_TYPES([struct br_mdb_entry], [AC_CHECK_MEMBERS([struct br_mdb_entry.addr],,,[AC_INCLUDES_DEFAULT #include #include ])],,[AC_INCLUDES_DEFAULT #include #include ]) ],[],[AC_INCLUDES_DEFAULT #include ])]) dnl Generated by ./types/gen.sh from ./types/rtnl_neightbl.h; do not edit. AC_DEFUN([st_CHECK_TYPES_RTNL_NEIGHTBL],[ AC_CHECK_HEADERS([linux/rtnetlink.h],[ AC_CHECK_TYPES([struct ndt_config], [AC_CHECK_MEMBERS([struct ndt_config.ndtc_proxy_qlen],,,[AC_INCLUDES_DEFAULT #include "$srcdir/netlink.h" #include ])],,[AC_INCLUDES_DEFAULT #include "$srcdir/netlink.h" #include ]) AC_CHECK_TYPES([struct ndt_stats], [AC_CHECK_MEMBERS([struct ndt_stats.ndts_table_fulls],,,[AC_INCLUDES_DEFAULT #include "$srcdir/netlink.h" #include ])],,[AC_INCLUDES_DEFAULT #include "$srcdir/netlink.h" #include ]) ],[],[AC_INCLUDES_DEFAULT #include "$srcdir/netlink.h"])]) dnl Generated by ./types/gen.sh from ./types/rtnl_route.h; do not edit. AC_DEFUN([st_CHECK_TYPES_RTNL_ROUTE],[ AC_CHECK_HEADERS([linux/rtnetlink.h],[ AC_CHECK_TYPES([struct rta_mfc_stats], [AC_CHECK_MEMBERS([struct rta_mfc_stats.mfcs_wrong_if],,,[AC_INCLUDES_DEFAULT #include "$srcdir/netlink.h" #include ])],,[AC_INCLUDES_DEFAULT #include "$srcdir/netlink.h" #include ]) AC_CHECK_TYPES([struct rtvia], [AC_CHECK_MEMBERS([struct rtvia.rtvia_addr],,,[AC_INCLUDES_DEFAULT #include "$srcdir/netlink.h" #include ])],,[AC_INCLUDES_DEFAULT #include "$srcdir/netlink.h" #include ]) ],[],[AC_INCLUDES_DEFAULT #include "$srcdir/netlink.h"])]) dnl Generated by ./types/gen.sh from ./types/tee.h; do not edit. AC_DEFUN([st_CHECK_TYPES_TEE],[ AC_CHECK_HEADERS([linux/tee.h],[ AC_CHECK_TYPES([struct tee_ioctl_buf_data], [AC_CHECK_MEMBERS([struct tee_ioctl_buf_data.buf_len],,,[AC_INCLUDES_DEFAULT #include #include ])],,[AC_INCLUDES_DEFAULT #include #include ]) AC_CHECK_TYPES([struct tee_ioctl_cancel_arg], [AC_CHECK_MEMBERS([struct tee_ioctl_cancel_arg.session],,,[AC_INCLUDES_DEFAULT #include #include ])],,[AC_INCLUDES_DEFAULT #include #include ]) AC_CHECK_TYPES([struct tee_ioctl_close_session_arg], [AC_CHECK_MEMBERS([struct tee_ioctl_close_session_arg.session],,,[AC_INCLUDES_DEFAULT #include #include ])],,[AC_INCLUDES_DEFAULT #include #include ]) AC_CHECK_TYPES([struct tee_ioctl_shm_alloc_data], [AC_CHECK_MEMBERS([struct tee_ioctl_shm_alloc_data.id],,,[AC_INCLUDES_DEFAULT #include #include ])],,[AC_INCLUDES_DEFAULT #include #include ]) AC_CHECK_TYPES([struct tee_ioctl_shm_register_data], [AC_CHECK_MEMBERS([struct tee_ioctl_shm_register_data.id],,,[AC_INCLUDES_DEFAULT #include #include ])],,[AC_INCLUDES_DEFAULT #include #include ]) AC_CHECK_TYPES([struct tee_ioctl_version_data], [AC_CHECK_MEMBERS([struct tee_ioctl_version_data.gen_caps],,,[AC_INCLUDES_DEFAULT #include #include ])],,[AC_INCLUDES_DEFAULT #include #include ]) AC_CHECK_TYPES([struct tee_ioctl_param], [AC_CHECK_MEMBERS([struct tee_ioctl_param.c],,,[AC_INCLUDES_DEFAULT #include #include ])],,[AC_INCLUDES_DEFAULT #include #include ]) AC_CHECK_TYPES([struct tee_ioctl_invoke_arg], [AC_CHECK_MEMBERS([struct tee_ioctl_invoke_arg.params],,,[AC_INCLUDES_DEFAULT #include #include ])],,[AC_INCLUDES_DEFAULT #include #include ]) AC_CHECK_TYPES([struct tee_iocl_supp_recv_arg], [AC_CHECK_MEMBERS([struct tee_iocl_supp_recv_arg.params],,,[AC_INCLUDES_DEFAULT #include #include ])],,[AC_INCLUDES_DEFAULT #include #include ]) AC_CHECK_TYPES([struct tee_iocl_supp_send_arg], [AC_CHECK_MEMBERS([struct tee_iocl_supp_send_arg.params],,,[AC_INCLUDES_DEFAULT #include #include ])],,[AC_INCLUDES_DEFAULT #include #include ]) AC_CHECK_TYPES([struct tee_ioctl_open_session_arg], [AC_CHECK_MEMBERS([struct tee_ioctl_open_session_arg.params],,,[AC_INCLUDES_DEFAULT #include #include ])],,[AC_INCLUDES_DEFAULT #include #include ]) ],[],[AC_INCLUDES_DEFAULT #include ])]) dnl Generated by ./types/gen.sh from ./types/v4l2.h; do not edit. AC_DEFUN([st_CHECK_TYPES_V4L2],[ AC_CHECK_HEADERS([linux/videodev2.h],[ AC_CHECK_TYPES([struct v4l2_capability], [AC_CHECK_MEMBERS([struct v4l2_capability.reserved],,,[AC_INCLUDES_DEFAULT #include #include #include #include ])],,[AC_INCLUDES_DEFAULT #include #include #include #include ]) AC_CHECK_TYPES([struct v4l2_pix_format], [AC_CHECK_MEMBERS([struct v4l2_pix_format.xfer_func],,,[AC_INCLUDES_DEFAULT #include #include #include #include ])],,[AC_INCLUDES_DEFAULT #include #include #include #include ]) AC_CHECK_TYPES([struct v4l2_plane_pix_format], [AC_CHECK_MEMBERS([struct v4l2_plane_pix_format.reserved],,,[AC_INCLUDES_DEFAULT #include #include #include #include ])],,[AC_INCLUDES_DEFAULT #include #include #include #include ]) AC_CHECK_TYPES([struct v4l2_clip], [AC_CHECK_MEMBERS([struct v4l2_clip.next],,,[AC_INCLUDES_DEFAULT #include #include #include #include ])],,[AC_INCLUDES_DEFAULT #include #include #include #include ]) AC_CHECK_TYPES([struct v4l2_window], [AC_CHECK_MEMBERS([struct v4l2_window.global_alpha],,,[AC_INCLUDES_DEFAULT #include #include #include #include ])],,[AC_INCLUDES_DEFAULT #include #include #include #include ]) AC_CHECK_TYPES([struct v4l2_vbi_format], [AC_CHECK_MEMBERS([struct v4l2_vbi_format.reserved],,,[AC_INCLUDES_DEFAULT #include #include #include #include ])],,[AC_INCLUDES_DEFAULT #include #include #include #include ]) AC_CHECK_TYPES([struct v4l2_sliced_vbi_format], [AC_CHECK_MEMBERS([struct v4l2_sliced_vbi_format.reserved],,,[AC_INCLUDES_DEFAULT #include #include #include #include ])],,[AC_INCLUDES_DEFAULT #include #include #include #include ]) AC_CHECK_TYPES([struct v4l2_sliced_vbi_cap], [AC_CHECK_MEMBERS([struct v4l2_sliced_vbi_cap.reserved],,,[AC_INCLUDES_DEFAULT #include #include #include #include ])],,[AC_INCLUDES_DEFAULT #include #include #include #include ]) AC_CHECK_TYPES([struct v4l2_format], [AC_CHECK_MEMBERS([struct v4l2_format.fmt],,,[AC_INCLUDES_DEFAULT #include #include #include #include ])],,[AC_INCLUDES_DEFAULT #include #include #include #include ]) AC_CHECK_TYPES([struct v4l2_area], [AC_CHECK_MEMBERS([struct v4l2_area.height],,,[AC_INCLUDES_DEFAULT #include #include #include #include ])],,[AC_INCLUDES_DEFAULT #include #include #include #include ]) AC_CHECK_TYPES([struct v4l2_ext_controls], [AC_CHECK_MEMBERS([struct v4l2_ext_controls.controls],,,[AC_INCLUDES_DEFAULT #include #include #include #include ])],,[AC_INCLUDES_DEFAULT #include #include #include #include ]) AC_CHECK_TYPES([struct v4l2_frmsize_discrete], [AC_CHECK_MEMBERS([struct v4l2_frmsize_discrete.height],,,[AC_INCLUDES_DEFAULT #include #include #include #include ])],,[AC_INCLUDES_DEFAULT #include #include #include #include ]) AC_CHECK_TYPES([struct v4l2_frmsize_stepwise], [AC_CHECK_MEMBERS([struct v4l2_frmsize_stepwise.step_height],,,[AC_INCLUDES_DEFAULT #include #include #include #include ])],,[AC_INCLUDES_DEFAULT #include #include #include #include ]) AC_CHECK_TYPES([struct v4l2_frmsizeenum], [AC_CHECK_MEMBERS([struct v4l2_frmsizeenum.reserved],,,[AC_INCLUDES_DEFAULT #include #include #include #include ])],,[AC_INCLUDES_DEFAULT #include #include #include #include ]) AC_CHECK_TYPES([struct v4l2_frmival_stepwise], [AC_CHECK_MEMBERS([struct v4l2_frmival_stepwise.step],,,[AC_INCLUDES_DEFAULT #include #include #include #include ])],,[AC_INCLUDES_DEFAULT #include #include #include #include ]) AC_CHECK_TYPES([struct v4l2_frmivalenum], [AC_CHECK_MEMBERS([struct v4l2_frmivalenum.reserved],,,[AC_INCLUDES_DEFAULT #include #include #include #include ])],,[AC_INCLUDES_DEFAULT #include #include #include #include ]) AC_CHECK_TYPES([struct v4l2_create_buffers], [AC_CHECK_MEMBERS([struct v4l2_create_buffers.reserved],,,[AC_INCLUDES_DEFAULT #include #include #include #include ])],,[AC_INCLUDES_DEFAULT #include #include #include #include ]) ],[],[AC_INCLUDES_DEFAULT #include #include #include ])]) AC_DEFUN([st_CHECK_TYPES],[ st_CHECK_TYPES_BTRFS st_CHECK_TYPES_CRYPTOUSER st_CHECK_TYPES_EVDEV st_CHECK_TYPES_IO_URING st_CHECK_TYPES_LOOP st_CHECK_TYPES_OPENAT2 st_CHECK_TYPES_RTNL_LINK st_CHECK_TYPES_RTNL_MDB st_CHECK_TYPES_RTNL_NEIGHTBL st_CHECK_TYPES_RTNL_ROUTE st_CHECK_TYPES_TEE st_CHECK_TYPES_V4L2 ]) # =========================================================================== # https://www.gnu.org/software/autoconf-archive/ax_code_coverage.html # =========================================================================== # # SYNOPSIS # # AX_CODE_COVERAGE() # # DESCRIPTION # # Defines CODE_COVERAGE_CPPFLAGS, CODE_COVERAGE_CFLAGS, # CODE_COVERAGE_CXXFLAGS and CODE_COVERAGE_LIBS which should be included # in the CPPFLAGS, CFLAGS CXXFLAGS and LIBS/LIBADD variables of every # build target (program or library) which should be built with code # coverage support. Also defines CODE_COVERAGE_RULES which should be # substituted in your Makefile; and $enable_code_coverage which can be # used in subsequent configure output. CODE_COVERAGE_ENABLED is defined # and substituted, and corresponds to the value of the # --enable-code-coverage option, which defaults to being disabled. # # Test also for gcov program and create GCOV variable that could be # substituted. # # Note that all optimization flags in CFLAGS must be disabled when code # coverage is enabled. # # Usage example: # # configure.ac: # # AX_CODE_COVERAGE # # Makefile.am: # # @CODE_COVERAGE_RULES@ # my_program_LIBS = ... $(CODE_COVERAGE_LIBS) ... # my_program_CPPFLAGS = ... $(CODE_COVERAGE_CPPFLAGS) ... # my_program_CFLAGS = ... $(CODE_COVERAGE_CFLAGS) ... # my_program_CXXFLAGS = ... $(CODE_COVERAGE_CXXFLAGS) ... # # This results in a "check-code-coverage" rule being added to any # Makefile.am which includes "@CODE_COVERAGE_RULES@" (assuming the module # has been configured with --enable-code-coverage). Running `make # check-code-coverage` in that directory will run the module's test suite # (`make check`) and build a code coverage report detailing the code which # was touched, then print the URI for the report. # # In earlier versions of this macro, CODE_COVERAGE_LDFLAGS was defined # instead of CODE_COVERAGE_LIBS. They are both still defined, but use of # CODE_COVERAGE_LIBS is preferred for clarity; CODE_COVERAGE_LDFLAGS is # deprecated. They have the same value. # # This code was derived from Makefile.decl in GLib, originally licenced # under LGPLv2.1+. # # LICENSE # # Copyright (c) 2012, 2016 Philip Withnall # Copyright (c) 2012 Xan Lopez # Copyright (c) 2012 Christian Persch # Copyright (c) 2012 Paolo Borelli # Copyright (c) 2012 Dan Winship # Copyright (c) 2015 Bastien ROUCARIES # Copyright (c) 2016-2017 The strace developers. # # This library is free software; you can redistribute it and/or modify it # under the terms of the GNU Lesser General Public License as published by # the Free Software Foundation; either version 2.1 of the License, or (at # your option) any later version. # # This library 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 Lesser # General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with this program. If not, see . #serial 24 AC_DEFUN([AX_CODE_COVERAGE],[ dnl Check for --enable-code-coverage AC_REQUIRE([AC_PROG_SED]) # allow to override gcov location AC_ARG_WITH([gcov], [AS_HELP_STRING([--with-gcov[=GCOV]], [use given GCOV for coverage (GCOV=gcov).])], [_AX_CODE_COVERAGE_GCOV_PROG_WITH=$with_gcov], [_AX_CODE_COVERAGE_GCOV_PROG_WITH=gcov]) AC_MSG_CHECKING([whether to build with code coverage support]) AC_ARG_ENABLE([code-coverage], AS_HELP_STRING([--enable-code-coverage], [Whether to enable code coverage support]),, enable_code_coverage=no) AM_CONDITIONAL([CODE_COVERAGE_ENABLED], [test x$enable_code_coverage = xyes]) AC_SUBST([CODE_COVERAGE_ENABLED], [$enable_code_coverage]) AC_MSG_RESULT($enable_code_coverage) AS_IF([ test "$enable_code_coverage" = "yes" ], [ # check for gcov AC_CHECK_TOOL([GCOV], [$_AX_CODE_COVERAGE_GCOV_PROG_WITH], [:]) AS_IF([test "X$GCOV" = "X:"], [AC_MSG_ERROR([gcov is needed to do coverage])]) AC_SUBST([GCOV]) dnl Check if gcc is being used AS_IF([ test "$GCC" = "no" ], [ AC_MSG_ERROR([not compiling with gcc, which is required for gcov code coverage]) ]) AC_CHECK_PROG([LCOV], [lcov], [lcov]) AC_CHECK_PROG([GENHTML], [genhtml], [genhtml]) AS_IF([ test -z "$LCOV" ], [ AC_MSG_ERROR([To enable code coverage reporting you must have lcov installed]) ]) AS_IF([ test -z "$GENHTML" ], [ AC_MSG_ERROR([Could not find genhtml from the lcov package]) ]) dnl Build the code coverage flags dnl Define CODE_COVERAGE_LDFLAGS for backwards compatibility CODE_COVERAGE_CPPFLAGS="-DENABLE_COVERAGE_GCOV -DNDEBUG" CODE_COVERAGE_CFLAGS="-O0 -g -fprofile-arcs -ftest-coverage" CODE_COVERAGE_CXXFLAGS="-O0 -g -fprofile-arcs -ftest-coverage" CODE_COVERAGE_LIBS="-lgcov" CODE_COVERAGE_LDFLAGS="$CODE_COVERAGE_LIBS" AC_SUBST([CODE_COVERAGE_CPPFLAGS]) AC_SUBST([CODE_COVERAGE_CFLAGS]) AC_SUBST([CODE_COVERAGE_CXXFLAGS]) AC_SUBST([CODE_COVERAGE_LIBS]) AC_SUBST([CODE_COVERAGE_LDFLAGS]) [CODE_COVERAGE_RULES_CHECK=' -$(A''M_V_at)$(MAKE) $(AM_MAKEFLAGS) -k check $(A''M_V_at)$(MAKE) $(AM_MAKEFLAGS) code-coverage-capture '] [CODE_COVERAGE_RULES_CAPTURE=' $(code_coverage_v_lcov_cap)$(LCOV) $(code_coverage_quiet) $(addprefix --directory ,$(CODE_COVERAGE_DIRECTORY)) --capture --output-file "$(CODE_COVERAGE_OUTPUT_FILE).tmp" --test-name "$(call code_coverage_sanitize,$(PACKAGE_NAME)-$(PACKAGE_VERSION))" --no-checksum --compat-libtool $(CODE_COVERAGE_LCOV_SHOPTS) $(CODE_COVERAGE_LCOV_OPTIONS) $(code_coverage_v_lcov_ign)$(LCOV) $(code_coverage_quiet) $(addprefix --directory ,$(CODE_COVERAGE_DIRECTORY)) --remove "$(CODE_COVERAGE_OUTPUT_FILE).tmp" "/tmp/*" $(CODE_COVERAGE_IGNORE_PATTERN) --output-file "$(CODE_COVERAGE_OUTPUT_FILE)" $(CODE_COVERAGE_LCOV_SHOPTS) $(CODE_COVERAGE_LCOV_RMOPTS) -@rm -f $(CODE_COVERAGE_OUTPUT_FILE).tmp $(code_coverage_v_genhtml)LANG=C $(GENHTML) $(code_coverage_quiet) $(addprefix --prefix ,$(CODE_COVERAGE_DIRECTORY)) --output-directory "$(CODE_COVERAGE_OUTPUT_DIRECTORY)" --title "$(PACKAGE_NAME)-$(PACKAGE_VERSION) Code Coverage" --legend --show-details "$(CODE_COVERAGE_OUTPUT_FILE)" $(CODE_COVERAGE_GENHTML_OPTIONS) @echo "file://$(abs_builddir)/$(CODE_COVERAGE_OUTPUT_DIRECTORY)/index.html" '] [CODE_COVERAGE_RULES_CLEAN=' clean: code-coverage-clean distclean: code-coverage-clean code-coverage-clean: -$(LCOV) --directory $(top_builddir) -z -rm -rf $(CODE_COVERAGE_OUTPUT_FILE) $(CODE_COVERAGE_OUTPUT_FILE).tmp $(CODE_COVERAGE_OUTPUT_DIRECTORY) -find . \( -name "*.gcda" -o -name "*.gcno" -o -name "*.gcov" \) -delete '] ], [ [CODE_COVERAGE_RULES_CHECK=' @echo "Need to reconfigure with --enable-code-coverage" '] CODE_COVERAGE_RULES_CAPTURE="$CODE_COVERAGE_RULES_CHECK" CODE_COVERAGE_RULES_CLEAN='' ]) [CODE_COVERAGE_RULES=' # Code coverage # # Optional: # - CODE_COVERAGE_DIRECTORY: Top-level directory for code coverage reporting. # Multiple directories may be specified, separated by whitespace. # (Default: $(top_builddir)) # - CODE_COVERAGE_OUTPUT_FILE: Filename and path for the .info file generated # by lcov for code coverage. (Default: # $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage.info) # - CODE_COVERAGE_OUTPUT_DIRECTORY: Directory for generated code coverage # reports to be created. (Default: # $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage) # - CODE_COVERAGE_BRANCH_COVERAGE: Set to 1 to enforce branch coverage, # set to 0 to disable it and leave empty to stay with the default. # (Default: empty) # - CODE_COVERAGE_LCOV_SHOPTS_DEFAULT: Extra options shared between both lcov # instances. (Default: based on $CODE_COVERAGE_BRANCH_COVERAGE) # - CODE_COVERAGE_LCOV_SHOPTS: Extra options to shared between both lcov # instances. (Default: $CODE_COVERAGE_LCOV_SHOPTS_DEFAULT) # - CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH: --gcov-tool pathtogcov # - CODE_COVERAGE_LCOV_OPTIONS_DEFAULT: Extra options to pass to the # collecting lcov instance. (Default: $CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH) # - CODE_COVERAGE_LCOV_OPTIONS: Extra options to pass to the collecting lcov # instance. (Default: $CODE_COVERAGE_LCOV_OPTIONS_DEFAULT) # - CODE_COVERAGE_LCOV_RMOPTS_DEFAULT: Extra options to pass to the filtering # lcov instance. (Default: empty) # - CODE_COVERAGE_LCOV_RMOPTS: Extra options to pass to the filtering lcov # instance. (Default: $CODE_COVERAGE_LCOV_RMOPTS_DEFAULT) # - CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT: Extra options to pass to the # genhtml instance. (Default: based on $CODE_COVERAGE_BRANCH_COVERAGE) # - CODE_COVERAGE_GENHTML_OPTIONS: Extra options to pass to the genhtml # instance. (Default: $CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) # - CODE_COVERAGE_IGNORE_PATTERN: Extra glob pattern of files to ignore # # The generated report will be titled using the $(PACKAGE_NAME) and # $(PACKAGE_VERSION). In order to add the current git hash to the title, # use the git-version-gen script, available online. # Optional variables CODE_COVERAGE_DIRECTORY ?= $(top_builddir) CODE_COVERAGE_OUTPUT_FILE ?= $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage.info CODE_COVERAGE_OUTPUT_DIRECTORY ?= $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage CODE_COVERAGE_BRANCH_COVERAGE ?= CODE_COVERAGE_LCOV_SHOPTS_DEFAULT ?= $(if $(CODE_COVERAGE_BRANCH_COVERAGE),\ --rc lcov_branch_coverage=$(CODE_COVERAGE_BRANCH_COVERAGE)) CODE_COVERAGE_LCOV_SHOPTS ?= $(CODE_COVERAGE_LCOV_SHOPTS_DEFAULT) CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH ?= --gcov-tool "$(GCOV)" CODE_COVERAGE_LCOV_OPTIONS_DEFAULT ?= $(CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH) CODE_COVERAGE_LCOV_OPTIONS ?= $(CODE_COVERAGE_LCOV_OPTIONS_DEFAULT) CODE_COVERAGE_LCOV_RMOPTS_DEFAULT ?= CODE_COVERAGE_LCOV_RMOPTS ?= $(CODE_COVERAGE_LCOV_RMOPTS_DEFAULT) CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT ?=\ $(if $(CODE_COVERAGE_BRANCH_COVERAGE),\ --rc genhtml_branch_coverage=$(CODE_COVERAGE_BRANCH_COVERAGE)) CODE_COVERAGE_GENHTML_OPTIONS ?= $(CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) CODE_COVERAGE_IGNORE_PATTERN ?= code_coverage_v_lcov_cap = $(code_coverage_v_lcov_cap_$(V)) code_coverage_v_lcov_cap_ = $(code_coverage_v_lcov_cap_$(AM_DEFAULT_VERBOSITY)) code_coverage_v_lcov_cap_0 = @echo " LCOV --capture"\ $(CODE_COVERAGE_OUTPUT_FILE); code_coverage_v_lcov_ign = $(code_coverage_v_lcov_ign_$(V)) code_coverage_v_lcov_ign_ = $(code_coverage_v_lcov_ign_$(AM_DEFAULT_VERBOSITY)) code_coverage_v_lcov_ign_0 = @echo " LCOV --remove /tmp/*"\ $(CODE_COVERAGE_IGNORE_PATTERN); code_coverage_v_genhtml = $(code_coverage_v_genhtml_$(V)) code_coverage_v_genhtml_ = $(code_coverage_v_genhtml_$(AM_DEFAULT_VERBOSITY)) code_coverage_v_genhtml_0 = @echo " GEN " $(CODE_COVERAGE_OUTPUT_DIRECTORY); code_coverage_quiet = $(code_coverage_quiet_$(V)) code_coverage_quiet_ = $(code_coverage_quiet_$(AM_DEFAULT_VERBOSITY)) code_coverage_quiet_0 = --quiet # sanitizes the test-name: replaces with underscores: dashes and dots code_coverage_sanitize = $(subst -,_,$(subst .,_,$(1))) # Use recursive makes in order to ignore errors during check check-code-coverage:'"$CODE_COVERAGE_RULES_CHECK"' # Capture code coverage data code-coverage-capture: code-coverage-capture-hook'"$CODE_COVERAGE_RULES_CAPTURE"' # Hook rule executed before code-coverage-capture, overridable by the user code-coverage-capture-hook: '"$CODE_COVERAGE_RULES_CLEAN"' GITIGNOREFILES ?= GITIGNOREFILES += $(CODE_COVERAGE_OUTPUT_FILE) $(CODE_COVERAGE_OUTPUT_DIRECTORY) A''M_DISTCHECK_CONFIGURE_FLAGS ?= A''M_DISTCHECK_CONFIGURE_FLAGS += --disable-code-coverage .PHONY: check-code-coverage code-coverage-capture code-coverage-capture-hook code-coverage-clean '] AC_SUBST([CODE_COVERAGE_RULES]) m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([CODE_COVERAGE_RULES])]) ]) # =========================================================================== # https://www.gnu.org/software/autoconf-archive/ax_prog_cc_for_build.html # =========================================================================== # # SYNOPSIS # # AX_PROG_CC_FOR_BUILD # # DESCRIPTION # # This macro searches for a C compiler that generates native executables, # that is a C compiler that surely is not a cross-compiler. This can be # useful if you have to generate source code at compile-time like for # example GCC does. # # The macro sets the CC_FOR_BUILD and CPP_FOR_BUILD macros to anything # needed to compile or link (CC_FOR_BUILD) and preprocess (CPP_FOR_BUILD). # The value of these variables can be overridden by the user by specifying # a compiler with an environment variable (like you do for standard CC). # # It also sets BUILD_EXEEXT and BUILD_OBJEXT to the executable and object # file extensions for the build platform, and GCC_FOR_BUILD to `yes' if # the compiler we found is GCC. All these variables but GCC_FOR_BUILD are # substituted in the Makefile. # # LICENSE # # Copyright (c) 2008 Paolo Bonzini # Copyright (c) 2008-2020 The strace developers. # # Copying and distribution of this file, with or without modification, are # permitted in any medium without royalty provided the copyright notice # and this notice are preserved. This file is offered as-is, without any # warranty. #serial 9 #modified for strace project AU_ALIAS([AC_PROG_CC_FOR_BUILD], [AX_PROG_CC_FOR_BUILD]) AC_DEFUN([AX_PROG_CC_FOR_BUILD], [dnl AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_PROG_CPP])dnl AC_REQUIRE([AC_EXEEXT])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl dnl Use the standard macros, but make them use other variable names dnl pushdef([ac_cv_prog_CPP], ac_cv_build_prog_CPP)dnl pushdef([ac_cv_prog_gcc], ac_cv_build_prog_gcc)dnl pushdef([ac_cv_prog_cc_works], ac_cv_build_prog_cc_works)dnl pushdef([ac_cv_prog_cc_cross], ac_cv_build_prog_cc_cross)dnl pushdef([ac_cv_prog_cc_g], ac_cv_build_prog_cc_g)dnl pushdef([ac_cv_prog_cc_stdc], ac_cv_build_prog_cc_stdc)dnl pushdef([ac_cv_prog_cc_c11], ac_cv_build_prog_cc_c11)dnl pushdef([ac_cv_prog_cc_c99], ac_cv_build_prog_cc_c99)dnl pushdef([ac_cv_prog_cc_c89], ac_cv_build_prog_cc_c89)dnl pushdef([ac_cv_exeext], ac_cv_build_exeext)dnl pushdef([ac_cv_objext], ac_cv_build_objext)dnl pushdef([ac_exeext], ac_build_exeext)dnl pushdef([ac_objext], ac_build_objext)dnl pushdef([CC], CC_FOR_BUILD)dnl pushdef([CPP], CPP_FOR_BUILD)dnl pushdef([CFLAGS], CFLAGS_FOR_BUILD)dnl pushdef([CPPFLAGS], CPPFLAGS_FOR_BUILD)dnl pushdef([LDFLAGS], LDFLAGS_FOR_BUILD)dnl pushdef([WARN_CFLAGS], WARN_CFLAGS_FOR_BUILD)dnl pushdef([host], build)dnl pushdef([host_alias], build_alias)dnl pushdef([host_cpu], build_cpu)dnl pushdef([host_vendor], build_vendor)dnl pushdef([host_os], build_os)dnl pushdef([ac_cv_host], ac_cv_build)dnl pushdef([ac_cv_host_alias], ac_cv_build_alias)dnl pushdef([ac_cv_host_cpu], ac_cv_build_cpu)dnl pushdef([ac_cv_host_vendor], ac_cv_build_vendor)dnl pushdef([ac_cv_host_os], ac_cv_build_os)dnl pushdef([am_cv_prog_cc_c_o], am_cv_build_prog_cc_c_o)dnl pushdef([am_cv_CC_dependencies_compiler_type], am_cv_build_CC_dependencies_compiler_type)dnl pushdef([gl_unknown_warnings_are_errors], gl_build_unknown_warnings_are_errors)dnl pushdef([st_cv_enable_Werror], st_cv_build_enable_Werror)dnl pushdef([st_cv_cc_enable_Werror], st_cv_build_cc_enable_Werror)dnl st_SAVE_VAR([ac_c_decl_warn_flag]) st_SAVE_VAR([ac_c_preproc_warn_flag]) st_SAVE_VAR([ac_c_werror_flag]) st_SAVE_VAR([ac_compile]) st_SAVE_VAR([ac_compiler_gnu]) st_SAVE_VAR([ac_cpp]) st_SAVE_VAR([ac_cv_c_compiler_gnu]) st_SAVE_VAR([ac_cv_c_decl_report]) st_SAVE_VAR([ac_link]) st_SAVE_VAR([ac_tool_prefix]) st_SAVE_VAR([cross_compiling]) cross_compiling=no AC_MSG_NOTICE([looking for a C compiler that generates native executables]) AC_PROG_CC AC_PROG_CPP AC_EXEEXT st_WARN_CFLAGS st_RESTORE_VAR([cross_compiling]) st_RESTORE_VAR([ac_tool_prefix]) st_RESTORE_VAR([ac_link]) st_RESTORE_VAR([ac_cv_c_decl_report]) st_RESTORE_VAR([ac_cv_c_compiler_gnu]) st_RESTORE_VAR([ac_cpp]) st_RESTORE_VAR([ac_compiler_gnu]) st_RESTORE_VAR([ac_compile]) st_RESTORE_VAR([ac_c_werror_flag]) st_RESTORE_VAR([ac_c_preproc_warn_flag]) st_RESTORE_VAR([ac_c_decl_warn_flag]) dnl Restore the old definitions dnl popdef([st_cv_cc_enable_Werror])dnl popdef([st_cv_enable_Werror])dnl popdef([gl_unknown_warnings_are_errors])dnl popdef([am_cv_CC_dependencies_compiler_type])dnl popdef([am_cv_prog_cc_c_o])dnl popdef([ac_cv_host_os])dnl popdef([ac_cv_host_vendor])dnl popdef([ac_cv_host_cpu])dnl popdef([ac_cv_host_alias])dnl popdef([ac_cv_host])dnl popdef([host_os])dnl popdef([host_vendor])dnl popdef([host_cpu])dnl popdef([host_alias])dnl popdef([host])dnl popdef([WARN_CFLAGS])dnl popdef([LDFLAGS])dnl popdef([CPPFLAGS])dnl popdef([CFLAGS])dnl popdef([CPP])dnl popdef([CC])dnl popdef([ac_objext])dnl popdef([ac_exeext])dnl popdef([ac_cv_objext])dnl popdef([ac_cv_exeext])dnl popdef([ac_cv_prog_cc_c89])dnl popdef([ac_cv_prog_cc_c99])dnl popdef([ac_cv_prog_cc_c11])dnl popdef([ac_cv_prog_cc_stdc])dnl popdef([ac_cv_prog_cc_g])dnl popdef([ac_cv_prog_cc_cross])dnl popdef([ac_cv_prog_cc_works])dnl popdef([ac_cv_prog_gcc])dnl popdef([ac_cv_prog_CPP])dnl dnl Finally, set Makefile variables dnl BUILD_EXEEXT=$ac_build_exeext BUILD_OBJEXT=$ac_build_objext AC_SUBST(BUILD_EXEEXT)dnl AC_SUBST(BUILD_OBJEXT)dnl AC_SUBST([CFLAGS_FOR_BUILD])dnl AC_SUBST([CPPFLAGS_FOR_BUILD])dnl AC_SUBST([LDFLAGS_FOR_BUILD])dnl AC_SUBST([WARN_CFLAGS_FOR_BUILD])dnl ]) # =========================================================================== # https://www.gnu.org/software/autoconf-archive/ax_valgrind_check.html # =========================================================================== # # SYNOPSIS # # AX_VALGRIND_DFLT(memcheck|helgrind|drd|sgcheck, on|off) # AX_VALGRIND_CHECK() # # DESCRIPTION # # AX_VALGRIND_CHECK checks whether Valgrind is present and, if so, allows # running `make check` under a variety of Valgrind tools to check for # memory and threading errors. # # Defines VALGRIND_CHECK_RULES which should be substituted in your # Makefile; and $enable_valgrind which can be used in subsequent configure # output. VALGRIND_ENABLED is defined and substituted, and corresponds to # the value of the --enable-valgrind option, which defaults to being # enabled if Valgrind is installed and disabled otherwise. Individual # Valgrind tools can be disabled via --disable-valgrind-, the # default is configurable via the AX_VALGRIND_DFLT command or is to use # all commands not disabled via AX_VALGRIND_DFLT. All AX_VALGRIND_DFLT # calls must be made before the call to AX_VALGRIND_CHECK. # # If unit tests are written using a shell script and automake's # LOG_COMPILER system, the $(VALGRIND) variable can be used within the # shell scripts to enable Valgrind, as described here: # # https://www.gnu.org/software/gnulib/manual/html_node/Running-self_002dtests-under-valgrind.html # # Usage example: # # configure.ac: # # AX_VALGRIND_DFLT([sgcheck], [off]) # AX_VALGRIND_CHECK # # Makefile.am: # # @VALGRIND_CHECK_RULES@ # VALGRIND_SUPPRESSIONS_FILES = my-project.supp # EXTRA_DIST = my-project.supp # # This results in a "check-valgrind" rule being added to any Makefile.am # which includes "@VALGRIND_CHECK_RULES@" (assuming the module has been # configured with --enable-valgrind). Running `make check-valgrind` in # that directory will run the module's test suite (`make check`) once for # each of the available Valgrind tools (out of memcheck, helgrind and drd) # while the sgcheck will be skipped unless enabled again on the # commandline with --enable-valgrind-sgcheck. The results for each check # will be output to test-suite-$toolname.log. The target will succeed if # there are zero errors and fail otherwise. # # Alternatively, a "check-valgrind-$TOOL" rule will be added, for $TOOL in # memcheck, helgrind, drd and sgcheck. These are useful because often only # some of those tools can be ran cleanly on a codebase. # # The macro supports running with and without libtool. # # LICENSE # # Copyright (c) 2014, 2015, 2016 Philip Withnall # Copyright (c) 2016-2017 The strace developers. # # Copying and distribution of this file, with or without modification, are # permitted in any medium without royalty provided the copyright notice # and this notice are preserved. This file is offered as-is, without any # warranty. #serial 15 #modified for strace project dnl Configured tools m4_define([valgrind_tool_list], [[memcheck], [helgrind], [drd], [sgcheck]]) m4_set_add_all([valgrind_exp_tool_set], [sgcheck]) m4_foreach([vgtool], [valgrind_tool_list], [m4_define([en_dflt_valgrind_]vgtool, [on])]) AC_DEFUN([AX_VALGRIND_DFLT],[ m4_define([en_dflt_valgrind_$1], [$2]) ])dnl AC_DEFUN([AX_VALGRIND_CHECK],[ dnl Check for --enable-valgrind AC_ARG_ENABLE([valgrind], [AS_HELP_STRING([--enable-valgrind], [Whether to enable Valgrind on the unit tests])], [enable_valgrind=$enableval],[enable_valgrind=]) AS_IF([test "$enable_valgrind" != "no"],[ # Check for Valgrind. AC_CHECK_PROG([VALGRIND],[valgrind],[valgrind]) AS_IF([test "$VALGRIND" = ""],[ AS_IF([test "$enable_valgrind" = "yes"],[ AC_MSG_ERROR([Could not find valgrind; either install it or reconfigure with --disable-valgrind]) ],[ enable_valgrind=no ]) ],[ enable_valgrind=yes ]) ]) AM_CONDITIONAL([VALGRIND_ENABLED],[test "$enable_valgrind" = "yes"]) AC_SUBST([VALGRIND_ENABLED],[$enable_valgrind]) AM_EXTRA_RECURSIVE_TARGETS([check-valgrind]) # Check for Valgrind tools we care about. [valgrind_enabled_tools=] m4_foreach([vgtool],[valgrind_tool_list],[ AC_ARG_ENABLE([valgrind-]vgtool, m4_if(m4_defn([en_dflt_valgrind_]vgtool),[off],dnl [AS_HELP_STRING([--enable-valgrind-]vgtool, [Whether to use ]vgtool[ during the Valgrind tests])],dnl [AS_HELP_STRING([--disable-valgrind-]vgtool, [Whether to skip ]vgtool[ during the Valgrind tests])]), [enable_valgrind_]vgtool[=$enableval], [enable_valgrind_]vgtool[=]) AS_IF([test "$enable_valgrind" = "no"],[ enable_valgrind_]vgtool[=no], [test "$enable_valgrind_]vgtool[" ]dnl m4_if(m4_defn([en_dflt_valgrind_]vgtool), [off], [= "yes"], [!= "no"]),[ AC_CACHE_CHECK([for Valgrind tool ]vgtool, [ax_cv_valgrind_tool_]vgtool,[ ax_cv_valgrind_tool_]vgtool[=no m4_set_contains([valgrind_exp_tool_set],vgtool, [m4_define([vgtoolx],[exp-]vgtool)], [m4_define([vgtoolx],vgtool)]) AS_IF([`$VALGRIND --tool=]vgtoolx[ --help >/dev/null 2>&1`],[ ax_cv_valgrind_tool_]vgtool[=yes ]) ]) AS_IF([test "$ax_cv_valgrind_tool_]vgtool[" = "no"],[ AS_IF([test "$enable_valgrind_]vgtool[" = "yes"],[ AC_MSG_ERROR([Valgrind does not support ]vgtool[; reconfigure with --disable-valgrind-]vgtool) ],[ enable_valgrind_]vgtool[=no ]) ],[ enable_valgrind_]vgtool[=yes ]) ]) AS_IF([test "$enable_valgrind_]vgtool[" = "yes"],[ valgrind_enabled_tools="$valgrind_enabled_tools ]m4_bpatsubst(vgtool,[^exp-])[" ]) AC_SUBST([ENABLE_VALGRIND_]vgtool,[$enable_valgrind_]vgtool) AM_EXTRA_RECURSIVE_TARGETS([check-valgrind-]vgtool) ]) AC_SUBST([valgrind_tools],["]m4_join([ ], valgrind_tool_list)["]) AC_SUBST([valgrind_enabled_tools],[$valgrind_enabled_tools]) [VALGRIND_CHECK_RULES=' # Valgrind check # # Optional: # - VALGRIND_SUPPRESSIONS_FILES: Space-separated list of Valgrind suppressions # files to load. (Default: empty) # - VALGRIND_FLAGS: General flags to pass to all Valgrind tools. # (Default: --num-callers=30) # - VALGRIND_$toolname_FLAGS: Flags to pass to Valgrind $toolname (one of: # memcheck, helgrind, drd, sgcheck). (Default: various) # Optional variables VALGRIND_SUPPRESSIONS ?= $(addprefix --suppressions=,$(VALGRIND_SUPPRESSIONS_FILES)) VALGRIND_FLAGS ?= --num-callers=30 VALGRIND_memcheck_FLAGS ?= --leak-check=full --show-reachable=no VALGRIND_helgrind_FLAGS ?= --history-level=approx VALGRIND_drd_FLAGS ?= VALGRIND_sgcheck_FLAGS ?= # Internal use valgrind_log_files = $(addprefix test-suite-,$(addsuffix .log,$(valgrind_tools))) valgrind_memcheck_flags = --tool=memcheck $(VALGRIND_memcheck_FLAGS) valgrind_helgrind_flags = --tool=helgrind $(VALGRIND_helgrind_FLAGS) valgrind_drd_flags = --tool=drd $(VALGRIND_drd_FLAGS) valgrind_sgcheck_flags = --tool=exp-sgcheck $(VALGRIND_sgcheck_FLAGS) valgrind_quiet = $(valgrind_quiet_$(V)) valgrind_quiet_ = $(valgrind_quiet_$(AM_DEFAULT_VERBOSITY)) valgrind_quiet_0 = --quiet valgrind_v_use = $(valgrind_v_use_$(V)) valgrind_v_use_ = $(valgrind_v_use_$(AM_DEFAULT_VERBOSITY)) valgrind_v_use_0 = @echo " USE " $(patsubst check-valgrind-%,%,$''@):; # Support running with and without libtool. ifneq ($(LIBTOOL),) valgrind_lt = $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=execute else valgrind_lt = endif # Use recursive makes in order to ignore errors during check check-valgrind: ifeq ($(VALGRIND_ENABLED),yes) $(A''M_V_at)$(MAKE) $(AM_MAKEFLAGS) -k \ $(foreach tool, $(valgrind_enabled_tools), check-valgrind-$(tool)) else @echo "Need to reconfigure with --enable-valgrind" endif # Valgrind running VALGRIND_TESTS_ENVIRONMENT = \ $(TESTS_ENVIRONMENT) \ env VALGRIND=$(VALGRIND) \ G_SLICE=always-malloc,debug-blocks \ G_DEBUG=fatal-warnings,fatal-criticals,gc-friendly VALGRIND_LOG_COMPILER = \ $(valgrind_lt) \ $(VALGRIND) $(VALGRIND_SUPPRESSIONS) --error-exitcode=1 $(VALGRIND_FLAGS) define valgrind_tool_rule check-valgrind-$(1): $$(BUILT_SOURCES) ifeq ($$(VALGRIND_ENABLED)-$$(ENABLE_VALGRIND_$(1)),yes-yes) $$(valgrind_v_use)$$(MAKE) $$(AM_MAKEFLAGS) check-am \ TESTS_ENVIRONMENT="$$(VALGRIND_TESTS_ENVIRONMENT)" \ LOG_COMPILER="$$(VALGRIND_LOG_COMPILER)" \ LOG_FLAGS="$$(valgrind_$(1)_flags)" \ TEST_SUITE_LOG=test-suite-$(1).log else ifeq ($$(VALGRIND_ENABLED),yes) @echo "Need to reconfigure with --enable-valgrind-$(1)" else @echo "Need to reconfigure with --enable-valgrind" endif endef $(foreach tool,$(valgrind_tools),$(eval $(call valgrind_tool_rule,$(tool)))) A''M_DISTCHECK_CONFIGURE_FLAGS ?= A''M_DISTCHECK_CONFIGURE_FLAGS += --disable-valgrind MOSTLYCLEANFILES ?= MOSTLYCLEANFILES += $(valgrind_log_files) .PHONY: check-valgrind $(add-prefix check-valgrind-,$(valgrind_tools)) '] AC_SUBST([VALGRIND_CHECK_RULES]) m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([VALGRIND_CHECK_RULES])]) ]) dnl Generated by ./m4/gen_bpf_attr_m4.sh from bpf_attr.h; do not edit. AC_DEFUN([st_BPF_ATTR], [dnl AC_CHECK_MEMBERS(m4_normalize([ struct bpf_map_info.btf_id, struct bpf_map_info.btf_key_type_id, struct bpf_map_info.btf_value_type_id, struct bpf_map_info.btf_vmlinux_value_type_id, struct bpf_map_info.id, struct bpf_map_info.ifindex, struct bpf_map_info.key_size, struct bpf_map_info.map_flags, struct bpf_map_info.max_entries, struct bpf_map_info.name, struct bpf_map_info.type, struct bpf_map_info.value_size, struct bpf_prog_info.btf_id, struct bpf_prog_info.created_by_uid, struct bpf_prog_info.func_info, struct bpf_prog_info.func_info_rec_size, struct bpf_prog_info.id, struct bpf_prog_info.ifindex, struct bpf_prog_info.jited_func_lens, struct bpf_prog_info.jited_ksyms, struct bpf_prog_info.jited_line_info, struct bpf_prog_info.jited_line_info_rec_size, struct bpf_prog_info.jited_prog_insns, struct bpf_prog_info.jited_prog_len, struct bpf_prog_info.line_info, struct bpf_prog_info.line_info_rec_size, struct bpf_prog_info.load_time, struct bpf_prog_info.map_ids, struct bpf_prog_info.name, struct bpf_prog_info.nr_func_info, struct bpf_prog_info.nr_jited_func_lens, struct bpf_prog_info.nr_jited_ksyms, struct bpf_prog_info.nr_jited_line_info, struct bpf_prog_info.nr_line_info, struct bpf_prog_info.nr_map_ids, struct bpf_prog_info.nr_prog_tags, struct bpf_prog_info.prog_tags, struct bpf_prog_info.run_cnt, struct bpf_prog_info.run_time_ns, struct bpf_prog_info.tag, struct bpf_prog_info.type, struct bpf_prog_info.xlated_prog_insns, struct bpf_prog_info.xlated_prog_len, union bpf_attr.attach_bpf_fd, union bpf_attr.attach_btf_id, union bpf_attr.attach_flags, union bpf_attr.attach_prog_fd, union bpf_attr.attach_type, union bpf_attr.batch.count, union bpf_attr.batch.elem_flags, union bpf_attr.batch.flags, union bpf_attr.batch.in_batch, union bpf_attr.batch.keys, union bpf_attr.batch.map_fd, union bpf_attr.batch.out_batch, union bpf_attr.batch.values, union bpf_attr.bpf_fd, union bpf_attr.btf, union bpf_attr.btf_fd, union bpf_attr.btf_id, union bpf_attr.btf_key_type_id, union bpf_attr.btf_log_buf, union bpf_attr.btf_log_level, union bpf_attr.btf_log_size, union bpf_attr.btf_size, union bpf_attr.btf_value_type_id, union bpf_attr.btf_vmlinux_value_type_id, union bpf_attr.dummy, union bpf_attr.expected_attach_type, union bpf_attr.file_flags, union bpf_attr.flags, union bpf_attr.func_info, union bpf_attr.func_info_cnt, union bpf_attr.func_info_rec_size, union bpf_attr.info.bpf_fd, union bpf_attr.info.info, union bpf_attr.info.info_len, union bpf_attr.inner_map_fd, union bpf_attr.insn_cnt, union bpf_attr.insns, union bpf_attr.kern_version, union bpf_attr.key, union bpf_attr.key_size, union bpf_attr.license, union bpf_attr.line_info, union bpf_attr.line_info_cnt, union bpf_attr.line_info_rec_size, union bpf_attr.link_create.attach_type, union bpf_attr.link_create.flags, union bpf_attr.link_create.prog_fd, union bpf_attr.link_create.target_fd, union bpf_attr.link_update.flags, union bpf_attr.link_update.link_fd, union bpf_attr.link_update.new_prog_fd, union bpf_attr.link_update.old_prog_fd, union bpf_attr.log_buf, union bpf_attr.log_level, union bpf_attr.log_size, union bpf_attr.map_fd, union bpf_attr.map_flags, union bpf_attr.map_id, union bpf_attr.map_ifindex, union bpf_attr.map_name, union bpf_attr.map_type, union bpf_attr.max_entries, union bpf_attr.next_id, union bpf_attr.next_key, union bpf_attr.numa_node, union bpf_attr.open_flags, union bpf_attr.pathname, union bpf_attr.prog_btf_fd, union bpf_attr.prog_flags, union bpf_attr.prog_id, union bpf_attr.prog_ifindex, union bpf_attr.prog_name, union bpf_attr.prog_type, union bpf_attr.query.attach_flags, union bpf_attr.query.attach_type, union bpf_attr.query.prog_cnt, union bpf_attr.query.prog_ids, union bpf_attr.query.query_flags, union bpf_attr.query.target_fd, union bpf_attr.raw_tracepoint.name, union bpf_attr.raw_tracepoint.prog_fd, union bpf_attr.replace_bpf_fd, union bpf_attr.start_id, union bpf_attr.target_fd, union bpf_attr.task_fd_query.buf, union bpf_attr.task_fd_query.buf_len, union bpf_attr.task_fd_query.fd, union bpf_attr.task_fd_query.fd_type, union bpf_attr.task_fd_query.flags, union bpf_attr.task_fd_query.pid, union bpf_attr.task_fd_query.probe_addr, union bpf_attr.task_fd_query.probe_offset, union bpf_attr.task_fd_query.prog_id, union bpf_attr.test.ctx_in, union bpf_attr.test.ctx_out, union bpf_attr.test.ctx_size_in, union bpf_attr.test.ctx_size_out, union bpf_attr.test.data_in, union bpf_attr.test.data_out, union bpf_attr.test.data_size_in, union bpf_attr.test.data_size_out, union bpf_attr.test.duration, union bpf_attr.test.prog_fd, union bpf_attr.test.repeat, union bpf_attr.test.retval, union bpf_attr.value, union bpf_attr.value_size, union bpf_attr.dummy ]),,, [#include ]) ]) #!/usr/bin/m4 # # Copyright (c) 2015-2017 Dmitry V. Levin # Copyright (c) 2015 Elvira Khabirova # Copyright (c) 2015-2020 The strace developers. # All rights reserved. # # SPDX-License-Identifier: LGPL-2.1-or-later AC_DEFUN([st_MPERS_LOAD_AC_CV], [ pushdef([var], [ac_cv_$1]) pushdef([saved], [saved_ac_cv_$1]) pushdef([mpers], [ac_cv_]mpers_name[_$1]) AS_IF([test -n "${var+set}"], [saved="${var}"; unset var]) AS_IF([test -n "${mpers+set}"], [var="${mpers}"]) popdef([mpers]) popdef([saved]) popdef([var]) ]) AC_DEFUN([st_MPERS_SAVE_AC_CV], [ pushdef([var], [ac_cv_$1]) pushdef([saved], [saved_ac_cv_$1]) pushdef([mpers], [ac_cv_]mpers_name[_$1]) AS_IF([test -n "${var+set}"], [mpers="${var}"]) AS_IF([test -n "${saved+set}"], [var="${saved}"; unset saved]) popdef([mpers]) popdef([saved]) popdef([var]) ]) AC_DEFUN([st_MPERS_STRUCT_STAT], [ st_MPERS_LOAD_AC_CV([type_struct_stat$1]) AC_CHECK_TYPE([struct stat$1], AC_DEFINE([HAVE_]MPERS_NAME[_STRUCT_STAT$1], [1], [Define to 1 if ]mpers_name[ has the type 'struct stat$1'.]),, [#include #include ]) st_MPERS_SAVE_AC_CV([type_struct_stat$1]) st_MPERS_LOAD_AC_CV([member_struct_stat$1_st_mtime_nsec]) AC_CHECK_MEMBER([struct stat$1.st_mtime_nsec], AC_DEFINE([HAVE_]MPERS_NAME[_STRUCT_STAT$1_ST_MTIME_NSEC], [1], [Define to 1 if 'st_mtime_nsec' is a member of ]mpers_name[ 'struct stat$1'.]),, [#include #include ]) st_MPERS_SAVE_AC_CV([member_struct_stat$1_st_mtime_nsec]) ]) AC_DEFUN([st_MPERS],[ pushdef([mpers_name], [$1]) pushdef([MPERS_NAME], translit([$1], [a-z], [A-Z])) pushdef([HAVE_MPERS], [HAVE_]MPERS_NAME[_MPERS]) pushdef([HAVE_RUNTIME], [HAVE_]MPERS_NAME[_RUNTIME]) pushdef([MPERS_CFLAGS], [$cc_flags_$1]) pushdef([st_cv_cc], [st_cv_$1_cc]) pushdef([st_cv_runtime], [st_cv_$1_runtime]) pushdef([st_cv_mpers], [st_cv_$1_mpers]) pushdef([EXEEXT], MPERS_NAME[_EXEEXT])dnl pushdef([OBJEXT], MPERS_NAME[_OBJEXT])dnl pushdef([LDFLAGS], [LDFLAGS_FOR_]MPERS_NAME)dnl pushdef([WARN_CFLAGS], [WARN_CFLAGS_FOR_]MPERS_NAME)dnl st_SAVE_VAR([CC]) st_SAVE_VAR([CPP]) st_SAVE_VAR([CFLAGS]) st_SAVE_VAR([CPPFLAGS]) CC=[$CC_FOR_]MPERS_NAME CPP=[$CPP_FOR_]MPERS_NAME CFLAGS=[$CFLAGS_FOR_]MPERS_NAME CPPFLAGS=[$CPPFLAGS_FOR_]MPERS_NAME case "$arch" in [$2]) case "$enable_mpers" in yes|check|[$1]) AH_TEMPLATE([HAVE_GNU_STUBS_32_H], [Define to 1 if you have the header file.]) AH_TEMPLATE([HAVE_GNU_STUBS_X32_H], [Define to 1 if you have the header file.]) pushdef([gnu_stubs], [gnu/stubs-][m4_substr([$1], 1)][.h]) AC_CHECK_HEADERS([gnu_stubs], [IFLAG=], [mkdir -p gnu : > gnu_stubs AC_MSG_NOTICE([Created empty gnu_stubs]) IFLAG=-I.]) popdef([gnu_stubs]) saved_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS${IFLAG:+ }$IFLAG" saved_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS MPERS_CFLAGS" AC_CACHE_CHECK([for mpers_name personality compile support (using $CC $CPPFLAGS $CFLAGS)], [st_cv_cc], [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], [[return 0]])], [st_cv_cc=yes], [st_cv_cc=no])]) if test $st_cv_cc = yes; then AC_CACHE_CHECK([for mpers_name personality runtime support], [st_cv_runtime], [AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include ]], [[return 0]])], [st_cv_runtime=yes], [st_cv_runtime=no], [st_cv_runtime=no])]) AC_CACHE_CHECK([whether mpers.sh mpers_name MPERS_CFLAGS works], [st_cv_mpers], [if READELF="$READELF" \ CC="$CC" CPP="$CPP" CPPFLAGS="$CPPFLAGS" \ $srcdir/mpers_test.sh [$1] "MPERS_CFLAGS"; then st_cv_mpers=yes else st_cv_mpers=no fi]) if test $st_cv_mpers = yes; then AC_DEFINE(HAVE_MPERS, [1], [Define to 1 if you have mpers_name mpers support]) st_MPERS_STRUCT_STAT([]) st_MPERS_STRUCT_STAT([64]) if test $st_cv_runtime = yes; then pushdef([SIZEOF_LONG], MPERS_NAME[_SIZEOF_LONG]) st_MPERS_LOAD_AC_CV([sizeof_long]) AC_CHECK_SIZEOF([long]) st_MPERS_SAVE_AC_CV([sizeof_long]) popdef([SIZEOF_LONG]) pushdef([SIZEOF_KERNEL_LONG_T], MPERS_NAME[_SIZEOF_KERNEL_LONG_T]) st_MPERS_LOAD_AC_CV([sizeof_kernel_long_t]) AC_CHECK_SIZEOF([kernel_long_t],, [#include "$srcdir/kernel_types.h"]) st_MPERS_SAVE_AC_CV([sizeof_kernel_long_t]) popdef([SIZEOF_KERNEL_LONG_T]) pushdef([SIZEOF_STRUCT_MSQID64_DS], MPERS_NAME[_SIZEOF_STRUCT_MSQID64_DS]) st_MPERS_LOAD_AC_CV([sizeof_struct_msqid64_ds]) AC_CHECK_SIZEOF([struct msqid64_ds],, [#include ]) st_MPERS_SAVE_AC_CV([sizeof_struct_msqid64_ds]) popdef([SIZEOF_STRUCT_MSQID64_DS]) fi fi fi CPPFLAGS="$saved_CPPFLAGS" CFLAGS="$saved_CFLAGS" ;; *) # case "$enable_mpers" st_cv_runtime=no st_cv_mpers=no ;; esac test "$st_cv_mpers" = yes || st_cv_mpers=no AC_MSG_CHECKING([whether to enable $1 personality support]) AC_MSG_RESULT([$st_cv_mpers]) case "$enable_mpers,$st_cv_mpers" in yes,no|[$1],no) AC_MSG_ERROR([Cannot enable $1 personality support]) ;; esac ;; *) # case "$arch" st_cv_runtime=no st_cv_mpers=no ;; esac AM_CONDITIONAL(HAVE_RUNTIME, [test "$st_cv_mpers$st_cv_runtime" = yesyes]) AM_CONDITIONAL(HAVE_MPERS, [test "$st_cv_mpers" = yes]) st_RESTORE_VAR([CC]) st_RESTORE_VAR([CPP]) st_RESTORE_VAR([CFLAGS]) st_RESTORE_VAR([CPPFLAGS]) popdef([WARN_CFLAGS])dnl popdef([LDFLAGS])dnl popdef([OBJEXT])dnl popdef([EXEEXT])dnl popdef([st_cv_mpers]) popdef([st_cv_runtime]) popdef([st_cv_cc]) popdef([MPERS_CFLAGS]) popdef([HAVE_RUNTIME]) popdef([HAVE_MPERS]) popdef([MPERS_NAME]) popdef([mpers_name]) ]) #!/usr/bin/m4 # # Copyright (c) 2020 The strace developers. # All rights reserved. # # SPDX-License-Identifier: LGPL-2.1-or-later AC_DEFUN([st_BROKEN_CC], [dnl AC_CACHE_CHECK([whether $[]_AC_CC[] is broken], [st_cv_broken_cc], [saved_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $WARN_CFLAGS" AC_COMPILE_IFELSE([dnl AC_LANG_SOURCE(dnl [[#include char *f(char c) { struct { char c, z; } *p = malloc(sizeof(p->c)); p->c = c; return &p->c; } ]] )], [st_cv_broken_cc=no], [st_cv_broken_cc=yes]) CFLAGS="$saved_CFLAGS" ]) AS_IF([test x"$st_cv_broken_cc" = xyes], [dnl AC_DEFINE([HAVE_BROKEN_CC], [1], [Define to 1 if the C compiler is broken]) cc_version="$(${_AC_CC} --version |head -1)" AC_MSG_WARN([The C compiler is: $cc_version]) AC_MSG_WARN([This C compiler is broken, use it at your own risk!])]) ]) #!/usr/bin/m4 # # Copyright (c) 2017-2020 The strace developers. # All rights reserved. # # SPDX-License-Identifier: LGPL-2.1-or-later AC_DEFUN([st_DEMANGLE], [dnl libiberty_CPPFLAGS= libiberty_LDFLAGS= libiberty_LIBS= AC_ARG_WITH([libiberty], [AS_HELP_STRING([--with-libiberty], [use libiberty to demangle symbols in stack trace])], [case "${withval}" in yes|no|check) ;; *) with_libiberty=yes libiberty_CPPFLAGS="-I${withval}/include" libiberty_LDFLAGS="-L${withval}/lib" ;; esac], [with_libiberty=check] ) use_libiberty=no AS_IF([test "x$with_libiberty" != xno], [saved_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $libiberty_CPPFLAGS" found_demangle_h=no AC_CHECK_HEADERS([demangle.h libiberty/demangle.h], [found_demangle_h=yes]) CPPFLAGS="$saved_CPPFLAGS" AS_IF([test "x$found_demangle_h" = xyes], [saved_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $libiberty_LDFLAGS" AC_CHECK_LIB([iberty],[cplus_demangle], [libiberty_LIBS="-liberty" use_libiberty=yes ], [if test "x$with_libiberty" != xcheck; then AC_MSG_FAILURE([failed to find cplus_demangle in libiberty]) fi ] ) LDFLAGS="$saved_LDFLAGS" ], [if test "x$with_libiberty" != xcheck; then AC_MSG_FAILURE([failed to find demangle.h]) fi ] ) ] ) AC_MSG_CHECKING([whether to enable symbols demangling in stack trace]) if test "x$use_libiberty" = xyes; then AC_DEFINE([USE_DEMANGLE], 1, [Do symbols demangling in stack trace]) AC_SUBST(libiberty_LIBS) AC_SUBST(libiberty_LDFLAGS) AC_SUBST(libiberty_CPPFLAGS) fi AC_MSG_RESULT([$use_libiberty]) ]) #!/usr/bin/m4 # # Copyright (c) 2018 The strace developers. # All rights reserved. # # SPDX-License-Identifier: LGPL-2.1-or-later AC_DEFUN([st_ARG_LIBDW], [dnl : ${libdw_CPPFLAGS=} : ${libdw_CFLAGS=} : ${libdw_LDFLAGS=} : ${libdw_LIBS=} AC_ARG_WITH([libdw], [AS_HELP_STRING([--with-libdw], [use libdw to implement stack tracing support] ) ], [case "${withval}" in yes|no|check) ;; *) libdw_CPPFLAGS="-I${withval}/include" libdw_LDFLAGS="-L${withval}/lib" with_libdw=yes ;; esac ], [with_libdw=check] ) ]) AC_DEFUN([st_LIBDW], [dnl have_libdw= AS_IF([test "x$with_libdw" != xno && test "x$use_unwinder" = x], [saved_CPPFLAGS="$CPPFLAGS" saved_CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS $libdw_CPPFLAGS" CFLAGS="$CFLAGS $libdw_CFLAGS" AC_CHECK_HEADERS([elfutils/libdwfl.h], [AC_CHECK_LIB([dw], [dwfl_linux_proc_attach], [libdw_LIBS="-ldw $libdw_LIBS" AC_CACHE_CHECK([for elfutils version], [st_cv_ELFUTILS_VERSION], [[st_cv_ELFUTILS_VERSION="$(echo _ELFUTILS_VERSION | $CPP $CPPFLAGS -P -imacros elfutils/version.h - | grep '^[0-9]')" test -n "$st_cv_ELFUTILS_VERSION" || st_cv_ELFUTILS_VERSION=0 ]] ) AS_IF([test "$st_cv_ELFUTILS_VERSION" -ge 164], [have_libdw=yes], [AS_IF([test "x$with_libdw" = xyes], [AC_MSG_ERROR([elfutils version >= 164 is required for stack tracing support])], [AC_MSG_WARN([elfutils version >= 164 is required for stack tracing support])] ) ] ) ], [AS_IF([test "x$with_libdw" = xyes], [AC_MSG_FAILURE([failed to find dwfl_linux_proc_attach in libdw])], ) ], [$libdw_LDFLAGS $libdw_LIBS] ) ], [AS_IF([test "x$with_libdw" = xyes], [AC_MSG_FAILURE([failed to find elfutils/libdwfl.h])] ) ] ) CFLAGS="$saved_CFLAGS" CPPFLAGS="$saved_CPPFLAGS" ] ) AS_IF([test "x$have_libdw" = xyes], [use_unwinder=libdw AC_DEFINE([USE_LIBDW], 1, [Whether to use libdw for stack tracing] ) AC_SUBST(libdw_CPPFLAGS) AC_SUBST(libdw_CFLAGS) AC_SUBST(libdw_LDFLAGS) AC_SUBST(libdw_LIBS) ] ) ]) #!/usr/bin/m4 # # Copyright (c) 2013-2020 The strace developers. # All rights reserved. # # SPDX-License-Identifier: LGPL-2.1-or-later AC_DEFUN([st_ARG_LIBUNWIND], [dnl libunwind_CPPFLAGS= libunwind_LDFLAGS= libunwind_LIBS= AC_ARG_WITH([libunwind], [AS_HELP_STRING([--with-libunwind], [use libunwind to implement stack tracing support])], [case "${withval}" in yes|no|check) ;; *) with_libunwind=yes libunwind_CPPFLAGS="-I${withval}/include" libunwind_LDFLAGS="-L${withval}/lib" ;; esac], [with_libunwind=check] ) ]) AC_DEFUN([st_LIBUNWIND], [dnl AS_IF([test "x$with_libunwind" != xno && test "x$use_unwinder" = x], [saved_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $libunwind_CPPFLAGS" AC_CHECK_HEADERS([libunwind-ptrace.h], [saved_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $libunwind_LDFLAGS" AC_CHECK_LIB([unwind], [backtrace], [libunwind_LIBS="-lunwind $libunwind_LIBS" AC_MSG_CHECKING([for unw_create_addr_space in libunwind-generic]) saved_LIBS="$LIBS" LIBS="-lunwind-generic $libunwind_LIBS $LIBS" AC_LINK_IFELSE( [AC_LANG_PROGRAM([[#include ]], [[return !unw_create_addr_space(0, 0)]]) ], [AC_MSG_RESULT([yes]) libunwind_LIBS="-lunwind-generic $libunwind_LIBS" AC_CHECK_LIB([unwind-ptrace], [_UPT_create], [libunwind_LIBS="-lunwind-ptrace $libunwind_LIBS" use_unwinder=libunwind ], [if test "x$with_libunwind" != xcheck; then AC_MSG_FAILURE([failed to find _UPT_create in libunwind-ptrace]) fi ], [$libunwind_LIBS] ) ], [AC_MSG_RESULT([no]) if test "x$with_libunwind" != xcheck; then AC_MSG_FAILURE([failed to find unw_create_addr_space in libunwind-generic]) fi ] ) LIBS="$saved_LIBS" ], [if test "x$with_libunwind" != xcheck; then AC_MSG_FAILURE([failed to find libunwind]) fi ], [$libunwind_LIBS] ) LDFLAGS="$saved_LDFLAGS" ], [if test "x$with_libunwind" != xcheck; then AC_MSG_FAILURE([failed to find libunwind-ptrace.h]) fi ] ) CPPFLAGS="$saved_CPPFLAGS" ] ) if test "x$use_unwinder" = xlibunwind; then AC_DEFINE([USE_LIBUNWIND], 1, [Whether to use libunwind for stack tracing]) AC_SUBST(libunwind_LIBS) AC_SUBST(libunwind_LDFLAGS) AC_SUBST(libunwind_CPPFLAGS) fi ]) #!/usr/bin/m4 # # Copyright (c) 2016-2018 The strace developers. # All rights reserved. # # SPDX-License-Identifier: LGPL-2.1-or-later AC_DEFUN([st_SAVE_VAR], [dnl AS_IF([test -n "${$1+set}"], [st_saved_$1="${$1}"; unset $1]) ]) AC_DEFUN([st_RESTORE_VAR], [dnl AS_IF([test -n "${st_saved_$1+set}"], [$1="${st_saved_$1}"; unset st_saved_$1]) ]) #!/usr/bin/m4 # # Copyright (c) 2018 The strace developers. # All rights reserved. # # SPDX-License-Identifier: LGPL-2.1-or-later AC_DEFUN([st_STACKTRACE], [dnl AC_ARG_ENABLE([stacktrace], [AS_HELP_STRING([--enable-stacktrace=yes|no|check], [whether to enable stack tracing support, default is check])], [case "$enableval" in yes|no|check) enable_stacktrace="$enableval" ;; *) AC_MSG_ERROR([bad value $enableval for enable-stacktrace option. Valid options are: yes, no, check.]) ;; esac], [enable_stacktrace=check]) use_unwinder= dnl Whether to enable stack tracing support? AS_IF([test x"$enable_stacktrace" != xno], [st_ARG_LIBDW st_ARG_LIBUNWIND AS_IF([test "x$with_libdw" = xyes && test "x$with_libunwind" = xyes], [AC_MSG_ERROR([--with-libdw=yes and --with-libunwind=yes are mutually exclusive])], [test "x$with_libdw" = xyes], [with_libunwind=no], [test "x$with_libunwind" = xyes], [with_libdw=no] ) AS_IF([test "x$use_unwinder" = x], [st_LIBDW]) AS_IF([test "x$use_unwinder" = x], [st_LIBUNWIND]) AS_IF([test x"$enable_stacktrace$use_unwinder" = xyes], [AC_MSG_ERROR([stack tracing support requires an unwinder])] ) ] ) AC_MSG_CHECKING([whether to enable stack tracing support]) AM_CONDITIONAL([ENABLE_STACKTRACE], [test "x$use_unwinder" != x]) AM_CONDITIONAL([USE_LIBDW], [test "x$use_unwinder" = xlibdw]) AM_CONDITIONAL([USE_LIBUNWIND], [test "x$use_unwinder" = xlibunwind]) use_libiberty= AS_IF([test "x$use_unwinder" != x], [AC_DEFINE([ENABLE_STACKTRACE], [1], [Define to enable stack tracing support]) AC_DEFINE_UNQUOTED([USE_UNWINDER], ["$use_unwinder"], [The unwinder to use for stack tracing support]) AC_MSG_RESULT([yes, using $use_unwinder]) dnl As stack tracing support is enabled, check for a demangler. st_DEMANGLE], [AC_MSG_RESULT([no])]) AM_CONDITIONAL([USE_DEMANGLE], [test "x$use_libiberty" = xyes]) ]) #!/usr/bin/m4 # # Copyright (c) 2016-2020 The strace developers. # All rights reserved. # # SPDX-License-Identifier: LGPL-2.1-or-later AC_DEFUN([st_WARN_CFLAGS], [dnl AC_CACHE_CHECK([whether $[]_AC_CC[] is fresh enough for -Werror], [st_cv_cc_enable_Werror], [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #if defined __GNUC__ && defined __GNUC_MINOR__ # define GNUC_PREREQ(maj, min) ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) #else # define GNUC_PREREQ(maj, min) 0 #endif #if defined __clang__ && defined __clang_major__ && defined __clang_minor__ # define CLANG_PREREQ(maj, min) ((__clang_major__ << 16) + __clang_minor__ >= ((maj) << 16) + (min)) #else # define CLANG_PREREQ(maj, min) 0 #endif ]], [[int i[GNUC_PREREQ(4, 8) + CLANG_PREREQ(6, 0) > 0 ? 1 : - 1];]])], [st_cv_cc_enable_Werror=yes], [st_cv_cc_enable_Werror=no])]) AC_CACHE_CHECK([whether to try $[]_AC_CC[] with -Werror by default], [st_cv_enable_Werror], [if test "$st_cv_cc_enable_Werror" != yes; then st_cv_enable_Werror='no, the compiler is too old' elif test "$arch_enable_Werror" != yes; then st_cv_enable_Werror='no, architecture is not ready' else st_cv_enable_Werror=yes fi]) gl_WARN_ADD([-Wall]) gl_WARN_ADD([-Wempty-body]) gl_WARN_ADD([-Wformat-security]) gl_WARN_ADD([-Wignored-qualifiers]) gl_WARN_ADD([-Wimplicit-fallthrough=5]) gl_WARN_ADD([-Winit-self]) gl_WARN_ADD([-Winitializer-overrides]) gl_WARN_ADD([-Wlogical-op]) gl_WARN_ADD([-Wmissing-parameter-type]) gl_WARN_ADD([-Wnested-externs]) gl_WARN_ADD([-Wold-style-declaration]) gl_WARN_ADD([-Wold-style-definition]) gl_WARN_ADD([-Woverride-init]) gl_WARN_ADD([-Wsign-compare]) gl_WARN_ADD([-Wtype-limits]) gl_WARN_ADD([-Wwrite-strings]) AC_ARG_ENABLE([gcc-Werror], [AS_HELP_STRING([--enable-gcc-Werror], [turn on gcc's -Werror option])], [case "$enable_gcc_Werror" in yes|no|no,*) ;; *) AC_MSG_ERROR([bad value $enable_gcc_Werror for gcc-Werror option]) ;; esac], [enable_gcc_Werror="$st_cv_enable_Werror"]) if test "$enable_gcc_Werror" = yes; then gl_WARN_ADD([-Werror]) fi AC_SUBST([WARN_CFLAGS]) ]) # warnings.m4 serial 11 # modified for strace project dnl Copyright (C) 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Simon Josefsson # gl_AS_VAR_APPEND(VAR, VALUE) # ---------------------------- # Provide the functionality of AS_VAR_APPEND if Autoconf does not have it. m4_ifdef([AS_VAR_APPEND], [m4_copy([AS_VAR_APPEND], [gl_AS_VAR_APPEND])], [m4_define([gl_AS_VAR_APPEND], [AS_VAR_SET([$1], [AS_VAR_GET([$1])$2])])]) # gl_COMPILER_OPTION_IF(OPTION, [IF-SUPPORTED], [IF-NOT-SUPPORTED], # [PROGRAM = AC_LANG_PROGRAM()]) # ----------------------------------------------------------------- # Check if the compiler supports OPTION when compiling PROGRAM. # # FIXME: gl_Warn must be used unquoted until we can assume Autoconf # 2.64 or newer. AC_DEFUN([gl_COMPILER_OPTION_IF], [AS_VAR_PUSHDEF([gl_Flags], _AC_LANG_PREFIX[]FLAGS)dnl AS_VAR_PUSHDEF([gl_Warn], [gl_cv_warn_[]gl_Flags[]_$1])dnl AS_LITERAL_IF([$1], [m4_pushdef([gl_Positive], m4_bpatsubst([$1], [^-Wno-], [-W]))], [gl_positive="$1" case $gl_positive in -Wno-*) gl_positive=-W`expr "X$gl_positive" : 'X-Wno-\(.*\)'` ;; esac m4_pushdef([gl_Positive], [$gl_positive])])dnl AC_CACHE_CHECK([whether $[]_AC_CC[] handles $1], m4_defn([gl_Warn]), [ gl_save_compiler_FLAGS="$gl_Flags" gl_AS_VAR_APPEND(m4_defn([gl_Flags]), [" $gl_unknown_warnings_are_errors ]m4_defn([gl_Positive])["]) AC_LINK_IFELSE([m4_default([$4], [AC_LANG_PROGRAM([])])], [AS_VAR_SET(gl_Warn, [yes])], [AS_VAR_SET(gl_Warn, [no])]) gl_Flags="$gl_save_compiler_FLAGS" ]) AS_VAR_IF(gl_Warn, [yes], [$2], [$3]) m4_popdef([gl_Positive])dnl AS_VAR_POPDEF([gl_Flags])dnl AS_VAR_POPDEF([gl_Warn])dnl ]) # gl_UNKNOWN_WARNINGS_ARE_ERRORS # ------------------------------ # Clang doesn't complain about unknown warning options unless one also # specifies -Wunknown-warning-option -Werror. Detect this. AC_DEFUN([gl_UNKNOWN_WARNINGS_ARE_ERRORS], [AS_IF([test x${gl_unknown_warnings_are_errors+set} = x], [gl_COMPILER_OPTION_IF([-Werror -Wunknown-warning-option], [gl_unknown_warnings_are_errors='-Wunknown-warning-option -Werror'], [gl_unknown_warnings_are_errors=]) ]) ]) # gl_WARN_ADD(OPTION, [VARIABLE = WARN_CFLAGS], # [PROGRAM = AC_LANG_PROGRAM()]) # --------------------------------------------- # Adds parameter to WARN_CFLAGS if the compiler supports it when # compiling PROGRAM. For example, gl_WARN_ADD([-Wparentheses]). # # If VARIABLE is a variable name, AC_SUBST it. AC_DEFUN([gl_WARN_ADD], [gl_UNKNOWN_WARNINGS_ARE_ERRORS gl_COMPILER_OPTION_IF([$1], [gl_AS_VAR_APPEND(m4_if([$2], [], [[WARN_CFLAGS]], [[$2]]), [" $1"])], [], [$3]) m4_ifval([$2], [AS_LITERAL_IF([$2], [AC_SUBST([$2])])], [AC_SUBST([WARN_CFLAGS])])dnl ]) # Local Variables: # mode: autoconf # End: