annotate oct-conf-post-private.in.h @ 33532:5157dd5a6c9a default tip

exp. term. widget: allow running files from editor and file browser * main-window.cc (run_file_in_terminal): if using experimental terminal widget, emit the related signal for executing a command in the widget instead of using the command-editor
author Torsten Lilge <ttl-octave@mailbox.org>
date Sun, 05 May 2024 11:30:05 +0200
parents 2e484f9f1f18
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
30580
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
1 ////////////////////////////////////////////////////////////////////////
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
2 //
32632
2e484f9f1f18 maint: update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents: 31983
diff changeset
3 // Copyright (C) 1993-2024 The Octave Project Developers
30580
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
4 //
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
5 // See the file COPYRIGHT.md in the top-level directory of this
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
6 // distribution or <https://octave.org/copyright/>.
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
7 //
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
8 // This file is part of Octave.
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
9 //
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
10 // Octave is free software: you can redistribute it and/or modify it
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
11 // under the terms of the GNU General Public License as published by
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
12 // the Free Software Foundation, either version 3 of the License, or
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
13 // (at your option) any later version.
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
14 //
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
15 // Octave is distributed in the hope that it will be useful, but
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
16 // WITHOUT ANY WARRANTY; without even the implied warranty of
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
18 // GNU General Public License for more details.
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
19 //
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
20 // You should have received a copy of the GNU General Public License
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
21 // along with Octave; see the file COPYING. If not, see
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
22 // <https://www.gnu.org/licenses/>.
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
23 //
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
24 ////////////////////////////////////////////////////////////////////////
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
25
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
26 #if ! defined (HAVE_DEV_T)
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
27 typedef short dev_t;
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
28 #endif
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
29
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
30 #if ! defined (HAVE_INO_T)
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
31 typedef unsigned long ino_t;
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
32 #endif
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
33
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
34 #if defined (_MSC_VER)
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
35 # define __WIN32__ 1
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
36 # define WIN32 1
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
37 /* missing parameters in macros */
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
38 # pragma warning (disable: 4003)
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
39 /* missing implementations in template instantiation */
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
40 # pragma warning (disable: 4996)
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
41 /* deprecated function names (FIXME: ???) */
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
42 # pragma warning (disable: 4661)
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
43 #endif
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
44
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
45 #if defined (__APPLE__) && defined (__MACH__)
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
46 # define OCTAVE_USE_OS_X_API 1
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
47 #endif
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
48
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
49 /* Silence deprecated API warning from Apple OS > 10.14 */
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
50 #if defined (__APPLE__) && defined (__MACH__) && defined (HAVE_OPENGL)
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
51 # define GL_SILENCE_DEPRECATION 1
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
52 #endif
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
53
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
54 /* Define to 1 if we expect to have <windows.h>, Sleep, etc. */
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
55 #if defined (__WIN32__) && ! defined (__CYGWIN__)
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
56 # define OCTAVE_USE_WINDOWS_API 1
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
57 #endif
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
58
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
59 #if defined (OCTAVE_USE_WINDOWS_API)
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
60 # define OCTAVE_HAVE_WINDOWS_FILESYSTEM 1
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
61 #elif defined (__CYGWIN__)
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
62 # define OCTAVE_HAVE_WINDOWS_FILESYSTEM 1
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
63 # define OCTAVE_HAVE_POSIX_FILESYSTEM 1
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
64 #else
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
65 # define OCTAVE_HAVE_POSIX_FILESYSTEM 1
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
66 #endif
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
67
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
68 #if defined (__MINGW32__)
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
69 /* We need to include this header or __MSVCRT_VERSION__ might not be defined
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
70 to the correct value */
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
71 # include <_mingw.h>
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
72 #endif
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
73 /* assume that Windows will support UTF-8 locales when using UCRT */
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
74 #if defined (__MSVCRT_VERSION__) && __MSVCRT_VERSION__ == 0x0E00
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
75 # define OCTAVE_HAVE_WINDOWS_UTF8_LOCALE 1
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
76 #endif
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
77
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
78 /* sigsetjmp is a macro, not a function. */
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
79 #if defined (sigsetjmp) && defined (HAVE_SIGLONGJMP)
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
80 # define OCTAVE_HAVE_SIG_JUMP 1
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
81 #endif
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
82
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
83 /* To be able to use long doubles for 64-bit mixed arithmetics, we need
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
84 them at least 80 bits wide and we need roundl declared in math.h.
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
85 FIXME: Maybe substitute this by a more precise check in the future? */
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
86 #if (SIZEOF_LONG_DOUBLE >= 10) && defined (HAVE_ROUNDL)
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
87 # define OCTAVE_INT_USE_LONG_DOUBLE
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
88 # if (SIZEOF_LONG_DOUBLE < 16 \
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
89 && (defined __i386__ || defined __x86_64__) && defined __GNUC__)
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
90 # define OCTAVE_ENSURE_LONG_DOUBLE_OPERATIONS_ARE_NOT_TRUNCATED 1
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
91 # endif
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
92 #endif
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
93
31983
ee187a104701 fopen: Do not convert encoding for file streams with libc++ (bug #63930).
Markus Mützel <markus.muetzel@gmx.de>
parents: 31706
diff changeset
94 #if defined (HAVE_LLVM_LIBCXX)
ee187a104701 fopen: Do not convert encoding for file streams with libc++ (bug #63930).
Markus Mützel <markus.muetzel@gmx.de>
parents: 31706
diff changeset
95 /* The stream encoding facet from libc++ is stricter than libstdc++ when
ee187a104701 fopen: Do not convert encoding for file streams with libc++ (bug #63930).
Markus Mützel <markus.muetzel@gmx.de>
parents: 31706
diff changeset
96 it comes to reverting the stream. Disable encoding conversion for file
ee187a104701 fopen: Do not convert encoding for file streams with libc++ (bug #63930).
Markus Mützel <markus.muetzel@gmx.de>
parents: 31706
diff changeset
97 streams with libc++.
ee187a104701 fopen: Do not convert encoding for file streams with libc++ (bug #63930).
Markus Mützel <markus.muetzel@gmx.de>
parents: 31706
diff changeset
98 FIXME: Maybe use a more specific test. */
ee187a104701 fopen: Do not convert encoding for file streams with libc++ (bug #63930).
Markus Mützel <markus.muetzel@gmx.de>
parents: 31706
diff changeset
99 # define OCTAVE_HAVE_STRICT_ENCODING_FACET 1
ee187a104701 fopen: Do not convert encoding for file streams with libc++ (bug #63930).
Markus Mützel <markus.muetzel@gmx.de>
parents: 31706
diff changeset
100 #endif
ee187a104701 fopen: Do not convert encoding for file streams with libc++ (bug #63930).
Markus Mützel <markus.muetzel@gmx.de>
parents: 31706
diff changeset
101
30580
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
102 /* Make all .oct file interpreter functions and methods static. */
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
103 #define OCTAVE_USE_STATIC_DEFUN
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
104
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
105 /* This macro is intended to be used only to enable inline functions or
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
106 typedefs that provide access to symbols that have been moved to the
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
107 octave namespace. It may be temporarily useful to define this macro
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
108 when moving a symbol to the octave namespace but it should not be
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
109 defined when building released versions of Octave, as building those
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
110 should not require deprecated symbols. It is defined in
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
111 octave-config.h, so users of Octave may continue to access symbols
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
112 using the deprecated names. */
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
113 /* #undef OCTAVE_PROVIDE_DEPRECATED_SYMBOLS */
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
114
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
115 /* Tag indicating Octave's autoconf-generated config.h has been
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
116 included. This symbol is provided because autoconf-generated
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
117 config.h files do not define a multiple-inclusion guard. See also
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
118 the notes at the top of the generated octave-config.h file. */
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
119
fdc30b576333 eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff changeset
120 #define OCTAVE_AUTOCONFIG_H_INCLUDED 1