Mercurial > octave
annotate build-aux/check-subst-vars.in.sh @ 27923:bd51beb6205e
update formatting of copyright notices
* Use <https://octave.org/copyright/> instead of
<https://octave.org/COPYRIGHT.html/>.
* For consistency with other comments in the Octave sources, use
C++-style comments for copyright blocks in C and C++ files.
* Use delimiters above and below copyright blocks that are appropriate
for the language used in the file.
* Eliminate extra spacing inside copyright blocks.
* lex.ll (looks_like_copyright): Also allow newlines and carriage
returns before the word "Copyright".
* scripts/mk-doc.pl (gethelp): Also skip empty comment lines.
* bp-table.cc, type.m: Adjust tests.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Wed, 08 Jan 2020 11:59:41 -0500 |
parents | 1891570abac8 |
children | c20b7290c778 |
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 # |
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
3 ######################################################################## |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
4 # |
27919
1891570abac8
update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents:
27918
diff
changeset
|
5 # Copyright (C) 2016-2020 The Octave Project Developers |
27918
b442ec6dda5c
use centralized file for copyright info for individual contributors
John W. Eaton <jwe@octave.org>
parents:
26376
diff
changeset
|
6 # |
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
7 # See the file COPYRIGHT.md in the top-level directory of this |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
8 # distribution or <https://octave.org/copyright/>. |
21413
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
9 # |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
10 # This file is part of Octave. |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
11 # |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
23220
diff
changeset
|
12 # Octave is free software: you can redistribute it and/or modify it |
22755
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
21441
diff
changeset
|
13 # under the terms of the GNU General Public License as published by |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
23220
diff
changeset
|
14 # the Free Software Foundation, either version 3 of the License, or |
22755
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
21441
diff
changeset
|
15 # (at your option) any later version. |
21413
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
16 # |
22755
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
21441
diff
changeset
|
17 # Octave is distributed in the hope that it will be useful, but |
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
21441
diff
changeset
|
18 # WITHOUT ANY WARRANTY; without even the implied warranty of |
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
21441
diff
changeset
|
19 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
21441
diff
changeset
|
20 # GNU General Public License for more details. |
21413
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
21 # |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
22 # 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
|
23 # along with Octave; see the file COPYING. If not, see |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
23220
diff
changeset
|
24 # <https://www.gnu.org/licenses/>. |
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
25 # |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
26 ######################################################################## |
21413
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
27 |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
28 : ${AWK=@AWK@} |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
29 : ${SED=@SED@} |
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 if test $# -ne 2; then |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
32 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
|
33 exit 1 |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
34 fi |
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 awk_script="check-subst-vars-$$.awk" |
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 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
|
39 |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
40 make_vars="$1" |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
41 config_vars="$2" |
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 ## Generate awk script to check variable consitency. |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
44 |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
45 cat << EOF > $awk_script |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
46 BEGIN { |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
47 status = 0; |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
48 EOF |
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 while read var val; do |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
51 val=`echo "$val" | $SED 's/"/\\\\"/g'` |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
52 echo "make_vars[\"$var\"] = \"$val\";" >> $awk_script |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
53 done < $make_vars |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
54 |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
55 cat << EOF >> $awk_script |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
56 } { |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
57 line = \$0; |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
58 idx = index (line, " "); |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
59 var = substr (line, 1, idx-1); |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
60 val = substr (line, idx+1); |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
61 if (val != make_vars[var]) |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
62 { |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
63 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
|
64 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
|
65 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
|
66 status = 1; |
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 } END { |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
69 exit status; |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
70 } |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
71 EOF |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
72 |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
73 ## Execute it. |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
74 |
3fb2bdea47a5
check substituted variables against current make variables
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
75 $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
|
76 |
46a9c7afe419
ensure that substituted config vars are not changed on make command line
John W. Eaton <jwe@octave.org>
parents:
21413
diff
changeset
|
77 rm -f $awk_script |