Mercurial > octave
annotate libinterp/corefcn/toplev.cc @ 23803:90689bdbe048
Use C++11 raw string literals to avoid escaping double quotes.
* parser.cc, workspace-view.cc, __lin_interpn__.cc, cellfun.cc, colloc.cc,
data.cc, dirfns.cc, eig.cc, file-io.cc, find.cc, gammainc.cc, gl2ps-print.cc,
graphics.cc, graphics.in.h, help.cc, input.cc, load-path.cc, load-save.cc,
oct-hist.cc, oct-stream.cc, pager.cc, pr-output.cc, spparms.cc, symtab.cc,
toplev.cc, tril.cc, urlwrite.cc, utils.cc, variables.cc, chol.cc, qr.cc,
symbfact.cc, ov-struct.cc, octave.cc, pt-id.h, version.cc, mkoctfile.in.cc:
Replace regular strings containing "\"" patterns with R"(..."...)".
author | Rik <rik@octave.org> |
---|---|
date | Fri, 28 Jul 2017 10:34:33 -0700 |
parents | b2d55b52ee51 |
children | 889b8262e661 |
rev | line source |
---|---|
1683 | 1 /* |
2 | |
23219
3ac9f9ecfae5
maint: Update copyright dates.
John W. Eaton <jwe@octave.org>
parents:
23083
diff
changeset
|
3 Copyright (C) 1995-2017 John W. Eaton |
1683 | 4 |
5 This file is part of Octave. | |
6 | |
7 Octave is free software; you can redistribute it and/or modify it | |
22755
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22501
diff
changeset
|
8 under the terms of the GNU General Public License as published by |
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22501
diff
changeset
|
9 the Free Software Foundation; either version 3 of the License, or |
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22501
diff
changeset
|
10 (at your option) any later version. |
1683 | 11 |
22755
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22501
diff
changeset
|
12 Octave is distributed in the hope that it will be useful, but |
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22501
diff
changeset
|
13 WITHOUT ANY WARRANTY; without even the implied warranty of |
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22501
diff
changeset
|
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22501
diff
changeset
|
15 GNU General Public License for more details. |
1683 | 16 |
17 You should have received a copy of the GNU General Public License | |
7016 | 18 along with Octave; see the file COPYING. If not, see |
19 <http://www.gnu.org/licenses/>. | |
1683 | 20 |
21 */ | |
22 | |
21724
aba2e6293dd8
use "#if ..." consistently instead of "#ifdef" and "#ifndef"
John W. Eaton <jwe@octave.org>
parents:
21618
diff
changeset
|
23 #if defined (HAVE_CONFIG_H) |
21301
40de9f8f23a6
Use '#include "config.h"' rather than <config.h>.
Rik <rik@octave.org>
parents:
21253
diff
changeset
|
24 # include "config.h" |
1683 | 25 #endif |
26 | |
4489 | 27 #include <cerrno> |
1683 | 28 #include <cstdlib> |
4221 | 29 #include <new> |
1683 | 30 |
5765 | 31 #include <sstream> |
1728 | 32 #include <string> |
33 | |
21979
d04da18a407a
use OCTAVE_USE_WINDOWS_API more consistently
John W. Eaton <jwe@octave.org>
parents:
21966
diff
changeset
|
34 #if defined (OCTAVE_USE_WINDOWS_API) |
21949
baeffde5c87d
fix build for Windows systems
John W. Eaton <jwe@octave.org>
parents:
21942
diff
changeset
|
35 # define WIN32_LEAN_AND_MEAN 1 |
baeffde5c87d
fix build for Windows systems
John W. Eaton <jwe@octave.org>
parents:
21942
diff
changeset
|
36 # include <windows.h> |
baeffde5c87d
fix build for Windows systems
John W. Eaton <jwe@octave.org>
parents:
21942
diff
changeset
|
37 #endif |
baeffde5c87d
fix build for Windows systems
John W. Eaton <jwe@octave.org>
parents:
21942
diff
changeset
|
38 |
22264
9b78fda78300
fix build failure for --without-z (bug #48757)
John W. Eaton <jwe@octave.org>
parents:
22094
diff
changeset
|
39 #include "async-system-wrapper.h" |
22094
9203833cab7d
move new interpreter class to separate file
John W. Eaton <jwe@octave.org>
parents:
22091
diff
changeset
|
40 #include "child-list.h" |
1683 | 41 #include "lo-error.h" |
21600
184b85b31e03
more updates for version function
mmuetzel <markus.muetzel@gmx.de>
parents:
21598
diff
changeset
|
42 #include "oct-fftw.h" |
13983
7dd7cccf0757
clean up memory allocated for singletons before exit
John W. Eaton <jwe@octave.org>
parents:
13981
diff
changeset
|
43 #include "oct-locbuf.h" |
21921
ecfcc8527661
hide sys/wait.h header and provide wrappers for waitpid macros
John W. Eaton <jwe@octave.org>
parents:
21907
diff
changeset
|
44 #include "oct-syscalls.h" |
1755 | 45 #include "str-vec.h" |
21899 | 46 #include "wait-for-input.h" |
1683 | 47 |
21220
d78e45987d6a
rename octave::build_env namespace from octave::config
John W. Eaton <jwe@octave.org>
parents:
21200
diff
changeset
|
48 #include "build-env.h" |
21607
37f6ed8a6f1b
store liboctave and liboctinterp hg ids separately
John W. Eaton <jwe@octave.org>
parents:
21605
diff
changeset
|
49 #include "liboctinterp-build-info.h" |
22091
0f6fc2ec3b1a
move call_stack class to a separate file
John W. Eaton <jwe@octave.org>
parents:
22089
diff
changeset
|
50 #include "call-stack.h" |
13983
7dd7cccf0757
clean up memory allocated for singletons before exit
John W. Eaton <jwe@octave.org>
parents:
13981
diff
changeset
|
51 #include "defaults.h" |
1683 | 52 #include "defun.h" |
53 #include "error.h" | |
54 #include "file-io.h" | |
23712
b95c430c0649
revamp insertion of config variables into binaries and eliminate some macros
John W. Eaton <jwe@octave.org>
parents:
23577
diff
changeset
|
55 #include "help.h" |
22089
c2c668b3051b
use classes for octave application and interpreter
John W. Eaton <jwe@octave.org>
parents:
22051
diff
changeset
|
56 #include "octave.h" |
2162 | 57 #include "oct-map.h" |
20940
48b2ad5ee801
maint: Rename oct-obj.[cc|h] to ovl.[cc|h] for clarity.
Rik <rik@octave.org>
parents:
20939
diff
changeset
|
58 #include "ovl.h" |
13983
7dd7cccf0757
clean up memory allocated for singletons before exit
John W. Eaton <jwe@octave.org>
parents:
13981
diff
changeset
|
59 #include "ov.h" |
1683 | 60 #include "pager.h" |
61 #include "procstream.h" | |
62 #include "sysdep.h" | |
63 #include "unwind-prot.h" | |
64 #include "utils.h" | |
23466
5da300c55e89
use "" instead of <> for including defaults.h and version.h
John W. Eaton <jwe@octave.org>
parents:
23220
diff
changeset
|
65 #include "version.h" |
1683 | 66 |
21724
aba2e6293dd8
use "#if ..." consistently instead of "#ifdef" and "#ifndef"
John W. Eaton <jwe@octave.org>
parents:
21618
diff
changeset
|
67 #if ! defined (SHELL_PATH) |
21200
fcac5dbbf9ed
maint: Indent #ifdef blocks in libinterp.
Rik <rik@octave.org>
parents:
21182
diff
changeset
|
68 # define SHELL_PATH "/bin/sh" |
15756
ea1a1fb00744
Make the path to the shell interpreter configuable
Mike Miller <mtmiller@ieee.org>
parents:
15596
diff
changeset
|
69 #endif |
ea1a1fb00744
Make the path to the shell interpreter configuable
Mike Miller <mtmiller@ieee.org>
parents:
15596
diff
changeset
|
70 |
1957 | 71 DEFUN (warranty, , , |
21966
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
72 doc: /* -*- texinfo -*- |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
73 @deftypefn {} {} warranty () |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
74 Describe the conditions for copying and distributing Octave. |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
75 @end deftypefn */) |
1683 | 76 { |
17510
7542f4496974
eliminate some macros in version.h
John W. Eaton <jwe@octave.org>
parents:
17281
diff
changeset
|
77 octave_stdout << "\n" << octave_name_version_and_copyright () << "\n\ |
3922 | 78 \n\ |
19604
7005044f3080
Correct missing word in output of warranty().
Daniel J Sebald <daniel.sebald@ieee.org>
parents:
17821
diff
changeset
|
79 GNU Octave is free software; you can redistribute it and/or modify\n\ |
1683 | 80 it under the terms of the GNU General Public License as published by\n\ |
7016 | 81 the Free Software Foundation; either version 3 of the License, or\n\ |
1683 | 82 (at your option) any later version.\n\ |
83 \n\ | |
11104 | 84 GNU Octave is distributed in the hope that it will be useful,\n\ |
1683 | 85 but WITHOUT ANY WARRANTY; without even the implied warranty of\n\ |
86 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\ | |
87 GNU General Public License for more details.\n\ | |
88 \n\ | |
89 You should have received a copy of the GNU General Public License\n\ | |
22802
0dcff7695e26
maint: Update more Copyright statements to use standard form.
Rik <rik@octave.org>
parents:
22763
diff
changeset
|
90 along with GNU Octave. If not, see <http://www.gnu.org/licenses/>.\n\ |
1683 | 91 \n"; |
92 | |
21078
49852ff04747
maint: Remove unnecessary declarations of retval.
Rik <rik@octave.org>
parents:
21055
diff
changeset
|
93 return ovl (); |
1683 | 94 } |
95 | |
96 // Execute a shell command. | |
97 | |
2086 | 98 static octave_value_list |
3523 | 99 run_command_and_return_output (const std::string& cmd_str) |
2083 | 100 { |
2086 | 101 octave_value_list retval; |
21743
f4d7d0eb5b0c
use namespace for unwind_protect class
John W. Eaton <jwe@octave.org>
parents:
21739
diff
changeset
|
102 octave::unwind_protect frame; |
2083 | 103 |
104 iprocstream *cmd = new iprocstream (cmd_str.c_str ()); | |
105 | |
10212
56f7734f5448
fix process creation failure handling in system()
Jaroslav Hajek <highegg@gmail.com>
parents:
10186
diff
changeset
|
106 frame.add_delete (cmd); |
22049
ccf50f029999
move octave_child_list to separate file and define inside namespace
John W. Eaton <jwe@octave.org>
parents:
22022
diff
changeset
|
107 frame.add_fcn (octave::child_list::remove, cmd->pid ()); |
3060 | 108 |
20962
3aa293be0e8d
maint: Invert simple conditionals in if/else/error paradigm.
Rik <rik@octave.org>
parents:
20946
diff
changeset
|
109 if (! *cmd) |
3aa293be0e8d
maint: Invert simple conditionals in if/else/error paradigm.
Rik <rik@octave.org>
parents:
20946
diff
changeset
|
110 error ("system: unable to start subprocess for '%s'", cmd_str.c_str ()); |
3aa293be0e8d
maint: Invert simple conditionals in if/else/error paradigm.
Rik <rik@octave.org>
parents:
20946
diff
changeset
|
111 |
3aa293be0e8d
maint: Invert simple conditionals in if/else/error paradigm.
Rik <rik@octave.org>
parents:
20946
diff
changeset
|
112 int fid = cmd->file_number (); |
3aa293be0e8d
maint: Invert simple conditionals in if/else/error paradigm.
Rik <rik@octave.org>
parents:
20946
diff
changeset
|
113 |
3aa293be0e8d
maint: Invert simple conditionals in if/else/error paradigm.
Rik <rik@octave.org>
parents:
20946
diff
changeset
|
114 std::ostringstream output_buf; |
2095 | 115 |
20962
3aa293be0e8d
maint: Invert simple conditionals in if/else/error paradigm.
Rik <rik@octave.org>
parents:
20946
diff
changeset
|
116 char ch; |
4494 | 117 |
20962
3aa293be0e8d
maint: Invert simple conditionals in if/else/error paradigm.
Rik <rik@octave.org>
parents:
20946
diff
changeset
|
118 for (;;) |
3aa293be0e8d
maint: Invert simple conditionals in if/else/error paradigm.
Rik <rik@octave.org>
parents:
20946
diff
changeset
|
119 { |
3aa293be0e8d
maint: Invert simple conditionals in if/else/error paradigm.
Rik <rik@octave.org>
parents:
20946
diff
changeset
|
120 if (cmd->get (ch)) |
3aa293be0e8d
maint: Invert simple conditionals in if/else/error paradigm.
Rik <rik@octave.org>
parents:
20946
diff
changeset
|
121 output_buf.put (ch); |
3aa293be0e8d
maint: Invert simple conditionals in if/else/error paradigm.
Rik <rik@octave.org>
parents:
20946
diff
changeset
|
122 else |
10212
56f7734f5448
fix process creation failure handling in system()
Jaroslav Hajek <highegg@gmail.com>
parents:
10186
diff
changeset
|
123 { |
20962
3aa293be0e8d
maint: Invert simple conditionals in if/else/error paradigm.
Rik <rik@octave.org>
parents:
20946
diff
changeset
|
124 if (! cmd->eof () && errno == EAGAIN) |
10212
56f7734f5448
fix process creation failure handling in system()
Jaroslav Hajek <highegg@gmail.com>
parents:
10186
diff
changeset
|
125 { |
20962
3aa293be0e8d
maint: Invert simple conditionals in if/else/error paradigm.
Rik <rik@octave.org>
parents:
20946
diff
changeset
|
126 cmd->clear (); |
3147 | 127 |
21899 | 128 if (octave_wait_for_input (fid) != 1) |
10212
56f7734f5448
fix process creation failure handling in system()
Jaroslav Hajek <highegg@gmail.com>
parents:
10186
diff
changeset
|
129 break; |
56f7734f5448
fix process creation failure handling in system()
Jaroslav Hajek <highegg@gmail.com>
parents:
10186
diff
changeset
|
130 } |
20962
3aa293be0e8d
maint: Invert simple conditionals in if/else/error paradigm.
Rik <rik@octave.org>
parents:
20946
diff
changeset
|
131 else |
3aa293be0e8d
maint: Invert simple conditionals in if/else/error paradigm.
Rik <rik@octave.org>
parents:
20946
diff
changeset
|
132 break; |
10212
56f7734f5448
fix process creation failure handling in system()
Jaroslav Hajek <highegg@gmail.com>
parents:
10186
diff
changeset
|
133 } |
20962
3aa293be0e8d
maint: Invert simple conditionals in if/else/error paradigm.
Rik <rik@octave.org>
parents:
20946
diff
changeset
|
134 } |
3147 | 135 |
20962
3aa293be0e8d
maint: Invert simple conditionals in if/else/error paradigm.
Rik <rik@octave.org>
parents:
20946
diff
changeset
|
136 int cmd_status = cmd->close (); |
2083 | 137 |
21921
ecfcc8527661
hide sys/wait.h header and provide wrappers for waitpid macros
John W. Eaton <jwe@octave.org>
parents:
21907
diff
changeset
|
138 if (octave::sys::wifexited (cmd_status)) |
ecfcc8527661
hide sys/wait.h header and provide wrappers for waitpid macros
John W. Eaton <jwe@octave.org>
parents:
21907
diff
changeset
|
139 cmd_status = octave::sys::wexitstatus (cmd_status); |
20962
3aa293be0e8d
maint: Invert simple conditionals in if/else/error paradigm.
Rik <rik@octave.org>
parents:
20946
diff
changeset
|
140 else |
3aa293be0e8d
maint: Invert simple conditionals in if/else/error paradigm.
Rik <rik@octave.org>
parents:
20946
diff
changeset
|
141 cmd_status = 127; |
2083 | 142 |
20962
3aa293be0e8d
maint: Invert simple conditionals in if/else/error paradigm.
Rik <rik@octave.org>
parents:
20946
diff
changeset
|
143 retval = ovl (cmd_status, output_buf.str ()); |
2083 | 144 |
145 return retval; | |
146 } | |
147 | |
5285 | 148 enum system_exec_type { et_sync, et_async }; |
149 | |
1957 | 150 DEFUN (system, args, nargout, |
21966
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
151 doc: /* -*- texinfo -*- |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
152 @deftypefn {} {} system ("@var{string}") |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
153 @deftypefnx {} {} system ("@var{string}", @var{return_output}) |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
154 @deftypefnx {} {} system ("@var{string}", @var{return_output}, @var{type}) |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
155 @deftypefnx {} {[@var{status}, @var{output}] =} system (@dots{}) |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
156 Execute a shell command specified by @var{string}. |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
157 |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
158 If the optional argument @var{type} is @qcode{"async"}, the process is |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
159 started in the background and the process ID of the child process is |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
160 returned immediately. Otherwise, the child process is started and Octave |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
161 waits until it exits. If the @var{type} argument is omitted, it defaults to |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
162 the value @qcode{"sync"}. |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
163 |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
164 If @var{system} is called with one or more output arguments, or if the |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
165 optional argument @var{return_output} is true and the subprocess is started |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
166 synchronously, then the output from the command is returned as a variable. |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
167 Otherwise, if the subprocess is executed synchronously, its output is sent |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
168 to the standard output. To send the output of a command executed with |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
169 @code{system} through the pager, use a command like |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
170 |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
171 @example |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
172 @group |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
173 [~, text] = system ("cmd"); |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
174 disp (text); |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
175 @end group |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
176 @end example |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
177 |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
178 @noindent |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
179 or |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
180 |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
181 @example |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
182 printf ("%s\n", nthargout (2, "system", "cmd")); |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
183 @end example |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
184 |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
185 The @code{system} function can return two values. The first is the |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
186 exit status of the command and the second is any output from the |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
187 command that was written to the standard output stream. For example, |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
188 |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
189 @example |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
190 [status, output] = system ("echo foo; exit 2"); |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
191 @end example |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
192 |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
193 @noindent |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
194 will set the variable @code{output} to the string @samp{foo}, and the |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
195 variable @code{status} to the integer @samp{2}. |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
196 |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
197 For commands run asynchronously, @var{status} is the process id of the |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
198 command shell that is started to run the command. |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
199 @seealso{unix, dos} |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
200 @end deftypefn */) |
1683 | 201 { |
202 int nargin = args.length (); | |
203 | |
20799
c349d4c91ce2
eliminate return statements after calls to print_usage
John W. Eaton <jwe@octave.org>
parents:
20791
diff
changeset
|
204 if (nargin == 0 || nargin > 3) |
c349d4c91ce2
eliminate return statements after calls to print_usage
John W. Eaton <jwe@octave.org>
parents:
20791
diff
changeset
|
205 print_usage (); |
2083 | 206 |
20799
c349d4c91ce2
eliminate return statements after calls to print_usage
John W. Eaton <jwe@octave.org>
parents:
20791
diff
changeset
|
207 system_exec_type type = et_sync; |
c349d4c91ce2
eliminate return statements after calls to print_usage
John W. Eaton <jwe@octave.org>
parents:
20791
diff
changeset
|
208 if (nargin == 3) |
c349d4c91ce2
eliminate return statements after calls to print_usage
John W. Eaton <jwe@octave.org>
parents:
20791
diff
changeset
|
209 { |
c349d4c91ce2
eliminate return statements after calls to print_usage
John W. Eaton <jwe@octave.org>
parents:
20791
diff
changeset
|
210 std::string type_str = args(2).xstring_value ("system: TYPE must be a string"); |
11123
fbec4b3be59f
toplev.cc (Fsystem): allow optional return_output and type arguments to be specified independently
John W. Eaton <jwe@octave.org>
parents:
11104
diff
changeset
|
211 |
20799
c349d4c91ce2
eliminate return statements after calls to print_usage
John W. Eaton <jwe@octave.org>
parents:
20791
diff
changeset
|
212 if (type_str == "sync") |
c349d4c91ce2
eliminate return statements after calls to print_usage
John W. Eaton <jwe@octave.org>
parents:
20791
diff
changeset
|
213 type = et_sync; |
c349d4c91ce2
eliminate return statements after calls to print_usage
John W. Eaton <jwe@octave.org>
parents:
20791
diff
changeset
|
214 else if (type_str == "async") |
c349d4c91ce2
eliminate return statements after calls to print_usage
John W. Eaton <jwe@octave.org>
parents:
20791
diff
changeset
|
215 type = et_async; |
c349d4c91ce2
eliminate return statements after calls to print_usage
John W. Eaton <jwe@octave.org>
parents:
20791
diff
changeset
|
216 else |
23803
90689bdbe048
Use C++11 raw string literals to avoid escaping double quotes.
Rik <rik@octave.org>
parents:
23721
diff
changeset
|
217 error (R"(system: TYPE must be "sync" or "async")"); |
20799
c349d4c91ce2
eliminate return statements after calls to print_usage
John W. Eaton <jwe@octave.org>
parents:
20791
diff
changeset
|
218 } |
11123
fbec4b3be59f
toplev.cc (Fsystem): allow optional return_output and type arguments to be specified independently
John W. Eaton <jwe@octave.org>
parents:
11104
diff
changeset
|
219 |
20939
b17fda023ca6
maint: Use new C++ archetype in more files.
Rik <rik@octave.org>
parents:
20923
diff
changeset
|
220 octave_value_list retval; |
b17fda023ca6
maint: Use new C++ archetype in more files.
Rik <rik@octave.org>
parents:
20923
diff
changeset
|
221 |
b17fda023ca6
maint: Use new C++ archetype in more files.
Rik <rik@octave.org>
parents:
20923
diff
changeset
|
222 // FIXME: Is this unwind_protect frame needed anymore (12/16/15)? |
21743
f4d7d0eb5b0c
use namespace for unwind_protect class
John W. Eaton <jwe@octave.org>
parents:
21739
diff
changeset
|
223 octave::unwind_protect frame; |
20939
b17fda023ca6
maint: Use new C++ archetype in more files.
Rik <rik@octave.org>
parents:
20923
diff
changeset
|
224 |
b17fda023ca6
maint: Use new C++ archetype in more files.
Rik <rik@octave.org>
parents:
20923
diff
changeset
|
225 bool return_output = (nargin == 1 && nargout > 1); |
b17fda023ca6
maint: Use new C++ archetype in more files.
Rik <rik@octave.org>
parents:
20923
diff
changeset
|
226 |
20799
c349d4c91ce2
eliminate return statements after calls to print_usage
John W. Eaton <jwe@octave.org>
parents:
20791
diff
changeset
|
227 if (nargin > 1) |
c349d4c91ce2
eliminate return statements after calls to print_usage
John W. Eaton <jwe@octave.org>
parents:
20791
diff
changeset
|
228 { |
c349d4c91ce2
eliminate return statements after calls to print_usage
John W. Eaton <jwe@octave.org>
parents:
20791
diff
changeset
|
229 try |
c349d4c91ce2
eliminate return statements after calls to print_usage
John W. Eaton <jwe@octave.org>
parents:
20791
diff
changeset
|
230 { |
c349d4c91ce2
eliminate return statements after calls to print_usage
John W. Eaton <jwe@octave.org>
parents:
20791
diff
changeset
|
231 return_output = args(1).is_true (); |
c349d4c91ce2
eliminate return statements after calls to print_usage
John W. Eaton <jwe@octave.org>
parents:
20791
diff
changeset
|
232 } |
22327
d0562b3159c7
move more classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
22323
diff
changeset
|
233 catch (octave::execution_exception& e) |
20799
c349d4c91ce2
eliminate return statements after calls to print_usage
John W. Eaton <jwe@octave.org>
parents:
20791
diff
changeset
|
234 { |
c349d4c91ce2
eliminate return statements after calls to print_usage
John W. Eaton <jwe@octave.org>
parents:
20791
diff
changeset
|
235 error (e, "system: RETURN_OUTPUT must be boolean value true or false"); |
c349d4c91ce2
eliminate return statements after calls to print_usage
John W. Eaton <jwe@octave.org>
parents:
20791
diff
changeset
|
236 } |
c349d4c91ce2
eliminate return statements after calls to print_usage
John W. Eaton <jwe@octave.org>
parents:
20791
diff
changeset
|
237 } |
c349d4c91ce2
eliminate return statements after calls to print_usage
John W. Eaton <jwe@octave.org>
parents:
20791
diff
changeset
|
238 |
c349d4c91ce2
eliminate return statements after calls to print_usage
John W. Eaton <jwe@octave.org>
parents:
20791
diff
changeset
|
239 if (return_output && type == et_async) |
20831
35241c4b696c
eliminate return statements after calls to error
John W. Eaton <jwe@octave.org>
parents:
20799
diff
changeset
|
240 error ("system: can't return output from commands run asynchronously"); |
20799
c349d4c91ce2
eliminate return statements after calls to print_usage
John W. Eaton <jwe@octave.org>
parents:
20791
diff
changeset
|
241 |
c349d4c91ce2
eliminate return statements after calls to print_usage
John W. Eaton <jwe@octave.org>
parents:
20791
diff
changeset
|
242 std::string cmd_str = args(0).xstring_value ("system: first argument must be a string"); |
1683 | 243 |
21979
d04da18a407a
use OCTAVE_USE_WINDOWS_API more consistently
John W. Eaton <jwe@octave.org>
parents:
21966
diff
changeset
|
244 #if defined (OCTAVE_USE_WINDOWS_API) |
20799
c349d4c91ce2
eliminate return statements after calls to print_usage
John W. Eaton <jwe@octave.org>
parents:
20791
diff
changeset
|
245 // Work around weird double-quote handling on Windows systems. |
c349d4c91ce2
eliminate return statements after calls to print_usage
John W. Eaton <jwe@octave.org>
parents:
20791
diff
changeset
|
246 if (type == et_sync) |
23803
90689bdbe048
Use C++11 raw string literals to avoid escaping double quotes.
Rik <rik@octave.org>
parents:
23721
diff
changeset
|
247 cmd_str = '"' + cmd_str + '"'; |
7104 | 248 #endif |
249 | |
20799
c349d4c91ce2
eliminate return statements after calls to print_usage
John W. Eaton <jwe@octave.org>
parents:
20791
diff
changeset
|
250 if (type == et_async) |
22264
9b78fda78300
fix build failure for --without-z (bug #48757)
John W. Eaton <jwe@octave.org>
parents:
22094
diff
changeset
|
251 retval(0) = octave_async_system_wrapper (cmd_str.c_str ()); |
20799
c349d4c91ce2
eliminate return statements after calls to print_usage
John W. Eaton <jwe@octave.org>
parents:
20791
diff
changeset
|
252 else if (return_output) |
c349d4c91ce2
eliminate return statements after calls to print_usage
John W. Eaton <jwe@octave.org>
parents:
20791
diff
changeset
|
253 retval = run_command_and_return_output (cmd_str); |
c349d4c91ce2
eliminate return statements after calls to print_usage
John W. Eaton <jwe@octave.org>
parents:
20791
diff
changeset
|
254 else |
c349d4c91ce2
eliminate return statements after calls to print_usage
John W. Eaton <jwe@octave.org>
parents:
20791
diff
changeset
|
255 { |
c349d4c91ce2
eliminate return statements after calls to print_usage
John W. Eaton <jwe@octave.org>
parents:
20791
diff
changeset
|
256 int status = system (cmd_str.c_str ()); |
2321 | 257 |
20799
c349d4c91ce2
eliminate return statements after calls to print_usage
John W. Eaton <jwe@octave.org>
parents:
20791
diff
changeset
|
258 // The value in status is as returned by waitpid. If |
c349d4c91ce2
eliminate return statements after calls to print_usage
John W. Eaton <jwe@octave.org>
parents:
20791
diff
changeset
|
259 // the process exited normally, extract the actual exit |
c349d4c91ce2
eliminate return statements after calls to print_usage
John W. Eaton <jwe@octave.org>
parents:
20791
diff
changeset
|
260 // status of the command. Otherwise, return 127 as a |
c349d4c91ce2
eliminate return statements after calls to print_usage
John W. Eaton <jwe@octave.org>
parents:
20791
diff
changeset
|
261 // failure code. |
20582
ba2b07c13913
use new string_value method to handle value extraction errors
John W. Eaton <jwe@octave.org>
parents:
20555
diff
changeset
|
262 |
21921
ecfcc8527661
hide sys/wait.h header and provide wrappers for waitpid macros
John W. Eaton <jwe@octave.org>
parents:
21907
diff
changeset
|
263 if (octave::sys::wifexited (status)) |
ecfcc8527661
hide sys/wait.h header and provide wrappers for waitpid macros
John W. Eaton <jwe@octave.org>
parents:
21907
diff
changeset
|
264 status = octave::sys::wexitstatus (status); |
20799
c349d4c91ce2
eliminate return statements after calls to print_usage
John W. Eaton <jwe@octave.org>
parents:
20791
diff
changeset
|
265 |
c349d4c91ce2
eliminate return statements after calls to print_usage
John W. Eaton <jwe@octave.org>
parents:
20791
diff
changeset
|
266 retval(0) = status; |
1683 | 267 } |
268 | |
269 return retval; | |
270 } | |
271 | |
12846
9ce9e1e2d2c8
codesprint: new tests for toplev.cc
John W. Eaton <jwe@octave.org>
parents:
12483
diff
changeset
|
272 /* |
9ce9e1e2d2c8
codesprint: new tests for toplev.cc
John W. Eaton <jwe@octave.org>
parents:
12483
diff
changeset
|
273 %!test |
14018
5d5685216876
Deprecate shell_cmd function and update system, dos, unix commands
Rik <octave@nomad.inbox5.com>
parents:
14016
diff
changeset
|
274 %! cmd = ls_command (); |
12846
9ce9e1e2d2c8
codesprint: new tests for toplev.cc
John W. Eaton <jwe@octave.org>
parents:
12483
diff
changeset
|
275 %! [status, output] = system (cmd); |
14018
5d5685216876
Deprecate shell_cmd function and update system, dos, unix commands
Rik <octave@nomad.inbox5.com>
parents:
14016
diff
changeset
|
276 %! assert (status, 0); |
12846
9ce9e1e2d2c8
codesprint: new tests for toplev.cc
John W. Eaton <jwe@octave.org>
parents:
12483
diff
changeset
|
277 %! assert (ischar (output)); |
9ce9e1e2d2c8
codesprint: new tests for toplev.cc
John W. Eaton <jwe@octave.org>
parents:
12483
diff
changeset
|
278 %! assert (! isempty (output)); |
14018
5d5685216876
Deprecate shell_cmd function and update system, dos, unix commands
Rik <octave@nomad.inbox5.com>
parents:
14016
diff
changeset
|
279 |
5d5685216876
Deprecate shell_cmd function and update system, dos, unix commands
Rik <octave@nomad.inbox5.com>
parents:
14016
diff
changeset
|
280 %!error system () |
5d5685216876
Deprecate shell_cmd function and update system, dos, unix commands
Rik <octave@nomad.inbox5.com>
parents:
14016
diff
changeset
|
281 %!error system (1, 2, 3) |
12846
9ce9e1e2d2c8
codesprint: new tests for toplev.cc
John W. Eaton <jwe@octave.org>
parents:
12483
diff
changeset
|
282 */ |
9ce9e1e2d2c8
codesprint: new tests for toplev.cc
John W. Eaton <jwe@octave.org>
parents:
12483
diff
changeset
|
283 |
21226
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
284 static octave_value |
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
285 find_config_info (const octave_scalar_map& m, const std::string& key) |
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
286 { |
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
287 if (m.isfield (key)) |
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
288 { |
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
289 Cell c = m.contents (key); |
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
290 |
23577
80c42f4cca13
maint: Deprecate is_empty and replace with isempty.
Rik <rik@octave.org>
parents:
23487
diff
changeset
|
291 if (! c.isempty ()) |
21226
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
292 return c(0); |
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
293 } |
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
294 |
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
295 return octave_value (); |
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
296 } |
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
297 |
21434
1da428cbf401
deprecate octave_config_info
John W. Eaton <jwe@octave.org>
parents:
21421
diff
changeset
|
298 DEFUN (__octave_config_info__, args, , |
21966
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
299 doc: /* -*- texinfo -*- |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
300 @deftypefn {} {} __octave_config_info__ () |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
301 @deftypefnx {} {} __octave_config_info__ (@var{option}) |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
302 Return a structure containing configuration and installation information for |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
303 Octave. |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
304 |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
305 If @var{option} is a string, return the configuration information for the |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
306 specified option. |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
307 |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
308 @seealso{computer} |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21949
diff
changeset
|
309 @end deftypefn */) |
2162 | 310 { |
4128 | 311 #if defined (ENABLE_DYNAMIC_LINKING) |
2689 | 312 bool octave_supports_dynamic_linking = true; |
313 #else | |
314 bool octave_supports_dynamic_linking = false; | |
315 #endif | |
316 | |
23715
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
317 static octave_scalar_map config; |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
318 static octave_scalar_map build_env; |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
319 static octave_scalar_map build_features; |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
320 |
4357 | 321 static bool initialized = false; |
2162 | 322 |
23715
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
323 if (! initialized) |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
324 { |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
325 std::map<std::string, octave_value> conf_info_map |
23717
06579337237b
move configuration variables inside octave::config namespace
John W. Eaton <jwe@octave.org>
parents:
23715
diff
changeset
|
326 = {{ "DEFAULT_PAGER", octave::config::default_pager () }, |
21226
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
327 |
21229
a83e7a384ee0
create and install a subset of config.h in octave-config.h
John W. Eaton <jwe@octave.org>
parents:
21226
diff
changeset
|
328 #if defined (OCTAVE_ENABLE_64) |
23715
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
329 { "ENABLE_64", true }, |
21226
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
330 #else |
23715
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
331 { "ENABLE_64", false }, |
21226
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
332 #endif |
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
333 |
21229
a83e7a384ee0
create and install a subset of config.h in octave-config.h
John W. Eaton <jwe@octave.org>
parents:
21226
diff
changeset
|
334 #if defined (OCTAVE_ENABLE_ATOMIC_REFCOUNT) |
23715
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
335 { "ENABLE_ATOMIC_REFCOUNT", true }, |
21226
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
336 #else |
23715
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
337 { "ENABLE_ATOMIC_REFCOUNT", false }, |
21226
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
338 #endif |
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
339 |
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
340 #if defined (ENABLE_DOCS) |
23715
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
341 { "ENABLE_DOCS", true }, |
21226
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
342 #else |
23715
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
343 { "ENABLE_DOCS", false }, |
21226
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
344 #endif |
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
345 |
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
346 #if defined (ENABLE_DYNAMIC_LINKING) |
23715
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
347 { "ENABLE_DYNAMIC_LINKING", true }, |
21226
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
348 #else |
23715
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
349 { "ENABLE_DYNAMIC_LINKING", false }, |
21226
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
350 #endif |
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
351 |
21229
a83e7a384ee0
create and install a subset of config.h in octave-config.h
John W. Eaton <jwe@octave.org>
parents:
21226
diff
changeset
|
352 #if defined (OCTAVE_ENABLE_FLOAT_TRUNCATE) |
23715
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
353 { "ENABLE_FLOAT_TRUNCATE", true }, |
21226
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
354 #else |
23715
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
355 { "ENABLE_FLOAT_TRUNCATE", false }, |
21226
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
356 #endif |
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
357 |
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
358 #if defined (ENABLE_JIT) |
23715
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
359 { "ENABLE_JIT", true }, |
21226
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
360 #else |
23715
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
361 { "ENABLE_JIT", false }, |
21226
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
362 #endif |
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
363 |
21229
a83e7a384ee0
create and install a subset of config.h in octave-config.h
John W. Eaton <jwe@octave.org>
parents:
21226
diff
changeset
|
364 #if defined (OCTAVE_ENABLE_OPENMP) |
23715
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
365 { "ENABLE_OPENMP", true }, |
21226
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
366 #else |
23715
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
367 { "ENABLE_OPENMP", false }, |
21226
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
368 #endif |
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
369 |
23715
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
370 { "api_version", OCTAVE_API_VERSION }, |
23717
06579337237b
move configuration variables inside octave::config namespace
John W. Eaton <jwe@octave.org>
parents:
23715
diff
changeset
|
371 { "archlibdir", octave::config::arch_lib_dir () }, |
06579337237b
move configuration variables inside octave::config namespace
John W. Eaton <jwe@octave.org>
parents:
23715
diff
changeset
|
372 { "bindir", octave::config::bin_dir () }, |
06579337237b
move configuration variables inside octave::config namespace
John W. Eaton <jwe@octave.org>
parents:
23715
diff
changeset
|
373 { "canonical_host_type", octave::config::canonical_host_type () }, |
06579337237b
move configuration variables inside octave::config namespace
John W. Eaton <jwe@octave.org>
parents:
23715
diff
changeset
|
374 { "datadir", octave::config::data_dir () }, |
06579337237b
move configuration variables inside octave::config namespace
John W. Eaton <jwe@octave.org>
parents:
23715
diff
changeset
|
375 { "datarootdir", octave::config::dataroot_dir () }, |
06579337237b
move configuration variables inside octave::config namespace
John W. Eaton <jwe@octave.org>
parents:
23715
diff
changeset
|
376 { "fcnfiledir", octave::config::fcn_file_dir () }, |
23715
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
377 { "fftw_version", octave::fftw_version () }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
378 { "fftwf_version", octave::fftwf_version () }, |
23717
06579337237b
move configuration variables inside octave::config namespace
John W. Eaton <jwe@octave.org>
parents:
23715
diff
changeset
|
379 { "imagedir", octave::config::image_dir () }, |
06579337237b
move configuration variables inside octave::config namespace
John W. Eaton <jwe@octave.org>
parents:
23715
diff
changeset
|
380 { "includedir", octave::config::include_dir () }, |
06579337237b
move configuration variables inside octave::config namespace
John W. Eaton <jwe@octave.org>
parents:
23715
diff
changeset
|
381 { "infodir", octave::config::info_dir () }, |
06579337237b
move configuration variables inside octave::config namespace
John W. Eaton <jwe@octave.org>
parents:
23715
diff
changeset
|
382 { "libdir", octave::config::lib_dir () }, |
06579337237b
move configuration variables inside octave::config namespace
John W. Eaton <jwe@octave.org>
parents:
23715
diff
changeset
|
383 { "libexecdir", octave::config::libexec_dir () }, |
23715
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
384 // Each library and executable has its own definition of the hg |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
385 // id. We check for consistency when Octave starts so we just |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
386 // store and report one of them here. |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
387 { "hg_id", liboctinterp_hg_id () }, |
23717
06579337237b
move configuration variables inside octave::config namespace
John W. Eaton <jwe@octave.org>
parents:
23715
diff
changeset
|
388 { "localapiarchlibdir", octave::config::local_api_arch_lib_dir () }, |
06579337237b
move configuration variables inside octave::config namespace
John W. Eaton <jwe@octave.org>
parents:
23715
diff
changeset
|
389 { "localapifcnfiledir", octave::config::local_api_fcn_file_dir () }, |
06579337237b
move configuration variables inside octave::config namespace
John W. Eaton <jwe@octave.org>
parents:
23715
diff
changeset
|
390 { "localapioctfiledir", octave::config::local_api_oct_file_dir () }, |
06579337237b
move configuration variables inside octave::config namespace
John W. Eaton <jwe@octave.org>
parents:
23715
diff
changeset
|
391 { "localarchlibdir", octave::config::local_arch_lib_dir () }, |
06579337237b
move configuration variables inside octave::config namespace
John W. Eaton <jwe@octave.org>
parents:
23715
diff
changeset
|
392 { "localfcnfiledir", octave::config::local_fcn_file_dir () }, |
06579337237b
move configuration variables inside octave::config namespace
John W. Eaton <jwe@octave.org>
parents:
23715
diff
changeset
|
393 { "localoctfiledir", octave::config::local_oct_file_dir () }, |
06579337237b
move configuration variables inside octave::config namespace
John W. Eaton <jwe@octave.org>
parents:
23715
diff
changeset
|
394 { "localstartupfiledir", octave::config::local_startupfile_dir () }, |
06579337237b
move configuration variables inside octave::config namespace
John W. Eaton <jwe@octave.org>
parents:
23715
diff
changeset
|
395 { "localverarchlibdir", octave::config::local_ver_arch_lib_dir () }, |
06579337237b
move configuration variables inside octave::config namespace
John W. Eaton <jwe@octave.org>
parents:
23715
diff
changeset
|
396 { "localverfcnfiledir", octave::config::local_ver_fcn_file_dir () }, |
06579337237b
move configuration variables inside octave::config namespace
John W. Eaton <jwe@octave.org>
parents:
23715
diff
changeset
|
397 { "localveroctfiledir", octave::config::local_ver_oct_file_dir () }, |
06579337237b
move configuration variables inside octave::config namespace
John W. Eaton <jwe@octave.org>
parents:
23715
diff
changeset
|
398 { "man1dir", octave::config::man1_dir () }, |
06579337237b
move configuration variables inside octave::config namespace
John W. Eaton <jwe@octave.org>
parents:
23715
diff
changeset
|
399 { "man1ext", octave::config::man1_ext () }, |
06579337237b
move configuration variables inside octave::config namespace
John W. Eaton <jwe@octave.org>
parents:
23715
diff
changeset
|
400 { "mandir", octave::config::man_dir () }, |
06579337237b
move configuration variables inside octave::config namespace
John W. Eaton <jwe@octave.org>
parents:
23715
diff
changeset
|
401 { "octdatadir", octave::config::oct_data_dir () }, |
06579337237b
move configuration variables inside octave::config namespace
John W. Eaton <jwe@octave.org>
parents:
23715
diff
changeset
|
402 { "octfiledir", octave::config::oct_file_dir () }, |
06579337237b
move configuration variables inside octave::config namespace
John W. Eaton <jwe@octave.org>
parents:
23715
diff
changeset
|
403 { "octetcdir", octave::config::oct_etc_dir () }, |
06579337237b
move configuration variables inside octave::config namespace
John W. Eaton <jwe@octave.org>
parents:
23715
diff
changeset
|
404 { "octincludedir", octave::config::oct_include_dir () }, |
06579337237b
move configuration variables inside octave::config namespace
John W. Eaton <jwe@octave.org>
parents:
23715
diff
changeset
|
405 { "octlibdir", octave::config::oct_lib_dir () }, |
06579337237b
move configuration variables inside octave::config namespace
John W. Eaton <jwe@octave.org>
parents:
23715
diff
changeset
|
406 { "octtestsdir", octave::config::oct_tests_dir () }, |
23715
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
407 { "release_date", OCTAVE_RELEASE_DATE }, |
23717
06579337237b
move configuration variables inside octave::config namespace
John W. Eaton <jwe@octave.org>
parents:
23715
diff
changeset
|
408 { "startupfiledir", octave::config::startupfile_dir () }, |
23715
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
409 { "version", OCTAVE_VERSION }}; |
4357 | 410 |
23715
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
411 std::map<std::string, octave_value> build_env_map |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
412 = {{ "AMD_CPPFLAGS", octave::build_env::AMD_CPPFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
413 { "AMD_LDFLAGS", octave::build_env::AMD_LDFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
414 { "AMD_LIBS", octave::build_env::AMD_LIBS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
415 { "AR", octave::build_env::AR }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
416 { "ARFLAGS", octave::build_env::ARFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
417 { "ARPACK_CPPFLAGS", octave::build_env::ARPACK_CPPFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
418 { "ARPACK_LDFLAGS", octave::build_env::ARPACK_LDFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
419 { "ARPACK_LIBS", octave::build_env::ARPACK_LIBS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
420 { "BLAS_LIBS", octave::build_env::BLAS_LIBS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
421 { "CAMD_CPPFLAGS", octave::build_env::CAMD_CPPFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
422 { "CAMD_LDFLAGS", octave::build_env::CAMD_LDFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
423 { "CAMD_LIBS", octave::build_env::CAMD_LIBS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
424 { "CARBON_LIBS", octave::build_env::CARBON_LIBS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
425 { "CC", octave::build_env::CC }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
426 { "CCOLAMD_CPPFLAGS", octave::build_env::CCOLAMD_CPPFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
427 { "CCOLAMD_LDFLAGS", octave::build_env::CCOLAMD_LDFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
428 { "CCOLAMD_LIBS", octave::build_env::CCOLAMD_LIBS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
429 { "CFLAGS", octave::build_env::CFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
430 { "CHOLMOD_CPPFLAGS", octave::build_env::CHOLMOD_CPPFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
431 { "CHOLMOD_LDFLAGS", octave::build_env::CHOLMOD_LDFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
432 { "CHOLMOD_LIBS", octave::build_env::CHOLMOD_LIBS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
433 { "COLAMD_CPPFLAGS", octave::build_env::COLAMD_CPPFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
434 { "COLAMD_LDFLAGS", octave::build_env::COLAMD_LDFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
435 { "COLAMD_LIBS", octave::build_env::COLAMD_LIBS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
436 { "CPICFLAG", octave::build_env::CPICFLAG }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
437 { "CPPFLAGS", octave::build_env::CPPFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
438 { "CURL_CPPFLAGS", octave::build_env::CURL_CPPFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
439 { "CURL_LDFLAGS", octave::build_env::CURL_LDFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
440 { "CURL_LIBS", octave::build_env::CURL_LIBS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
441 { "CXSPARSE_CPPFLAGS", octave::build_env::CXSPARSE_CPPFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
442 { "CXSPARSE_LDFLAGS", octave::build_env::CXSPARSE_LDFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
443 { "CXSPARSE_LIBS", octave::build_env::CXSPARSE_LIBS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
444 { "CXX", octave::build_env::CXX }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
445 { "CXXCPP", octave::build_env::CXXCPP }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
446 { "CXXFLAGS", octave::build_env::CXXFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
447 { "CXXPICFLAG", octave::build_env::CXXPICFLAG }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
448 { "DEFS", octave::build_env::DEFS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
449 { "DL_LD", octave::build_env::DL_LD }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
450 { "DL_LDFLAGS", octave::build_env::DL_LDFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
451 { "DL_LIBS", octave::build_env::DL_LIBS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
452 { "GCC_VERSION", octave::build_env::GCC_VERSION }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
453 { "GXX_VERSION", octave::build_env::GXX_VERSION }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
454 { "EXEEXT", octave::build_env::EXEEXT }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
455 { "F77", octave::build_env::F77 }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
456 { "F77_FLOAT_STORE_FLAG", octave::build_env::F77_FLOAT_STORE_FLAG }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
457 { "F77_INTEGER_8_FLAG", octave::build_env::F77_INTEGER_8_FLAG }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
458 { "FFLAGS", octave::build_env::FFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
459 { "FFTW3_CPPFLAGS", octave::build_env::FFTW3_CPPFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
460 { "FFTW3_LDFLAGS", octave::build_env::FFTW3_LDFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
461 { "FFTW3_LIBS", octave::build_env::FFTW3_LIBS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
462 { "FFTW3F_CPPFLAGS", octave::build_env::FFTW3F_CPPFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
463 { "FFTW3F_LDFLAGS", octave::build_env::FFTW3F_LDFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
464 { "FFTW3F_LIBS", octave::build_env::FFTW3F_LIBS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
465 { "FLIBS", octave::build_env::FLIBS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
466 { "FLTK_CPPFLAGS", octave::build_env::FLTK_CPPFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
467 { "FLTK_LDFLAGS", octave::build_env::FLTK_LDFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
468 { "FLTK_LIBS", octave::build_env::FLTK_LIBS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
469 { "FONTCONFIG_CPPFLAGS", octave::build_env::FONTCONFIG_CPPFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
470 { "FONTCONFIG_LIBS", octave::build_env::FONTCONFIG_LIBS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
471 { "FPICFLAG", octave::build_env::FPICFLAG }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
472 { "FT2_CPPFLAGS", octave::build_env::FT2_CPPFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
473 { "FT2_LIBS", octave::build_env::FT2_LIBS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
474 { "GLPK_CPPFLAGS", octave::build_env::GLPK_CPPFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
475 { "GLPK_LDFLAGS", octave::build_env::GLPK_LDFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
476 { "GLPK_LIBS", octave::build_env::GLPK_LIBS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
477 { "GNUPLOT", octave::build_env::GNUPLOT }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
478 { "HDF5_CPPFLAGS", octave::build_env::HDF5_CPPFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
479 { "HDF5_LDFLAGS", octave::build_env::HDF5_LDFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
480 { "HDF5_LIBS", octave::build_env::HDF5_LIBS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
481 { "LAPACK_LIBS", octave::build_env::LAPACK_LIBS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
482 { "LDFLAGS", octave::build_env::LDFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
483 { "LD_CXX", octave::build_env::LD_CXX }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
484 { "LD_STATIC_FLAG", octave::build_env::LD_STATIC_FLAG }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
485 { "LEX", octave::build_env::LEX }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
486 { "LEXLIB", octave::build_env::LEXLIB }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
487 { "LFLAGS", octave::build_env::LFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
488 { "LIBOCTAVE", octave::build_env::LIBOCTAVE }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
489 { "LIBOCTINTERP", octave::build_env::LIBOCTINTERP }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
490 { "LIBS", octave::build_env::LIBS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
491 { "LLVM_CPPFLAGS", octave::build_env::LLVM_CPPFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
492 { "LLVM_LDFLAGS", octave::build_env::LLVM_LDFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
493 { "LLVM_LIBS", octave::build_env::LLVM_LIBS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
494 { "LN_S", octave::build_env::LN_S }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
495 { "MAGICK_CPPFLAGS", octave::build_env::MAGICK_CPPFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
496 { "MAGICK_LDFLAGS", octave::build_env::MAGICK_LDFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
497 { "MAGICK_LIBS", octave::build_env::MAGICK_LIBS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
498 { "MKOCTFILE_DL_LDFLAGS", octave::build_env::MKOCTFILE_DL_LDFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
499 { "OCTAVE_LINK_DEPS", octave::build_env::OCTAVE_LINK_DEPS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
500 { "OCTAVE_LINK_OPTS", octave::build_env::OCTAVE_LINK_OPTS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
501 { "OCT_LINK_DEPS", octave::build_env::OCT_LINK_DEPS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
502 { "OCT_LINK_OPTS", octave::build_env::OCT_LINK_OPTS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
503 { "OPENGL_LIBS", octave::build_env::OPENGL_LIBS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
504 { "OSMESA_CPPFLAGS", octave::build_env::OSMESA_CPPFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
505 { "OSMESA_LDFLAGS", octave::build_env::OSMESA_LDFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
506 { "OSMESA_LIBS", octave::build_env::OSMESA_LIBS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
507 { "PCRE_CPPFLAGS", octave::build_env::PCRE_CPPFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
508 { "PCRE_LDFLAGS", octave::build_env::PCRE_LDFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
509 { "PCRE_LIBS", octave::build_env::PCRE_LIBS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
510 { "PTHREAD_CFLAGS", octave::build_env::PTHREAD_CFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
511 { "PTHREAD_LIBS", octave::build_env::PTHREAD_LIBS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
512 { "QHULL_CPPFLAGS", octave::build_env::QHULL_CPPFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
513 { "QHULL_LDFLAGS", octave::build_env::QHULL_LDFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
514 { "QHULL_LIBS", octave::build_env::QHULL_LIBS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
515 { "QRUPDATE_CPPFLAGS", octave::build_env::QRUPDATE_CPPFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
516 { "QRUPDATE_LDFLAGS", octave::build_env::QRUPDATE_LDFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
517 { "QRUPDATE_LIBS", octave::build_env::QRUPDATE_LIBS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
518 { "QT_CPPFLAGS", octave::build_env::QT_CPPFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
519 { "QT_LDFLAGS", octave::build_env::QT_LDFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
520 { "QT_LIBS", octave::build_env::QT_LIBS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
521 { "RANLIB", octave::build_env::RANLIB }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
522 { "RDYNAMIC_FLAG", octave::build_env::RDYNAMIC_FLAG }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
523 { "READLINE_LIBS", octave::build_env::READLINE_LIBS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
524 { "SED", octave::build_env::SED }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
525 { "SHARED_LIBS", octave::build_env::SHARED_LIBS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
526 { "SH_LD", octave::build_env::SH_LD }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
527 { "SH_LDFLAGS", octave::build_env::SH_LDFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
528 { "STATIC_LIBS", octave::build_env::STATIC_LIBS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
529 { "SUITESPARSE_CONFIG_LIBS", octave::build_env::SUITESPARSE_CONFIG_LIBS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
530 { "TERM_LIBS", octave::build_env::TERM_LIBS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
531 { "UMFPACK_CPPFLAGS", octave::build_env::UMFPACK_CPPFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
532 { "UMFPACK_LDFLAGS", octave::build_env::UMFPACK_LDFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
533 { "UMFPACK_LIBS", octave::build_env::UMFPACK_LIBS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
534 { "WARN_CFLAGS", octave::build_env::WARN_CFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
535 { "WARN_CXXFLAGS", octave::build_env::WARN_CXXFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
536 { "X11_INCFLAGS", octave::build_env::X11_INCFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
537 { "X11_LIBS", octave::build_env::X11_LIBS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
538 { "XTRA_CFLAGS", octave::build_env::XTRA_CFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
539 { "XTRA_CXXFLAGS", octave::build_env::XTRA_CXXFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
540 { "YACC", octave::build_env::YACC }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
541 { "YFLAGS", octave::build_env::YFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
542 { "Z_CPPFLAGS", octave::build_env::Z_CPPFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
543 { "Z_LDFLAGS", octave::build_env::Z_LDFLAGS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
544 { "Z_LIBS", octave::build_env::Z_LIBS }, |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
545 { "config_opts", octave::build_env::config_opts }}; |
21226
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
546 |
23715
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
547 config = octave_scalar_map (conf_info_map); |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
548 build_env = octave_scalar_map (build_env_map); |
e8e27cd4156c
* toplev.cc (F__octave_config_info__): Reorganize initialization.
John W. Eaton <jwe@octave.org>
parents:
23712
diff
changeset
|
549 build_features = octave::build_env::features (); |
21226
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
550 |
4691 | 551 bool unix_system = true; |
7013 | 552 bool mac_system = false; |
4691 | 553 bool windows_system = false; |
554 | |
21979
d04da18a407a
use OCTAVE_USE_WINDOWS_API more consistently
John W. Eaton <jwe@octave.org>
parents:
21966
diff
changeset
|
555 #if defined (__WIN32__) |
4691 | 556 windows_system = true; |
20791
f7084eae3318
maint: Use Octave coding conventions for #if statements.
Rik <rik@octave.org>
parents:
20785
diff
changeset
|
557 #if ! defined (__CYGWIN__) |
4691 | 558 unix_system = false; |
559 #endif | |
560 #endif | |
561 | |
8574
83b8c739d626
toplev.cc: check OCTAVE_USE_OS_X_API instead of __APPLE__ && __MACH__
John W. Eaton <jwe@octave.org>
parents:
8377
diff
changeset
|
562 #if defined (OCTAVE_USE_OS_X_API) |
7010 | 563 mac_system = true; |
564 #endif | |
565 | |
21226
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
566 config.assign ("unix", octave_value (unix_system)); |
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
567 config.assign ("mac", octave_value (mac_system)); |
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
568 config.assign ("windows", octave_value (windows_system)); |
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
569 |
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
570 config.assign ("dld", octave_value (octave_supports_dynamic_linking)); |
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
571 |
21739
c4ab2e54f100
use namespace for oct_mach_info class
John W. Eaton <jwe@octave.org>
parents:
21724
diff
changeset
|
572 octave::mach_info::float_format ff = octave::mach_info::native_float_format (); |
21226
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
573 config.assign ("float_format", |
21739
c4ab2e54f100
use namespace for oct_mach_info class
John W. Eaton <jwe@octave.org>
parents:
21724
diff
changeset
|
574 octave_value (octave::mach_info::float_format_as_string (ff))); |
21226
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
575 |
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
576 config.assign ("words_big_endian", |
21739
c4ab2e54f100
use namespace for oct_mach_info class
John W. Eaton <jwe@octave.org>
parents:
21724
diff
changeset
|
577 octave_value (octave::mach_info::words_big_endian ())); |
21226
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
578 |
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
579 config.assign ("words_little_endian", |
21739
c4ab2e54f100
use namespace for oct_mach_info class
John W. Eaton <jwe@octave.org>
parents:
21724
diff
changeset
|
580 octave_value (octave::mach_info::words_little_endian ())); |
21226
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
581 |
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
582 config.assign ("build_environment", octave_value (build_env)); |
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
583 |
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
584 config.assign ("build_features", octave_value (build_features)); |
4691 | 585 |
4357 | 586 initialized = true; |
587 } | |
2162 | 588 |
2689 | 589 int nargin = args.length (); |
590 | |
20799
c349d4c91ce2
eliminate return statements after calls to print_usage
John W. Eaton <jwe@octave.org>
parents:
20791
diff
changeset
|
591 if (nargin > 1) |
c349d4c91ce2
eliminate return statements after calls to print_usage
John W. Eaton <jwe@octave.org>
parents:
20791
diff
changeset
|
592 print_usage (); |
c349d4c91ce2
eliminate return statements after calls to print_usage
John W. Eaton <jwe@octave.org>
parents:
20791
diff
changeset
|
593 |
20939
b17fda023ca6
maint: Use new C++ archetype in more files.
Rik <rik@octave.org>
parents:
20923
diff
changeset
|
594 octave_value_list retval; |
b17fda023ca6
maint: Use new C++ archetype in more files.
Rik <rik@octave.org>
parents:
20923
diff
changeset
|
595 |
2689 | 596 if (nargin == 1) |
597 { | |
21434
1da428cbf401
deprecate octave_config_info
John W. Eaton <jwe@octave.org>
parents:
21421
diff
changeset
|
598 std::string arg = args(0).xstring_value ("__octave_config_info__: OPTION argument must be a string"); |
21226
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
599 |
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
600 octave_value info = find_config_info (config, arg); |
2689 | 601 |
21226
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
602 if (info.is_undefined ()) |
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
603 info = find_config_info (build_env, arg); |
20939
b17fda023ca6
maint: Use new C++ archetype in more files.
Rik <rik@octave.org>
parents:
20923
diff
changeset
|
604 |
21226
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
605 if (info.is_undefined ()) |
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
606 info = find_config_info (build_features, arg); |
5199 | 607 |
21226
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
608 if (info.is_undefined ()) |
21434
1da428cbf401
deprecate octave_config_info
John W. Eaton <jwe@octave.org>
parents:
21421
diff
changeset
|
609 error ("__octave_config_info__: no info for '%s'", arg.c_str ()); |
20939
b17fda023ca6
maint: Use new C++ archetype in more files.
Rik <rik@octave.org>
parents:
20923
diff
changeset
|
610 |
21226
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
611 return info; |
2689 | 612 } |
20799
c349d4c91ce2
eliminate return statements after calls to print_usage
John W. Eaton <jwe@octave.org>
parents:
20791
diff
changeset
|
613 else |
21226
a55b8ece1ecd
reorganize octave_config_info again
John W. Eaton <jwe@octave.org>
parents:
21220
diff
changeset
|
614 retval = ovl (config); |
2689 | 615 |
616 return retval; | |
2162 | 617 } |
618 | |
12846
9ce9e1e2d2c8
codesprint: new tests for toplev.cc
John W. Eaton <jwe@octave.org>
parents:
12483
diff
changeset
|
619 /* |
21434
1da428cbf401
deprecate octave_config_info
John W. Eaton <jwe@octave.org>
parents:
21421
diff
changeset
|
620 %!assert (ischar (__octave_config_info__ ("version"))) |
22751
e078f5607762
Fix failing BIST test in toplev.cc (bug #49575).
Rik <rik@octave.org>
parents:
22501
diff
changeset
|
621 %!assert (__octave_config_info__ ("version"), OCTAVE_VERSION ()) |
12846
9ce9e1e2d2c8
codesprint: new tests for toplev.cc
John W. Eaton <jwe@octave.org>
parents:
12483
diff
changeset
|
622 %!test |
21434
1da428cbf401
deprecate octave_config_info
John W. Eaton <jwe@octave.org>
parents:
21421
diff
changeset
|
623 %! x = __octave_config_info__ (); |
12846
9ce9e1e2d2c8
codesprint: new tests for toplev.cc
John W. Eaton <jwe@octave.org>
parents:
12483
diff
changeset
|
624 %! assert (isstruct (x)); |
9ce9e1e2d2c8
codesprint: new tests for toplev.cc
John W. Eaton <jwe@octave.org>
parents:
12483
diff
changeset
|
625 %! assert (! isempty (x)); |
22751
e078f5607762
Fix failing BIST test in toplev.cc (bug #49575).
Rik <rik@octave.org>
parents:
22501
diff
changeset
|
626 %! assert (x.version, OCTAVE_VERSION ()); |
21603
37cbdf7bffa9
Add fftwf_version (bug #45659)
mmuetzel <markus.muetzel@gmx.de>
parents:
21600
diff
changeset
|
627 |
21434
1da428cbf401
deprecate octave_config_info
John W. Eaton <jwe@octave.org>
parents:
21421
diff
changeset
|
628 %!error __octave_config_info__ (1, 2) |
12846
9ce9e1e2d2c8
codesprint: new tests for toplev.cc
John W. Eaton <jwe@octave.org>
parents:
12483
diff
changeset
|
629 */ |
9ce9e1e2d2c8
codesprint: new tests for toplev.cc
John W. Eaton <jwe@octave.org>
parents:
12483
diff
changeset
|
630 |
1683 | 631 #if defined (__GNUG__) && defined (DEBUG_NEW_DELETE) |
2806 | 632 |
1683 | 633 int debug_new_delete = 0; |
634 | |
635 typedef void (*vfp)(void); | |
636 extern vfp __new_handler; | |
637 | |
638 void * | |
639 __builtin_new (size_t sz) | |
640 { | |
641 void *p; | |
642 | |
20946 | 643 // malloc (0) is unpredictable; avoid it. |
1683 | 644 if (sz == 0) |
645 sz = 1; | |
21942
aab79a1885cc
limit gnulib headers to liboctave/wrappers directory
John W. Eaton <jwe@octave.org>
parents:
21921
diff
changeset
|
646 p = std::malloc (sz); |
1683 | 647 while (p == 0) |
648 { | |
649 (*__new_handler) (); | |
21942
aab79a1885cc
limit gnulib headers to liboctave/wrappers directory
John W. Eaton <jwe@octave.org>
parents:
21921
diff
changeset
|
650 p = std::malloc (sz); |
1683 | 651 } |
652 | |
653 if (debug_new_delete) | |
5629 | 654 std::cerr << "__builtin_new: " << p << std::endl; |
1683 | 655 |
656 return p; | |
657 } | |
658 | |
659 void | |
660 __builtin_delete (void *ptr) | |
661 { | |
662 if (debug_new_delete) | |
5629 | 663 std::cerr << "__builtin_delete: " << ptr << std::endl; |
1683 | 664 |
665 if (ptr) | |
666 free (ptr); | |
667 } | |
2806 | 668 |
1683 | 669 #endif |