2 # Copyright (C) 2010-2012 Free Software Foundation, Inc.
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation; either version 2, or (at your option)
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
14 # You should have received a copy of the GNU General Public License
15 # along with this program. If not, see <http://www.gnu.org/licenses/>.
17 # Backward-compatibility test: try to build and distribute a package
18 # using obsoleted forms of AC_INIT, AM_INIT_AUTOMAKE and AC_OUTPUT,
19 # and configure.in as autoconf input file.
20 # This script can also serve as mild stress-testing for Automake.
21 # See also the similar test 'backcompat6.sh'.
24 am_create_testdir
=empty
27 makefiles
='hacky/Makefile src/Makefile data/Makefile tests/Makefile'
30 cat > configure.
in <<END
31 dnl: Everything here is *deliberately* underquoted!
32 AC_INIT(src/foo.input)
33 AM_INIT_AUTOMAKE(foo, 1.0)
34 AC_CONFIG_FILES(Makefile:mkfile.in)
40 cat > mkfile.am
<<'END'
41 SUBDIRS = src data tests hacky
43 grep DataDataData $(DESTDIR)$(prefix)/data/$(PACKAGE)-$(VERSION)/bar
46 mkdir hacky src tests data
48 echo 'This is a dummy package' > README
50 cat > src
/foo.input
<<'END'
55 cat > tests
/a.
test <<'END'
57 "$srcdir/../src/foo" | grep Zardoz
59 chmod a
+x
tests
/a.
test
61 cat > data
/bar
<<'END'
67 cat >hacky
/Makefile.am
<<'END'
69 find $(top_distdir) -print
70 chmod a+rx $(top_distdir)/tests/*.test
73 cat > src
/Makefile.am
<<'END'
74 dist_bin_SCRIPTS = foo
76 sed '1s,^#!.*$$,#!/bin/sh,' $(srcdir)/foo.input >$@
78 EXTRA_DIST = foo.input
82 cat > data
/Makefile.am
<<'END'
83 nodist_data_DATA = bar
84 datadir = $(prefix)/data/$(PACKAGE)-$(VERSION)
91 cat > tests
/Makefile.am
<<'END'
96 $ACLOCAL -Wno-obsolete
98 $AUTOMAKE -a -Wno-obsolete
100 for f
in $makefiles; do mv -f $f.
in $f.sav
; done
101 $AUTOMAKE -Wno-obsolete
102 for f
in $makefiles; do diff $f.sav
$f.
in; done
105 ls -l . hacky src data tests
# For debugging.
109 test ! -e $distdir/Makefile.
in
110 test ! -e $distdir/data
/bar
111 test -f $distdir/src
/foo
112 diff README
$distdir/README
113 diff mkfile.
in $distdir/mkfile.
in
114 diff tests
/a.
test $distdir/tests
/a.
test
115 diff src
/foo.input
$distdir/src
/foo.input
120 test -f $distdir.
tar.gz
122 chmod a-x
tests
/a.
test
123 # dist-hook should take care of making test files executables.