tests: Let 'ltorder.sh' run successfully with Guix dynamic loader
[automake.git] / t / subdir-order.sh
blob99548d711bcebc4b0e4a4d18d385b813cff861ff
1 #! /bin/sh
2 # Copyright (C) 2012-2018 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)
7 # any later version.
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 <https://www.gnu.org/licenses/>.
17 # The $(SUDBIRS) entries are processed in the order they are specified.
19 . test-init.sh
21 cat >> configure.ac << 'END'
22 AC_CONFIG_FILES([
23 sub0/Makefile
24 sub1/Makefile
25 sub2/Makefile
26 sub3/Makefile
27 sub3/a/Makefile
28 sub3/b/Makefile
30 AC_OUTPUT
31 END
33 mkdir sub0 sub1 sub2 sub3 sub3/a sub3/b
35 cat > Makefile.am << 'END'
36 SUBDIRS = sub2 sub1 sub3 sub0
37 all-local:
38 test -f sub0/run
39 test -f sub1/run
40 test -f sub2/run
41 test -f sub3/run
42 test -f sub3/a/run
43 test -f sub3/b/run
44 test ! -f run
45 : > run
47 CLEANFILES = \
48 run \
49 sub0/run \
50 sub1/run \
51 sub2/run \
52 sub3/run \
53 sub3/a/run \
54 sub3/b/run
55 END
57 cat > sub0/Makefile.am << 'END'
58 all-local:
59 test ! -f $(top_builddir)/run
60 test -f $(top_builddir)/sub1/run
61 test -f $(top_builddir)/sub3/run
62 test -f $(top_builddir)/sub3/a/run
63 test -f $(top_builddir)/sub3/b/run
64 test ! -f run
65 : > run
66 END
68 cat > sub1/Makefile.am << 'END'
69 all-local:
70 test ! -f $(top_builddir)/run
71 test ! -f $(top_builddir)/sub0/run
72 test -f $(top_builddir)/sub2/run
73 test ! -f $(top_builddir)/sub3/run
74 test ! -f $(top_builddir)/sub3/a/run
75 test ! -f $(top_builddir)/sub3/b/run
76 test ! -f run
77 : > run
78 END
81 cat > sub2/Makefile.am << 'END'
82 all-local:
83 test ! -f $(top_builddir)/run
84 test ! -f $(top_builddir)/sub0/run
85 test ! -f $(top_builddir)/sub1/run
86 test ! -f $(top_builddir)/sub3/run
87 test ! -f $(top_builddir)/sub3/a/run
88 test ! -f $(top_builddir)/sub3/b/run
89 test ! -f run
90 : > run
91 END
93 cat > sub3/Makefile.am << 'END'
94 SUBDIRS = b . a
95 all-local:
96 test ! -f $(top_builddir)/run
97 test ! -f $(top_builddir)/sub0/run
98 test -f $(top_builddir)/sub1/run
99 test ! -f $(top_builddir)/sub3/a/run
100 test -f $(top_builddir)/sub3/b/run
101 test ! -f run
102 : > run
105 cat > sub3/a/Makefile.am << 'END'
106 all-local:
107 test ! -f $(top_builddir)/run
108 test ! -f $(top_builddir)/sub0/run
109 test -f $(top_builddir)/sub1/run
110 test -f $(top_builddir)/sub3/b/run
111 test -f $(top_builddir)/sub3/run
112 test ! -f run
113 : > run
116 cat > sub3/b/Makefile.am << 'END'
117 all-local:
118 test ! -f $(top_builddir)/run
119 test ! -f $(top_builddir)/sub0/run
120 test -f $(top_builddir)/sub1/run
121 test ! -f $(top_builddir)/sub3/b/run
122 test ! -f $(top_builddir)/sub3/run
123 test ! -f run
124 : > run
127 echo dummy: > Makefile
128 if using_gmake; then
129 jobs=-j12
130 elif $MAKE -j12; then
131 jobs=-j12
132 elif $MAKE -j 12; then
133 jobs="-j 12"
134 else
135 jobs=none
137 rm -f Makefile
139 $ACLOCAL
140 $AUTOCONF
141 $AUTOMAKE -c --add-missing
143 ./configure
145 for j in '' "$jobs"; do
146 test x"$j" = x"none" && continue
147 $MAKE $j
148 test -f run
149 test -f sub0/run
150 test -f sub1/run
151 test -f sub3/run
152 test -f sub3/a/run
153 test -f sub3/b/run
154 $MAKE clean
155 find . | grep 'run$' && exit 1
156 : # For shells with busted 'set -e'
157 done