autoconf-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] Move atlocal code to configure


From: Paolo Bonzini
Subject: [PATCH] Move atlocal code to configure
Date: Sun, 12 Jul 2009 13:09:53 +0200

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  <address@hidden>

        * configure.ac: Test for unsupported characters in files and
        directories here...
        * tests/atlocal.in: ... and not here.
---
 configure.ac     |   31 +++++++++++++++++++++++++++++++
 tests/atlocal.in |   27 ++++++++-------------------
 2 files changed, 39 insertions(+), 19 deletions(-)

diff --git a/configure.ac b/configure.ac
index a5fcad0..d909528 100644
--- a/configure.ac
+++ b/configure.ac
@@ -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 "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.
+  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 'tdir ' && mkdir 'tdir ' && touch 'tdir /tfile' 2>/dev/null
+a=$?
+rm -rf 'tdir '
+case $a$? 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])
diff --git a/tests/atlocal.in b/tests/atlocal.in
index ad72c37..adce2bf 100644
--- a/tests/atlocal.in
+++ b/tests/atlocal.in
@@ -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
-- 
1.6.2.5






reply via email to

[Prev in Thread] Current Thread [Next in Thread]