Merge branch 'missing-not-touch-just-warn'
[platform/upstream/automake.git] / t / ax / is_newest
1 #! /bin/sh
2 # Copyright (C) 2012 Free Software Foundation, Inc.
3 #
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.
8 #
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.
13 #
14 # You should have received a copy of the GNU General Public License
15 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
16
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.
20 # Resolve ties in favor of FILE.
21
22 set -u
23
24 me=is_newest
25
26 if test $# -lt 2; then
27   echo "$me: too few arguments" >&2
28   exit 2
29 fi
30
31 file=$1; shift
32 newer_files=$(find "$@" -prune -newer "$file") || exit $?
33
34 if test -n "$newer_files"; then
35   echo "$me: these files are newer than '$file':" >&2
36   for f in $newer_files; do echo "* $f" >&2; done
37   exit 1
38 fi
39
40 exit 0