// defaults.h.in
/*

Copyright (C) 1996, 1997 John W. Eaton

This file is part of Octave.

Octave is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2, or (at your option) any
later version.

Octave is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
for more details.

You should have received a copy of the GNU General Public License
along with Octave; see the file COPYING.  If not, write to the Free
Software Foundation, 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.

*/

#if !defined (octave_defaults_h)
#define octave_defaults_h 1

#include <string>

#include "pathsearch.h"

#ifndef DEFAULT_PAGER
#define DEFAULT_PAGER %DEFAULT_PAGER%
#endif

#ifndef OCTAVE_PREFIX
#define OCTAVE_PREFIX %OCTAVE_PREFIX%
#endif

#ifndef OCTAVE_EXEC_PREFIX
#define OCTAVE_EXEC_PREFIX %OCTAVE_EXEC_PREFIX%
#endif

#ifndef OCTAVE_DATADIR
#define OCTAVE_DATADIR %OCTAVE_DATADIR%
#endif

#ifndef OCTAVE_LIBEXECDIR
#define OCTAVE_LIBEXECDIR %OCTAVE_LIBEXECDIR%
#endif

#ifndef OCTAVE_LIBDIR
#define OCTAVE_LIBDIR %OCTAVE_LIBDIR%
#endif

#ifndef OCTAVE_OCTLIBDIR
#define OCTAVE_OCTLIBDIR %OCTAVE_OCTLIBDIR%
#endif

#ifndef OCTAVE_BINDIR
#define OCTAVE_BINDIR %OCTAVE_BINDIR%
#endif

#ifndef OCTAVE_INFODIR
#define OCTAVE_INFODIR %OCTAVE_INFODIR%
#endif

#ifndef OCTAVE_INFOFILE
#define OCTAVE_INFOFILE %OCTAVE_INFOFILE%
#endif

#ifndef OCTAVE_FCNFILEDIR
#define OCTAVE_FCNFILEDIR %OCTAVE_FCNFILEDIR%
#endif

#ifndef OCTAVE_LOCALFCNFILEDIR
#define OCTAVE_LOCALFCNFILEDIR %OCTAVE_LOCALFCNFILEDIR%
#endif

#ifndef OCTAVE_LOCALSTARTUPFILEDIR
#define OCTAVE_LOCALSTARTUPFILEDIR OCTAVE_LOCALFCNFILEDIR "/startup"
#endif

#ifndef OCTAVE_STARTUPFILEDIR
#define OCTAVE_STARTUPFILEDIR OCTAVE_FCNFILEDIR "/startup"
#endif

#ifndef OCTAVE_LOCALFCNFILEPATH
#define OCTAVE_LOCALFCNFILEPATH %OCTAVE_LOCALFCNFILEPATH%
#endif

#ifndef OCTAVE_ARCHLIBDIR
#define OCTAVE_ARCHLIBDIR %OCTAVE_ARCHLIBDIR%
#endif

#ifndef OCTAVE_LOCALARCHLIBDIR
#define OCTAVE_LOCALARCHLIBDIR %OCTAVE_LOCALARCHLIBDIR%
#endif

#ifndef OCTAVE_OCTFILEDIR
#define OCTAVE_OCTFILEDIR %OCTAVE_OCTFILEDIR%
#endif

#ifndef OCTAVE_LOCALOCTFILEPATH
#define OCTAVE_LOCALOCTFILEPATH %OCTAVE_LOCALOCTFILEPATH%
#endif

#ifndef OCTAVE_FCNFILEPATH
#define OCTAVE_FCNFILEPATH %OCTAVE_FCNFILEPATH%
#endif

#ifndef OCTAVE_IMAGEPATH
#define OCTAVE_IMAGEPATH %OCTAVE_IMAGEPATH%
#endif

#ifndef CANONICAL_HOST_TYPE
#define CANONICAL_HOST_TYPE %CANONICAL_HOST_TYPE%
#endif

extern std::string Voctave_home;

extern std::string Vbin_dir;
extern std::string Vinfo_dir;
extern std::string Vdata_dir;
extern std::string Vlibexec_dir;
extern std::string Varch_lib_dir;
extern std::string Vlocal_arch_lib_dir;
extern std::string Vfcn_file_dir;

// The path that will be searched for programs that we execute.
// (--exec-path path)
extern std::string Vexec_path;

// And the cached directory path corresponding to Vload_path.
extern dir_path Vload_path_dir_path;

// Name of the editor to be invoked by the edit_history command.
extern std::string Veditor;

extern std::string Vimagepath;

extern std::string Vlocal_site_defaults_file;
extern std::string Vsite_defaults_file;

extern std::string maybe_add_default_load_path (const std::string& pathstring);

extern void install_defaults (void);

#endif

/*
;;; Local Variables: ***
;;; mode: C++ ***
;;; page-delimiter: "^/\\*" ***
;;; End: ***
*/
