maint: Update HACKING
[automake.git] / t / ax / is_newest
blobe62c132d15da3a04daed09ee7e08cc0ccfc0ce68
1 #! /bin/sh
2 # Copyright (C) 2012-2017 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 # Usage: is_newest FILE FILES
18 # Fail if any file in FILES is newer than FILE, and print the list of
19 # such files on the standard error. Resolve ties in favor of FILE.
21 # NOTE: keep this file Bourne-compatible, for the sake of systems with
22 # non-POSIX /bin/sh (like Solaris).
24 set -u
26 me=is_newest
28 if test $# -lt 2; then
29 echo "$me: too few arguments" >&2
30 exit 2
33 file=$1; shift
34 newer_files=`find "$@" -prune -newer "$file"` || exit $?
36 if test -n "$newer_files"; then
37 echo "$me: these files are newer than '$file':" >&2
38 for f in $newer_files; do echo "* $f" >&2; done
39 exit 1
42 exit 0