Mercurial > octave
annotate build-aux/check-subst-vars.in.sh @ 22761:708a4fcb7382 stable release-4-2-0
Version 4.2.0 released.
* configure.ac: Bump version to 4.2.0.
(OCTAVE_PATCH_VERSION): Set to 0.
(OCTAVE_RELEASE_DATE): Update.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Sun, 13 Nov 2016 10:20:59 -0500 |
parents | 46a9c7afe419 |
children | 3a2b891d0b33 3ac9f9ecfae5 |
rev | line source |
---|---|
21413
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
1 #! /bin/sh |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
2 # |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
3 # Copyright (C) 2016 John W. Eaton |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
4 # |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
5 # This file is part of Octave. |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
6 # |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
7 # Octave is free software; you can redistribute it and/or modify it |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
8 # under the terms of the GNU General Public License as published by the |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
9 # Free Software Foundation; either version 3 of the License, or (at |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
10 # your option) any later version. |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
11 # |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
12 # Octave is distributed in the hope that it will be useful, but WITHOUT |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
13 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
14 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
15 # for more details. |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
16 # |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
17 # You should have received a copy of the GNU General Public License |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
18 # along with Octave; see the file COPYING. If not, see |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
19 # <http://www.gnu.org/licenses/>. |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
20 |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
21 : ${AWK=@AWK@} |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
22 : ${SED=@SED@} |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
23 |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
24 if test $# -ne 2; then |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
25 echo "usage: check-subst-vars.sh make-vars-file config-vars-file" 2>&1 |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
26 exit 1 |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
27 fi |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
28 |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
29 awk_script="check-subst-vars-$$.awk" |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
30 |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
31 trap "rm -f $awk_script; exit 1" 1 2 15 |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
32 |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
33 make_vars="$1" |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
34 config_vars="$2" |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
35 |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
36 ## Generate awk script to check variable consitency. |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
37 |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
38 cat << EOF > $awk_script |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
39 BEGIN { |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
40 status = 0; |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
41 EOF |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
42 |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
43 while read var val; do |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
44 val=`echo "$val" | $SED 's/"/\\\\"/g'` |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
45 echo "make_vars[\"$var\"] = \"$val\";" >> $awk_script |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
46 done < $make_vars |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
47 |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
48 cat << EOF >> $awk_script |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
49 } { |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
50 line = \$0; |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
51 idx = index (line, " "); |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
52 var = substr (line, 1, idx-1); |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
53 val = substr (line, idx+1); |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
54 if (val != make_vars[var]) |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
55 { |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
56 printf ("error: mismatch for configuration variable '%s'\n", var); |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
57 printf (" value set in configuration files: %s\n", val); |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
58 printf (" value set in Make: %s\n", make_vars[var]); |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
59 status = 1; |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
60 } |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
61 } END { |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
62 exit status; |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
63 } |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
64 EOF |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
65 |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
66 ## Execute it. |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
67 |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
68 $AWK -f $awk_script $config_vars 1>&2 |
21441
46a9c7afe419
ensure that substituted config vars are not changed on make command line
John W. Eaton <jwe@octave.org>
parents:
21413
diff
changeset
|
69 |
46a9c7afe419
ensure that substituted config vars are not changed on make command line
John W. Eaton <jwe@octave.org>
parents:
21413
diff
changeset
|
70 rm -f $awk_script |