12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- # Check to make sure that the build environment is sane. -*- Autoconf -*-
- # Copyright (C) 1996-2017 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
- # Do 'set' in a subshell so we don't clobber the current shell's
- # arguments. Must try -L first in case configure is actually a
- # symlink; some systems play weird games with the mod time of symlinks
- # (eg FreeBSD returns the mod time of the symlink's containing
- # directory).
- if (
- am_has_slept=no
- for am_try in 1 2; do
- echo "timestamp, slept: $am_has_slept" > conftest.file
- set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
- if test "$[*]" = "X"; then
- # -L didn't work.
- set X `ls -t "$srcdir/configure" conftest.file`
- fi
- if test "$[*]" != "X $srcdir/configure conftest.file" \
- && test "$[*]" != "X conftest.file $srcdir/configure"; then
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
- alias in your environment])
- fi
- if test "$[2]" = conftest.file || test $am_try -eq 2; then
- break
- fi
- # Just in case.
- sleep 1
- am_has_slept=yes
- done
- test "$[2]" = conftest.file
- )
- then
- # Ok.
- :
- else
- AC_MSG_ERROR([newly created file is older than distributed files!
- Check your system clock])
- fi
- AC_MSG_RESULT([yes])
- # If we didn't sleep, we still need to ensure time stamps of config.status and
- # generated files are strictly newer.
- am_sleep_pid=
- if grep 'slept: no' conftest.file >/dev/null 2>&1; then
- ( sleep 1 ) &
- am_sleep_pid=$!
- fi
- AC_CONFIG_COMMANDS_PRE(
- [AC_MSG_CHECKING([that generated files are newer than configure])
- if test -n "$am_sleep_pid"; then
- # Hide warnings about reused PIDs.
- wait $am_sleep_pid 2>/dev/null
- fi
- AC_MSG_RESULT([done])])
- rm -f conftest.file
- ])
|