# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
-timestamp='2005-06-30'
+timestamp='2005-07-08'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
;;
,,*) CC_FOR_BUILD=$CC ;;
,*,*) CC_FOR_BUILD=$HOST_CC ;;
-esac ;'
+esac ; set_cc_for_build= ;'
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
# (ghazi@noc.rutgers.edu 1994-08-24)
esac
if [ ${HP_ARCH} = "hppa2.0w" ]
then
- # avoid double evaluation of $set_cc_for_build
- test -n "$CC_FOR_BUILD" || eval $set_cc_for_build
+ eval $set_cc_for_build
# hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
# 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
-timestamp='2005-07-01'
+timestamp='2005-07-08'
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
| pdp10 | pdp11 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
| pyramid \
- | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
+ | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
| sh64 | sh64le \
| sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \
| sparcv8 | sparcv9 | sparcv9b \
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
| pyramid-* \
| romp-* | rs6000-* \
- | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \
+ | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | shbe-* \
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
| sparc-* | sparc64-* | sparc64b-* | sparc86x-* | sparclet-* \
| sparclite-* \
we32k)
basic_machine=we32k-att
;;
- sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele)
+ sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
basic_machine=sh-unknown
;;
sparc | sparcv8 | sparcv9 | sparcv9b)
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
- | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* | -skyos*)
+ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
+ | -skyos* | -haiku*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
os=`echo $os | sed -e 's|nto|nto-qnx|'`
;;
-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
- | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
+ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
| -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
;;
-mac*)
*-be)
os=-beos
;;
+ *-haiku)
+ os=-haiku
+ ;;
*-ibm)
os=-aix
;;
#! /bin/sh
-# Copyright (C) 2004 Free Software Foundation, Inc.
+# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
#
# This file is part of GNU Automake.
#
# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
# Boston, MA 02110-1301, USA.
-# Check that installation to directory with spaces succeed.
-# Report from James Amundson.
+# Check that installation to directory with shell metacharacters succeed.
+# Original report from James Amundson about file names with spaces.
+# Other characters added by Paul Eggert.
# This is mostly the same input as nobase.test, but we do not use
# libtool libraries, because Libtool does not preserve space in
-# filenames (Issue observed with ltmain.sh (GNU libtool) 1.5a (1.1323
+# file names (Issue observed with ltmain.sh (GNU libtool) 1.5a (1.1323
# 2003/11/10 21:06:47))
set -e
-# Make sure this system supports spaces in filenames.
-mkdir 'a b' || exit 77
+# Set up files that won't change each time through the loop.
cat >> configure.in <<'EOF'
AC_PROG_CC
AC_OUTPUT
EOF
+mkdir sub
+
+: > sub/base.h
+: > sub/nobase.h
+: > sub/base.dat
+: > sub/nobase.dat
+: > sub/base.sh
+: > sub/nobase.sh
+
+cat >source.c <<'EOF'
+int
+main (int argc, char **argv)
+{
+ return 0;
+}
+EOF
+cp source.c source2.c
+
cat > Makefile.am << 'EOF'
foodir = $(prefix)/foo
fooexecdir = $(prefix)/foo
sub_libbase_a_SOURCES = source.c
sub_libnobase_a_SOURCES = source.c
-test-install-space: install
- test -f "$(DESTDIR)/more space/foo/sub/nobase.h"
- test ! -f "$(DESTDIR)/more space/foo/nobase.h"
- test -f "$(DESTDIR)/more space/foo/base.h"
- test -f "$(DESTDIR)/more space/foo/sub/nobase.dat"
- test ! -f "$(DESTDIR)/more space/foo/nobase.dat"
- test -f "$(DESTDIR)/more space/foo/base.dat"
- test -f "$(DESTDIR)/more space/foo/sub/nobase.sh"
- test ! -f "$(DESTDIR)/more space/foo/nobase.sh"
- test -f "$(DESTDIR)/more space/foo/base.sh"
- test -f "$(DESTDIR)/more space/foo/sub/nobase$(EXEEXT)"
- test ! -f "$(DESTDIR)/more space/foo/nobase$(EXEEXT)"
- test -f "$(DESTDIR)/more space/foo/base$(EXEEXT)"
- test -f "$(DESTDIR)/more space/foo/sub/libnobase.a"
- test ! -f "$(DESTDIR)/more space/foo/libnobase.a"
- test -f "$(DESTDIR)/more space/foo/libbase.a"
+test-install-sep: install
+ test -f '$(DESTDIR)/$(file)-prefix/foo/sub/nobase.h'
+ test ! -f '$(DESTDIR)/$(file)-prefix/foo/nobase.h'
+ test -f '$(DESTDIR)/$(file)-prefix/foo/base.h'
+ test -f '$(DESTDIR)/$(file)-prefix/foo/sub/nobase.dat'
+ test ! -f '$(DESTDIR)/$(file)-prefix/foo/nobase.dat'
+ test -f '$(DESTDIR)/$(file)-prefix/foo/base.dat'
+ test -f '$(DESTDIR)/$(file)-prefix/foo/sub/nobase.sh'
+ test ! -f '$(DESTDIR)/$(file)-prefix/foo/nobase.sh'
+ test -f '$(DESTDIR)/$(file)-prefix/foo/base.sh'
+ test -f '$(DESTDIR)/$(file)-prefix/foo/sub/nobase$(EXEEXT)'
+ test ! -f '$(DESTDIR)/$(file)-prefix/foo/nobase$(EXEEXT)'
+ test -f '$(DESTDIR)/$(file)-prefix/foo/base$(EXEEXT)'
+ test -f '$(DESTDIR)/$(file)-prefix/foo/sub/libnobase.a'
+ test ! -f '$(DESTDIR)/$(file)-prefix/foo/libnobase.a'
+ test -f '$(DESTDIR)/$(file)-prefix/foo/libbase.a'
EOF
-mkdir sub
-
-: > sub/base.h
-: > sub/nobase.h
-: > sub/base.dat
-: > sub/nobase.dat
-: > sub/base.sh
-: > sub/nobase.sh
-
-cat >source.c <<'EOF'
-int
-main (int argc, char *argv[])
-{
- return 0;
-}
-EOF
-cp source.c source2.c
-
$ACLOCAL
$AUTOCONF
$AUTOMAKE -a
-mkdir build
-cd build
+# Some control characters that are white space:
+# back space, carriage return, form feed, horizontal tab, line feed, space
+bs='\b'
+cr='\r'
+ff='\f'
+ht=' '
+lf='
+'
+sp=' '
+
+build_failures=
+install_failures=
+
+for file in \
+ '!' '"' '#' '$' '%' '&' \' '(' ')' '*' '+' ',' '-' ':' ';' \
+ '<' '=' '>' '?' '@' '[' '\' ']' '^' '`' '{' '|' '}' '~' \
+ "$bs" "$cr" "$ff" "$ht" "$lf" "$sp" \
+ '@<:@' '@:>@' '@S|@' '@%:@' '@&t@' \
+ "a${sp}b" "a${sp}${sp}b" "a${lf}b" ... a:
+do
+ for test in build install; do
+ case $test in
+ build)
+ build=$file
+ dest=`pwd`/sub1;;
+ install)
+ build=sub1
+ dest=`pwd`/$file;;
+ esac
+
+ # Make sure this system supports this character in file names.
+ mkdir sub1 "./$file" || exit 77
+
+ cd "$build"
+
+ ../configure --prefix "/$file-prefix" &&
+ $MAKE &&
+ DESTDIR=$dest file=$file $MAKE -e test-install-sep ||
+ eval "${test}_failures=\"\$${test}_failures$lf\$file\""
+
+ cd ..
+
+ rm -fr sub1 "./$file"
+ done
+done
+
+# The list of the above file names that cannot be used as a build directory
+# on a POSIX host. This list should be empty, but is not due to limitations
+# in Autoconf, Automake, Make, or M4.
+expected_build_failures='
+"
+#
+$
+&
+'\''
+\
+`
+'"$lf"'
+@&t@
+a'"${lf}"'b'
+
+# Similarly, the list of file names that cannot be used as an install directory
+# on a POSIX host. This list should also be empty.
+expected_install_failures='
+"
+#
+$
+'\''
+*
+`
+'"$lf"'
+a'"${lf}"'b'
+
+fail=0
+for test in build install; do
+ eval failures=\$${test}_failures
+ case $failures in
+ ?*)
+ cat >&2 <<EOF
+$0: $test test failed for the following file names:$failures
+EOF
+ eval test \"\$failures\" = \"\$expected_${test}_failures\" || fail=1
+ esac
+done
-../configure --prefix '/more space'
-$MAKE
-dest=`pwd`/'with space';
-DESTDIR=$dest $MAKE -e test-install-space
+exit $fail