diff options
Diffstat (limited to 't/vpath-built-sources.sh')
-rw-r--r-- | t/vpath-built-sources.sh | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/t/vpath-built-sources.sh b/t/vpath-built-sources.sh new file mode 100644 index 000000000..1f325ac37 --- /dev/null +++ b/t/vpath-built-sources.sh @@ -0,0 +1,73 @@ +#! /bin/sh +# Copyright (C) 2012-2014 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 <http://www.gnu.org/licenses/>. + +# In a VPATH build, a target starting with $(srcdir) is triggered to +# build a source with the same name but without the $(srcdir). + +required=cc +. test-init.sh + +ocwd=$(pwd) || fatal_ "couldn't get current working directory" + +cat >> configure.ac <<'END' +AC_PROG_CC +AC_OUTPUT +END + +cat > Makefile.am <<'END' +noinst_PROGRAMS = p1 p2 p3 tp1 tp2 tp3 + +write-it = echo 'int main (void) { return 0; }' >$@ + +# We keep all the targets on separate lines to make sure the dumb +# Automake parser actually sees them all. +$(srcdir)/p1.c: + $(write-it) +${srcdir}/p2.c: + $(write-it) +@srcdir@/p3.c: + $(write-it) +$(top_srcdir)/tp1.c: + $(write-it) +${top_srcdir}/tp2.c: + $(write-it) +@top_srcdir@/tp3.c: + $(write-it) +END + +$ACLOCAL +$AUTOCONF +$AUTOMAKE + +mkdir build +cd build +../configure +$MAKE all + +cd "$ocwd" +rm -f *.c +mkdir -p sub1/sub2/sub3 +cd sub1/sub2/sub3 +"$ocwd"/configure --disable-dependency-tracking +$MAKE all + +cd "$ocwd" +rm -f *.c +./configure +$MAKE all +$MAKE distcheck + +: |