Mercurial > octave
annotate liboctave/version.cc @ 33587:a56b2283959a default tip @
maint: Merge stable to default.
author | Markus Mützel <markus.muetzel@gmx.de> |
---|---|
date | Thu, 16 May 2024 08:42:51 +0200 |
parents | 2e484f9f1f18 |
children |
rev | line source |
---|---|
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
1 //////////////////////////////////////////////////////////////////////// |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
2 // |
32632
2e484f9f1f18
maint: update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents:
32590
diff
changeset
|
3 // Copyright (C) 2013-2024 The Octave Project Developers |
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
4 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
5 // 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
|
6 // distribution or <https://octave.org/copyright/>. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
7 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
8 // This file is part of Octave. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
9 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
10 // Octave is free software: you can redistribute it and/or modify it |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
11 // under the terms of the GNU General Public License as published by |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
12 // the Free Software Foundation, either version 3 of the License, or |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
13 // (at your option) any later version. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
14 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
15 // Octave is distributed in the hope that it will be useful, but |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
16 // WITHOUT ANY WARRANTY; without even the implied warranty of |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
18 // GNU General Public License for more details. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
19 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
20 // You should have received a copy of the GNU General Public License |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
21 // along with Octave; see the file COPYING. If not, see |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
22 // <https://www.gnu.org/licenses/>. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
23 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
24 //////////////////////////////////////////////////////////////////////// |
17510
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
25 |
21724
aba2e6293dd8
use "#if ..." consistently instead of "#ifdef" and "#ifndef"
John W. Eaton <jwe@octave.org>
parents:
21301
diff
changeset
|
26 #if defined (HAVE_CONFIG_H) |
21301
40de9f8f23a6
Use '#include "config.h"' rather than <config.h>.
Rik <rik@octave.org>
parents:
21200
diff
changeset
|
27 # include "config.h" |
17510
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
28 #endif |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
29 |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
30 #include <string> |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
31 |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
32 #include "version.h" |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
33 |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
34 static std::string |
21017
93748bcaec17
maint: Replace emtpy 'std::string ()' calls with "".
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
35 octave_warranty_statement (const std::string& extra_info = "") |
17510
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
36 { |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
37 return "There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or\n\ |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
38 FITNESS FOR A PARTICULAR PURPOSE." |
17787
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17510
diff
changeset
|
39 + extra_info; |
17510
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
40 } |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
41 |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
42 static std::string |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
43 format_url (bool html, const std::string& url) |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
44 { |
23803
90689bdbe048
Use C++11 raw string literals to avoid escaping double quotes.
Rik <rik@octave.org>
parents:
23717
diff
changeset
|
45 return html ? R"(<a href=")" + url + R"(">)" + url + "</a>" : url; |
17510
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
46 } |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
47 |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
48 std::string |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
49 octave_www_statement (bool html) |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
50 { |
31876
ac088212b7dc
version.cc: Change "Tech support" to "Support resources"
Arun Giridhar <arungiridhar@gmail.com>
parents:
31874
diff
changeset
|
51 return "Home page: " |
31874
1979288f086d
version.cc: Use shorter URLs, update text, reduce spacing
Arun Giridhar <arungiridhar@gmail.com>
parents:
31771
diff
changeset
|
52 + format_url (html, "https://octave.org"); |
17510
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
53 } |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
54 |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
55 std::string |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
56 octave_contrib_statement (bool html) |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
57 { |
31876
ac088212b7dc
version.cc: Change "Tech support" to "Support resources"
Arun Giridhar <arungiridhar@gmail.com>
parents:
31874
diff
changeset
|
58 return "Improve Octave: " |
31874
1979288f086d
version.cc: Use shorter URLs, update text, reduce spacing
Arun Giridhar <arungiridhar@gmail.com>
parents:
31771
diff
changeset
|
59 + format_url (html, "https://octave.org/get-involved"); |
17510
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
60 } |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
61 |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
62 std::string |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
63 octave_bugs_statement (bool html) |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
64 { |
31876
ac088212b7dc
version.cc: Change "Tech support" to "Support resources"
Arun Giridhar <arungiridhar@gmail.com>
parents:
31874
diff
changeset
|
65 return "Support resources: " |
31874
1979288f086d
version.cc: Use shorter URLs, update text, reduce spacing
Arun Giridhar <arungiridhar@gmail.com>
parents:
31771
diff
changeset
|
66 + format_url (html, "https://octave.org/support"); |
17510
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
67 } |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
68 |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
69 std::string |
32519
6ff63f154144
maint: Review and update strings that appear in GUI.
Rik <rik@octave.org>
parents:
31876
diff
changeset
|
70 octave_name_version_and_copyright (bool html) |
17510
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
71 { |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
72 // The GNU coding standards say that on the first line printed by |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
73 // --version, the version number should follow the last space on the |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
74 // line. |
32519
6ff63f154144
maint: Review and update strings that appear in GUI.
Rik <rik@octave.org>
parents:
31876
diff
changeset
|
75 std::string br = (html ? "<br>\n" : "\n"); |
17510
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
76 |
32519
6ff63f154144
maint: Review and update strings that appear in GUI.
Rik <rik@octave.org>
parents:
31876
diff
changeset
|
77 return "GNU Octave, version " OCTAVE_VERSION |
6ff63f154144
maint: Review and update strings that appear in GUI.
Rik <rik@octave.org>
parents:
31876
diff
changeset
|
78 + br |
6ff63f154144
maint: Review and update strings that appear in GUI.
Rik <rik@octave.org>
parents:
31876
diff
changeset
|
79 + OCTAVE_COPYRIGHT; |
17510
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
80 } |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
81 |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
82 std::string |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
83 octave_name_version_copyright_copying_and_warranty |
22407
34ce5be04942
maint: Style check C++ code in libinterp/.
Rik <rik@octave.org>
parents:
22323
diff
changeset
|
84 (bool html, const std::string& extra_info) |
17510
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
85 { |
23450
855122b993da
maint: Wrap tertiary operator in parentheses "(COND ? x : y)".
Rik <rik@octave.org>
parents:
23220
diff
changeset
|
86 std::string br = (html ? "<br>\n" : "\n"); |
855122b993da
maint: Wrap tertiary operator in parentheses "(COND ? x : y)".
Rik <rik@octave.org>
parents:
23220
diff
changeset
|
87 std::string sep = (html ? "\n</p>\n<p>\n" : "\n\n"); |
17510
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
88 |
32519
6ff63f154144
maint: Review and update strings that appear in GUI.
Rik <rik@octave.org>
parents:
31876
diff
changeset
|
89 return octave_name_version_and_copyright (html) |
17787
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17510
diff
changeset
|
90 + br |
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17510
diff
changeset
|
91 + "This is free software; see the source code for copying conditions." |
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17510
diff
changeset
|
92 + br |
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17510
diff
changeset
|
93 + octave_warranty_statement (extra_info) |
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17510
diff
changeset
|
94 + sep |
23803
90689bdbe048
Use C++11 raw string literals to avoid escaping double quotes.
Rik <rik@octave.org>
parents:
23717
diff
changeset
|
95 + R"(Octave was configured for ")" |
25397
2cf750f5cb7d
make version info accessible in liboctave
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
96 + OCTAVE_CANONICAL_HOST_TYPE |
23803
90689bdbe048
Use C++11 raw string literals to avoid escaping double quotes.
Rik <rik@octave.org>
parents:
23717
diff
changeset
|
97 + R"(".)"; |
17510
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
98 } |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
99 |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
100 std::string |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
101 octave_name_version_copyright_copying_warranty_and_bugs |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
102 (bool html, const std::string& extra_info) |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
103 { |
31874
1979288f086d
version.cc: Use shorter URLs, update text, reduce spacing
Arun Giridhar <arungiridhar@gmail.com>
parents:
31771
diff
changeset
|
104 std::string sep = (html ? "\n</p>\n<p>\n" : "\n"); |
1979288f086d
version.cc: Use shorter URLs, update text, reduce spacing
Arun Giridhar <arungiridhar@gmail.com>
parents:
31771
diff
changeset
|
105 std::string msg = |
32590
3c2c585965cc
maint: C++ style check for liboctave/ before 9.1 release.
Rik <rik@octave.org>
parents:
32519
diff
changeset
|
106 (html ? "<p>\n" : "") |
3c2c585965cc
maint: C++ style check for liboctave/ before 9.1 release.
Rik <rik@octave.org>
parents:
32519
diff
changeset
|
107 + octave_name_version_copyright_copying_and_warranty (html, extra_info) |
3c2c585965cc
maint: C++ style check for liboctave/ before 9.1 release.
Rik <rik@octave.org>
parents:
32519
diff
changeset
|
108 + (html ? "" : "\n") + sep |
3c2c585965cc
maint: C++ style check for liboctave/ before 9.1 release.
Rik <rik@octave.org>
parents:
32519
diff
changeset
|
109 + octave_www_statement (html) + sep |
3c2c585965cc
maint: C++ style check for liboctave/ before 9.1 release.
Rik <rik@octave.org>
parents:
32519
diff
changeset
|
110 + octave_bugs_statement (html) + sep |
3c2c585965cc
maint: C++ style check for liboctave/ before 9.1 release.
Rik <rik@octave.org>
parents:
32519
diff
changeset
|
111 + octave_contrib_statement (html) + sep |
3c2c585965cc
maint: C++ style check for liboctave/ before 9.1 release.
Rik <rik@octave.org>
parents:
32519
diff
changeset
|
112 + (html ? "\n</p>" : ""); |
17510
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
113 |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
114 return msg; |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
115 } |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
116 |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
117 std::string |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
118 octave_startup_message (bool html) |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
119 { |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
120 std::string msg |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
121 = octave_name_version_copyright_copying_warranty_and_bugs |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
122 (html, " For details, type 'warranty'."); |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
123 |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
124 msg += (html ? "<p>\n" : "\n"); |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
125 |
31874
1979288f086d
version.cc: Use shorter URLs, update text, reduce spacing
Arun Giridhar <arungiridhar@gmail.com>
parents:
31771
diff
changeset
|
126 msg += "For changes from previous versions, type 'news'."; |
17510
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
127 |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
128 msg += (html ? "\n</p>" : ""); |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
129 |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
130 return msg; |
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
131 } |