diff options
Diffstat (limited to '')
-rw-r--r-- | tests/aclocal.m4 | 61 |
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 |