| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 | #!/bin/sh# Copyright (C) 2009-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 <http://www.gnu.org/licenses/>.# Test to make sure that -Wportability complains about recursive# variable expansions and variables containing '$', '$(...)', or# '${...}' in the name.  We support recursive variable expansions using# the latter two constructs for the 'silent-rules' option, and they are# rather widely supported in practice.  OTOH variable definitions# containing a '$' on the left hand side of an assignment are not# portable in practice, even though POSIX allows them.  :-/. test-init.shcat >Makefile.am <<'EOF'x = 1foo$x = 1bar$(x) = 1baz${x} = 1bla = $(foo$x)bli = $(foo$(x))blo = $(foo${x})EOF$ACLOCALAUTOMAKE_fails -Wportabilitygrep 'Makefile.am:2' stderrgrep 'Makefile.am:3' stderrgrep 'Makefile.am:4' stderrgrep 'Makefile.am:5' stderrgrep 'Makefile.am:6' stderrgrep 'Makefile.am:7' stderrAUTOMAKE_fails -Wportability -Wno-portability-recursivegrep 'Makefile.am:2' stderrgrep 'Makefile.am:3' stderrgrep 'Makefile.am:4' stderrgrep 'Makefile.am:5' stderrgrep 'Makefile.am:6' stderr && exit 1grep 'Makefile.am:7' stderr && exit 1:
 |