diff options
author | Mathieu Lirzin <mthl@gnu.org> | 2017-09-20 00:08:59 +0200 |
---|---|---|
committer | Mathieu Lirzin <mthl@gnu.org> | 2017-09-20 00:08:59 +0200 |
commit | 7508174f4a6c19eeda89a7e18b8d1398fe85ccf0 (patch) | |
tree | 2938ba28267cfc6d6cba0b763f80e4b32ce49b03 /t/autohdr4.sh | |
parent | c2757b974cb4c182333859edb45a01194550bc0e (diff) | |
parent | ced195a8556b68eab3dd0887e07a97c6ae4917bf (diff) | |
download | automake-7508174f4a6c19eeda89a7e18b8d1398fe85ccf0.tar.gz |
Merge branch 'minor'
Diffstat (limited to 't/autohdr4.sh')
-rw-r--r-- | t/autohdr4.sh | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/t/autohdr4.sh b/t/autohdr4.sh new file mode 100644 index 000000000..ae35b7005 --- /dev/null +++ b/t/autohdr4.sh @@ -0,0 +1,80 @@ +#!/bin/sh +# Copyright (C) 2003-2017 Free Software Foundation, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <https://www.gnu.org/licenses/>. + +# Check rebuild rules for AC_CONFIG_HEADERS. +# (This should also work without GNU Make.) + +required=cc +. test-init.sh + +cat >>configure.ac <<'EOF' +AC_PROG_CC +AC_SUBST([BOT], [bot]) +AC_CONFIG_HEADERS([defs.h config.h:sub1/config.top:sub2/config.${BOT}],, + [BOT=$BOT]) +AC_CONFIG_FILES([sub3/Makefile]) +AC_OUTPUT +EOF + +mkdir sub1 sub2 sub3 + +: > sub1/config.top +echo '#define NAME "grepme1"' >sub2/config.bot + +cat > Makefile.am <<'END' +SUBDIRS = sub3 +.PHONY: test-prog-updated +test-prog-updated: + is_newest sub3/run$(EXEEXT) sub2/config.bot +END + +cat > sub3/Makefile.am <<'END' +noinst_PROGRAMS = run +END + +cat >sub3/run.c <<'EOF' +#include <defs.h> +#include <config.h> +#include <stdio.h> + +int main (void) +{ + puts (NAME); /* from config.h */ + puts (PACKAGE); /* from defs.h */ +} +EOF + + +$ACLOCAL +$AUTOCONF +$AUTOHEADER +$AUTOMAKE + +# Do not reject slow dependency extractors: we need dependency tracking. +./configure --enable-dependency-tracking +$MAKE +# Sanity check. +cross_compiling || sub3/run | grep grepme1 || exit 1 + +$sleep +echo '#define NAME "grepme2"' > sub2/config.bot +$MAKE +cross_compiling || sub3/run | grep grepme2 || exit 1 +$MAKE test-prog-updated + +$MAKE distcheck + +: |