From 6c02da5e6badf1dfbc1efaf21c381359b18db18e Mon Sep 17 00:00:00 2001 From: Alexandre Duret-Lutz Date: Fri, 21 Nov 2003 19:16:12 +0000 Subject: [PATCH] * automake.in (append_exeext): Do not append $(EXEEXT) to @substitutions@. * tests/exeext4.test: New file. * tests/Makefile.am (TESTS): Add exeext4.test. --- ChangeLog | 7 +++++++ automake.in | 5 +++-- tests/Makefile.am | 1 + tests/Makefile.in | 1 + tests/exeext4.test | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 64 insertions(+), 2 deletions(-) create mode 100755 tests/exeext4.test diff --git a/ChangeLog b/ChangeLog index 46044a5..f24e6c5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2003-11-21 Alexandre Duret-Lutz + + * automake.in (append_exeext): Do not append $(EXEEXT) to + @substitutions@. + * tests/exeext4.test: New file. + * tests/Makefile.am (TESTS): Add exeext4.test. + 2003-11-19 Alexandre Duret-Lutz * lib/am/configure.am (%MAKEFILE%): Remove %MAINTAINER-MODE%, diff --git a/automake.in b/automake.in index 12a8b65..f37c3af 100755 --- a/automake.in +++ b/automake.in @@ -6084,8 +6084,9 @@ sub append_exeext ($) ($macro, $macro, 'am__EXEEXT', 0, INTERNAL, sub { my ($subvar, $val, $cond, $full_cond) = @_; - # Append $(EXEEXT) unless the user did it already. - $val .= '$(EXEEXT)' unless $val =~ /\$\(EXEEXT\)$/; + # Append $(EXEEXT) unless the user did it already, or it's a + # @substitution@. + $val .= '$(EXEEXT)' unless $val =~ /(?:\$\(EXEEXT\)$|^[@]\w+[@]$)/; return $val; }); } diff --git a/tests/Makefile.am b/tests/Makefile.am index cc46859..1bc548f 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -194,6 +194,7 @@ exdir2.test \ exeext.test \ exeext2.test \ exeext3.test \ +exeext4.test \ exsource.test \ ext.test \ ext2.test \ diff --git a/tests/Makefile.in b/tests/Makefile.in index 8f6a273..a999b70 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -308,6 +308,7 @@ exdir2.test \ exeext.test \ exeext2.test \ exeext3.test \ +exeext4.test \ exsource.test \ ext.test \ ext2.test \ diff --git a/tests/exeext4.test b/tests/exeext4.test new file mode 100755 index 0000000..951ada1 --- /dev/null +++ b/tests/exeext4.test @@ -0,0 +1,52 @@ +#! /bin/sh +# Copyright (C) 2003 Free Software Foundation, Inc. +# +# This file is part of GNU Automake. +# +# GNU Automake 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. +# +# GNU Automake 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 Automake; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. + +# Make sure $(EXEEXT) is not appended to @substitutions@. + +. ./defs || exit 1 + +set -e + +cat >> configure.in << 'END' +AC_SUBST([programs], ['prg1$(EXEEXT) prg2$(EXEEXT)']) +AC_PROG_CC +AC_OUTPUT +END + +cat > Makefile.am << 'END' +EXEEXT = .bin +bin_PROGRAMS = $(programs) @programs@ prg3 +EXTRA_PROGRAMS = prg1 prg2 prg3 +print-bin: + echo BEG: $(bin_PROGRAMS) :END +print-extra: + echo BEG: $(EXTRA_PROGRAMS) :END +END + +$ACLOCAL +$AUTOCONF +$AUTOMAKE +./configure +$MAKE print-bin > output +cat output +grep 'prg1.bin prg2.bin prg1.bin prg2.bin prg3.bin' output +$MAKE print-extra > output +cat output +grep 'prg1.bin prg2.bin prg3.bin' output -- 2.7.4