Move atlocal feature tests to configure

This test makes atlocal code use configure tests instead.  This
is best practice and could make diagnosing autoconf bugs easier.

2009-07-12  Paolo Bonzini  <bonzini@gnu.org>

	* configure.ac: Test for unsupported characters in files and
	directories here...
	* tests/atlocal.in: ... and not here.
This commit is contained in:
Paolo Bonzini 2009-07-12 11:28:57 +02:00
parent 877876da7c
commit 87a4d6ae61
3 changed files with 46 additions and 19 deletions

View File

@ -1,3 +1,10 @@
2009-07-12 Paolo Bonzini <bonzini@gnu.org>
Move atlocal feature tests to configure
* configure.ac: Test for unsupported characters in files and
directories here...
* tests/atlocal.in: ... and not here.
2009-07-09 Eric Blake <ebb9@byu.net>
Fix test typo.

View File

@ -68,6 +68,37 @@ fi
])
AC_SUBST([ac_cv_sh_n_works])
AC_MSG_CHECKING([for characters that cannot appear in file names])
AC_CACHE_VAL( [ac_cv_unsupported_fs_chars],
[ac_cv_unsupported_fs_chars=
for c in '\\' '"' '<' '>' '*' '?' '|'
do
touch "conftest.t${c}t" 2>/dev/null
test -f "conftest.t${c}t" && rm -f "conftest.t${c}t" && continue
# $c cannot be used in a file name.
ac_cv_unsupported_fs_chars=$ac_cv_unsupported_fs_chars$c
done
])
if test -n "$ac_cv_unsupported_fs_chars"; then
AC_MSG_RESULT([$ac_cv_unsupported_fs_chars])
else
AC_MSG_RESULT([none])
fi
AC_SUBST([ac_cv_unsupported_fs_chars])
AC_CACHE_CHECK([whether directories can have trailing spaces],
[ac_cv_dir_trailing_space],
[rm -rf 'conftest.d ' && mkdir 'conftest.d ' && touch 'conftest.d /tfile' 2>/dev/null
status=$?
rm -rf 'conftest.d '
case $status$? in #(
00) ac_cv_dir_trailing_space=yes ;; #(
*) ac_cv_dir_trailing_space=no ;;
esac
])
AC_SUBST([ac_cv_dir_trailing_space])
# Initialize the test suite.
AC_CONFIG_TESTDIR([tests])
AC_CONFIG_FILES([tests/Makefile tests/atlocal])

View File

@ -29,27 +29,16 @@ ac_cv_sh_n_works='@ac_cv_sh_n_works@'
# Check whether the underlying system can manage some unusual
# symbols in file names.
unsupported_fs_chars=
for c in '\\' '"' '<' '>' '*' '?' '|'
do
touch "t${c}t" 2>/dev/null
test -f "t${c}t" && rm -f "t${c}t" && continue
# $c cannot be used in a file name.
unsupported_fs_chars=$unsupported_fs_chars$c
done
if test -z "$unsupported_fs_chars"; then
if test -z '@ac_cv_unsupported_fs_chars@'; then
func_sanitize_file_name () { echo "$@"; }
else
func_sanitize_file_name () { echo "$@" | tr -d "$unsupported_fs_chars"; }
func_sanitize_file_name () { echo "$@" | tr -d '@ac_cv_unsupported_fs_chars@'; }
fi
# Can we create directories with trailing whitespaces in their name?
rm -rf 'tdir ' && mkdir 'tdir ' && touch 'tdir /tfile' 2>/dev/null
a=$?
rm -rf 'tdir '
case $a$? in #(
00)
func_sanitize_dir_name () { echo "$@"; } ;; #(
*)
func_sanitize_dir_name () { echo "$@" | sed 's/ *$//'; } ;;
esac
ac_cv_dir_trailing_space='@ac_cv_dir_trailing_space@'
if test "$ac_cv_dir_trailing_space" = yes; then
func_sanitize_dir_name () { echo "$@"; }
else
func_sanitize_dir_name () { echo "$@" | sed 's/ *$//'; }
fi