summaryrefslogtreecommitdiffstats
path: root/tests/aclocal.m4
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--tests/aclocal.m461
1 files changed, 61 insertions, 0 deletions
diff --git a/tests/aclocal.m4 b/tests/aclocal.m4
new file mode 100644
index 0000000..db41e8f
--- /dev/null
+++ b/tests/aclocal.m4
@@ -0,0 +1,61 @@
+# actest.m4 -*- autoconf -*-
+# Additional Autoconf macros to ease testing.
+
+# AC_STATE_SAVE(FILE)
+# ------------------
+# Save the environment, except for those variables we are allowed to touch.
+# This is to check no test touches the user name space.
+# FIXME: There are surely better ways. Explore for instance if
+# we can ask help from AC_SUBST. We have the right to touch what
+# is AC_SUBST'ed.
+# - ^ac_
+# Autoconf's shell name space.
+# - prefix and exec_prefix
+# are kept undefined (NONE) until AC_OUTPUT which then sets them to
+# `/usr/local' and `${prefix}' for make.
+# - CONFIG_STATUS and DEFS
+# Set by AC_OUTPUT.
+# - F77_DUMMY_MAIN
+# Set by AC_F77_DUMMY_MAIN.
+# - ALLOCA|NEED_SETGID|KMEM_GROUP
+# AC_FUNCs from acspecific.
+# - AWK|LEX|LEXLIB|LEX_OUTPUT_ROOT|LN_S|M4|RANLIB|SET_MAKE|YACC
+# AC_PROGs from acspecific
+# - _|@|.[*#?].|LINENO|OLDPWD|PIPESTATUS|RANDOM|SECONDS
+# Some variables some shells use and change.
+# `.[*#?].' catches `$#' etc. which are displayed like this:
+# | '!'=18186
+# | '#'=0
+# | '$'=6908
+# - POW_LIB
+# From acfunctions.m4.
+#
+# Some `egrep' choke on such a big regex (e.g., SunOS 4.1.3). In this
+# case just don't pay attention to the env. It would be great
+# to keep the error message but we can't: that would break AT_CHECK.
+m4_defun([AC_STATE_SAVE],
+[(set) 2>&1 |
+ $EGREP -v -e 'm4_join([|],
+ [^a[cs]_],
+ [^((exec_)?prefix|DEFS|CONFIG_STATUS)=],
+ [^(CC|CFLAGS|CPP|GCC|CXX|CXXFLAGS|CXXCPP|GXX|F77|FFLAGS|FLIBS|G77)=],
+ [^(LIBS|LIBOBJS|LDFLAGS)=],
+ [^INSTALL(_(DATA|PROGRAM|SCRIPT))?=],
+ [^(CYGWIN|ISC|MINGW32|MINIX|EMXOS2|XENIX|EXEEXT|OBJEXT)=],
+ [^(X_(CFLAGS|(EXTRA_|PRE_)?LIBS)|x_(includes|libraries)|(have|no)_x)=],
+ [^(host|build|target)(_(alias|cpu|vendor|os))?=],
+ [^(cross_compiling)=],
+ [^(interpval|PATH_SEPARATOR)=],
+ [^(F77_DUMMY_MAIN|f77_(case|underscore))=],
+ [^(COLLECT_(GCC|GCC_OPTIONS|LTO_WRAPPER)|(COMPILER|LIBRARY)_PATH)=],
+ [^(ALLOCA|GETLOADAVG_LIBS|KMEM_GROUP|NEED_SETGID|POW_LIB)=],
+ [^(AWK|LEX|LEXLIB|LEX_OUTPUT_ROOT|LN_S|M4|RANLIB|SET_MAKE|YACC)=],
+ [^(GREP|EGREP|FGREP|ToD)=],
+ [^(_|@|.[*#?].|LINENO|OLDPWD|PIPESTATUS|RANDOM|SECONDS)=])' 2>/dev/null |
+ # There may be variables spread on several lines, eg IFS, remove the dead
+ # lines.
+ grep '^m4_defn([m4_re_word])=' >state-env.$1
+test $? = 0 || rm -f state-env.$1
+
+ls -1 | $EGREP -v '^(at-|state-|config\.|conftest\.dSYM)' | sort >state-ls.$1
+])# AC_STATE_SAVE