tests: Let 'ltorder.sh' run successfully with Guix dynamic loader
[automake.git] / t / specflg8.sh
blob1224fcff3b3e73d80cdbc1e9a8d4cccfa66095b2
1 #! /bin/sh
2 # Copyright (C) 2002-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 # Like the true/false example from the manual,
18 # with one extra indirection in the sources (PR/315), and
19 # use of _CPPFLAGS (PR/337).
21 required='cc native'
22 . test-init.sh
24 cat >> configure.ac << 'END'
25 AC_PROG_CC
26 AC_OUTPUT
27 END
29 # Using a separate variable to hold all the sources for a program is
30 # common when building many flavors of this program, each with
31 # different flags.
33 cat > Makefile.am << 'END'
34 TRUESOURCE = true.c
35 bin_PROGRAMS = false true
36 true_SOURCES = $(TRUESOURCE)
37 true_CPPFLAGS = -DEXIT_CODE=0
38 false_SOURCES = $(TRUESOURCE)
39 false_CPPFLAGS = -DEXIT_CODE=1
40 END
42 cat > true.c << 'END'
43 int main (void)
45 return EXIT_CODE;
47 END
49 $ACLOCAL
50 $AUTOCONF
51 $AUTOMAKE -a
53 ./configure
54 $MAKE
56 ./true
57 ./false && exit 1
59 objext=$(sed -n -e 's/^OBJEXT = //p' < Makefile)
60 test -f ./true-true.$objext
61 test -f ./false-true.$objext