26#if defined (HAVE_CONFIG_H)
48#include "default-defs.h"
61prepend_home_dir (
const std::string& hd,
const std::string& s)
63 std::string retval = s;
67 if (! sys::env::absolute_pathname (retval))
70 if (dir_sep_char !=
'/')
71 std::replace (retval.begin (), retval.end (),
'/', dir_sep_char);
81 std::string oh = sys::env::getenv (
"OCTAVE_HOME");
86 return oh.empty () ? op : oh;
90get_octave_exec_home ()
95 std::string oh = sys::env::getenv (
"OCTAVE_HOME");
96 std::string oeh = sys::env::getenv (
"OCTAVE_EXEC_HOME");
106 if (op == oep && ! oh.empty ())
113get_local_site_defaults_file ()
115 std::string lsf = sys::env::getenv (
"OCTAVE_SITE_INITFILE");
121get_site_defaults_file ()
123 std::string sf = sys::env::getenv (
"OCTAVE_VERSION_INITFILE");
143 static const std::string s_canonical_host_type
144 = OCTAVE_CANONICAL_HOST_TYPE;
146 return s_canonical_host_type;
152 static const std::string s_octave_release = OCTAVE_RELEASE;
154 return s_octave_release;
160 static const std::string s_default_pager = OCTAVE_DEFAULT_PAGER;
162 return s_default_pager;
168 static const std::string s_octave_home = get_octave_home ();
170 return s_octave_home;
176 static const std::string s_octave_exec_home = get_octave_exec_home ();
178 return s_octave_exec_home;
184 static const std::string s_bin_dir
193 static const std::string s_data_dir
202 static const std::string s_dataroot_dir
205 return s_dataroot_dir;
211 static const std::string s_include_dir
214 return s_include_dir;
220 static const std::string s_lib_dir
229 static const std::string s_libexec_dir
232 return s_libexec_dir;
238 static const std::string s_arch_lib_dir
241 return s_arch_lib_dir;
247 static const std::string s_info_dir
256 static const std::string s_local_ver_arch_lib_dir
259 return s_local_ver_arch_lib_dir;
265 static const std::string s_local_api_arch_lib_dir
268 return s_local_api_arch_lib_dir;
274 static const std::string s_local_arch_lib_dir
277 return s_local_arch_lib_dir;
283 static const std::string s_local_ver_oct_file_dir
286 return s_local_ver_oct_file_dir;
292 static const std::string s_local_api_oct_file_dir
295 return s_local_api_oct_file_dir;
301 static const std::string s_local_oct_file_dir
304 return s_local_oct_file_dir;
310 static const std::string s_oct_file_dir
313 return s_oct_file_dir;
319 static const std::string s_local_ver_fcn_file_dir
322 return s_local_ver_fcn_file_dir;
328 static const std::string s_local_api_fcn_file_dir
331 return s_local_api_fcn_file_dir;
337 static const std::string s_local_fcn_file_dir
340 return s_local_fcn_file_dir;
346 static const std::string s_fcn_file_dir
349 return s_fcn_file_dir;
355 static const std::string s_oct_data_dir
358 return s_oct_data_dir;
364 static const std::string s_oct_doc_dir
367 return s_oct_doc_dir;
373 static const std::string s_oct_etc_dir
376 return s_oct_etc_dir;
382 static const std::string s_oct_fonts_dir
385 return s_oct_fonts_dir;
391 static const std::string s_oct_include_dir
394 return s_oct_include_dir;
400 static const std::string s_oct_lib_dir
403 return s_oct_lib_dir;
409 static const std::string s_oct_locale_dir
412 return s_oct_locale_dir;
418 static const std::string s_oct_tests_dir
421 return s_oct_tests_dir;
427 static const std::string s_man_dir
436 static const std::string s_man1_dir
445 static const std::string s_man1_ext = OCTAVE_MAN1EXT;
453 static const std::string s_image_dir
462 static const std::string s_local_startupfile_dir
465 return s_local_startupfile_dir;
471 static const std::string s_startupfile_dir
474 return s_startupfile_dir;
480 static const std::string s_local_api_pkg_dir
483 return s_local_api_pkg_dir;
489 static const std::string s_local_site_defaults_file
490 = get_local_site_defaults_file ();
492 return s_local_site_defaults_file;
498 static const std::string s_site_defaults_file
499 = get_site_defaults_file ();
501 return s_site_defaults_file;
504OCTAVE_END_NAMESPACE(config)
506DEFUN (OCTAVE_HOME, args, ,
515 if (args.length () != 0)
518 return ovl (config::octave_home ());
526DEFUN (OCTAVE_EXEC_HOME, args, ,
537 if (args.length () != 0)
540 return ovl (config::octave_exec_home ());
555 if (args.length () != 0)
566DEFUN (user_config_dir, args, ,
573 if (args.length () != 0)
576 return ovl (sys::env::get_user_config_directory ());
584DEFUN (user_data_dir, args, ,
591 if (args.length () != 0)
594 return ovl (sys::env::get_user_data_directory ());
602OCTAVE_END_NAMESPACE(octave)
OCTAVE_BEGIN_NAMESPACE(octave) static octave_value daspk_fcn
std::string startupfile_dir()
std::string dataroot_dir()
octave_value_list FOCTAVE_VERSION(const octave_value_list &args, int)
std::string oct_doc_dir()
std::string default_pager()
std::string local_ver_arch_lib_dir()
std::string local_oct_file_dir()
std::string prepend_octave_home(const std::string &s)
std::string local_startupfile_dir()
std::string octave_exec_home()
std::string local_api_pkg_dir()
std::string canonical_host_type()
std::string oct_fonts_dir()
std::string local_fcn_file_dir()
std::string include_dir()
std::string local_api_oct_file_dir()
std::string local_arch_lib_dir()
std::string oct_tests_dir()
std::string fcn_file_dir()
std::string site_defaults_file()
std::string local_api_fcn_file_dir()
std::string local_ver_fcn_file_dir()
std::string octave_home()
std::string oct_etc_dir()
std::string prepend_octave_exec_home(const std::string &s)
std::string local_ver_oct_file_dir()
std::string local_api_arch_lib_dir()
std::string libexec_dir()
std::string local_site_defaults_file()
std::string oct_locale_dir()
std::string oct_file_dir()
std::string oct_data_dir()
std::string oct_include_dir()
std::string oct_lib_dir()
std::string arch_lib_dir()
#define DEFUN(name, args_name, nargout_name, doc)
Macro to define a builtin function.
#define DEFUNX(name, fname, args_name, nargout_name, doc)
Macro to define a builtin function with certain internal name.
#define OCTAVE_ARCHLIBDIR
#define OCTAVE_EXEC_PREFIX
octave_value_list ovl(const OV_Args &... args)
Construct an octave_value_list with less typing.