Mercurial > hg > octave-nkf
changeset 19224:d902542221c8
new data directory for storing data files we distribute
* configure.ac (octdatadir): New variable.
* common.mk (do_subst_default_vals): Also substitute octdatadir for
%OCTAVE_OCTDATADIR%.
* defaults.in.h, defaults.cc (OCTAVE_OCTDATADIR): New macro.
(Voct_data_dir): New global variable.
(set_default_oct_data_dir): New static function.
(install_defaults): Call it.
* load-path.cc (load_path::do_initialize): Add Voct_data_dir to the
default system load path.
* toplev.cc (Foctave_config_info): Include octdatadir in result.
* octave-config.in.cc (help_msg, initialize): Include OCTDATADIR in
the list of variables.
* run-octave.in: Include $top_srcdir/etc/data in LOADPATH.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Tue, 19 Aug 2014 05:41:06 -0400 |
parents | 1f36981ab323 |
children | c8240a60dd01 |
files | build-aux/common.mk configure.ac libinterp/corefcn/defaults.cc libinterp/corefcn/defaults.in.h libinterp/corefcn/load-path.cc libinterp/corefcn/toplev.cc run-octave.in src/octave-config.in.cc |
diffstat | 8 files changed, 34 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/build-aux/common.mk +++ b/build-aux/common.mk @@ -689,6 +689,7 @@ -e "s|%OCTAVE_MAN1DIR%|\"${man1dir}\"|" \ -e "s|%OCTAVE_MAN1EXT%|\"${man1ext}\"|" \ -e "s|%OCTAVE_MANDIR%|\"${mandir}\"|" \ + -e "s|%OCTAVE_OCTDATADIR%|\"${octdatadir}\"|" \ -e "s|%OCTAVE_OCTFILEDIR%|\"${octfiledir}\"|" \ -e "s|%OCTAVE_OCTETCDIR%|\"${octetcdir}\"|" \ -e "s|%OCTAVE_OCTINCLUDEDIR%|\"${octincludedir}\"|" \
--- a/configure.ac +++ b/configure.ac @@ -113,6 +113,7 @@ OCTAVE_SET_DEFAULT([octtestsdir], '$(octetcdir)/tests') OCTAVE_SET_DEFAULT([texi_macros_file], '$(octetcdir)/macros.texi') OCTAVE_SET_DEFAULT([imagedir], '$(datadir)/octave/$(version)/imagelib') +OCTAVE_SET_DEFAULT([octdatadir], '$(datadir)/octave/$(version)/data') OCTAVE_SET_DEFAULT([man1dir], '$(mandir)/man1') OCTAVE_SET_DEFAULT([man1ext], '.1') OCTAVE_SET_DEFAULT([infofile], '$(infodir)/octave.info')
--- a/libinterp/corefcn/defaults.cc +++ b/libinterp/corefcn/defaults.cc @@ -74,6 +74,7 @@ std::string Vlocal_api_fcn_file_dir; std::string Vlocal_fcn_file_dir; +std::string Voct_data_dir; std::string Voct_etc_dir; std::string Voct_locale_dir; @@ -219,6 +220,12 @@ } static void +set_default_oct_data_dir (void) +{ + Voct_data_dir = subst_octave_home (OCTAVE_OCTDATADIR); +} + +static void set_default_oct_etc_dir (void) { Voct_etc_dir = subst_octave_home (OCTAVE_OCTETCDIR); @@ -435,6 +442,7 @@ set_default_local_api_fcn_file_dir (); set_default_local_fcn_file_dir (); + set_default_oct_data_dir (); set_default_oct_etc_dir (); set_default_oct_locale_dir ();
--- a/libinterp/corefcn/defaults.in.h +++ b/libinterp/corefcn/defaults.in.h @@ -148,6 +148,10 @@ #define OCTAVE_MANDIR %OCTAVE_MANDIR% #endif +#ifndef OCTAVE_OCTDATADIR +#define OCTAVE_OCTDATADIR %OCTAVE_OCTDATADIR% +#endif + #ifndef OCTAVE_OCTFILEDIR #define OCTAVE_OCTFILEDIR %OCTAVE_OCTFILEDIR% #endif @@ -202,6 +206,7 @@ extern OCTINTERP_API std::string Vlocal_api_fcn_file_dir; extern OCTINTERP_API std::string Vlocal_fcn_file_dir; +extern OCTINTERP_API std::string Voct_data_dir; extern OCTINTERP_API std::string Voct_etc_dir; extern OCTINTERP_API std::string Voct_locale_dir;
--- a/libinterp/corefcn/load-path.cc +++ b/libinterp/corefcn/load-path.cc @@ -569,6 +569,7 @@ maybe_add_path_elts (sys_path, Vlocal_fcn_file_dir); maybe_add_path_elts (sys_path, Voct_file_dir); maybe_add_path_elts (sys_path, Vfcn_file_dir); + maybe_add_path_elts (sys_path, Voct_data_dir); } std::string tpath = load_path::command_line_path;
--- a/libinterp/corefcn/toplev.cc +++ b/libinterp/corefcn/toplev.cc @@ -1428,6 +1428,7 @@ { true, "man1dir", OCTAVE_MAN1DIR }, { false, "man1ext", OCTAVE_MAN1EXT }, { true, "mandir", OCTAVE_MANDIR }, + { true, "octdatadir", OCTAVE_OCTDATADIR }, { true, "octfiledir", OCTAVE_OCTFILEDIR }, { true, "octetcdir", OCTAVE_OCTETCDIR }, { true, "octincludedir", OCTAVE_OCTINCLUDEDIR },
--- a/run-octave.in +++ b/run-octave.in @@ -33,18 +33,21 @@ d1="$top_srcdir/scripts" d2="$builddir/scripts" d3="$builddir/libinterp" +d4="$top_srcdir/examples/data" d1_list=`$FIND "$d1" -type d -a ! \( \( -name private -o -name '@*' \) -a -prune \) -exec echo '{}' ';' | $SED 's/$/:/'` d2_list=`$FIND "$d2" -type d -a ! \( \( -name private -o -name '@*' \) -a -prune \) -exec echo '{}' ';' | $SED 's/$/:/'` d3_list=`$FIND "$d3" -type d -a ! \( \( -name private -o -name '@*' \) -a -prune \) -exec echo '{}' ';' | $SED 's/$/:/'` +d4_list=`$FIND "$d4" -type d -exec echo '{}' ';' | $SED 's/$/:/'` d1_path=`echo "$d1_list" | $AWK '{ t = (s $0); s = t; } END { sub (/:$/, "", s); print s; }'` d2_path=`echo "$d2_list" | $AWK '{ t = (s $0); s = t; } END { sub (/:$/, "", s); print s; }'` d3_path=`echo "$d3_list" | $AWK '{ t = (s $0); s = t; } END { sub (/:$/, "", s); print s; }'` +d4_path=`echo "$d4_list" | $AWK '{ t = (s $0); s = t; } END { sub (/:$/, "", s); print s; }'` octave_executable="$builddir/src/octave" -LOADPATH="$d1_path:$d2_path:$d3_path" +LOADPATH="$d1_path:$d2_path:$d3_path:$d4_path" IMAGEPATH="$top_srcdir/scripts/image" DOCFILE="$builddir/doc/interpreter/doc-cache" BUILT_IN_DOCSTRINGS_FILE="$builddir/libinterp/DOCSTRINGS"
--- a/src/octave-config.in.cc +++ b/src/octave-config.in.cc @@ -56,23 +56,24 @@ " -p VAR, --print VAR Print the value of the given configuration\n" " variable VAR. Recognized variables are:\n" "\n" -" API_VERSION LOCALAPIOCTFILEDIR\n" -" ARCHLIBDIR LOCALARCHLIBDIR\n" -" BINDIR LOCALFCNFILEDIR\n" -" CANONICAL_HOST_TYPE LOCALOCTFILEDIR\n" -" DATADIR LOCALSTARTUPFILEDIR\n" -" DATAROOTDIR LOCALVERARCHLIBDIR\n" -" DEFAULT_PAGER LOCALVERFCNFILEDIR\n" -" EXEC_PREFIX LOCALVEROCTFILEDIR\n" -" FCNFILEDIR MAN1DIR\n" -" IMAGEDIR MAN1EXT\n" -" INCLUDEDIR MANDIR\n" +" API_VERSION LOCALARCHLIBDIR\n" +" ARCHLIBDIR LOCALFCNFILEDIR\n" +" BINDIR LOCALOCTFILEDIR\n" +" CANONICAL_HOST_TYPE LOCALSTARTUPFILEDIR\n" +" DATADIR LOCALVERARCHLIBDIR\n" +" DATAROOTDIR LOCALVERFCNFILEDIR\n" +" DEFAULT_PAGER LOCALVEROCTFILEDIR\n" +" EXEC_PREFIX MAN1DIR\n" +" FCNFILEDIR MAN1EXT\n" +" IMAGEDIR MANDIR\n" +" INCLUDEDIR OCTDATADIR\n" " INFODIR OCTFILEDIR\n" " INFOFILE OCTINCLUDEDIR\n" " LIBDIR OCTLIBDIR\n" " LIBEXECDIR PREFIX\n" " LOCALAPIARCHLIBDIR STARTUPFILEDIR\n" " LOCALAPIFCNFILEDIR VERSION\n" +" LOCALAPIOCTFILEDIR\n" "\n" " -v, --version Print the Octave version number.\n" "\n"; @@ -113,6 +114,7 @@ vars["LOCALVEROCTFILEDIR"] = subst_octave_home (%OCTAVE_LOCALVEROCTFILEDIR%); vars["MAN1DIR"] = subst_octave_home (%OCTAVE_MAN1DIR%); vars["MANDIR"] = subst_octave_home (%OCTAVE_MANDIR%); + vars["OCTDATADIR"] = subst_octave_home (%OCTAVE_OCTDATADIR%); vars["OCTFILEDIR"] = subst_octave_home (%OCTAVE_OCTFILEDIR%); vars["OCTINCLUDEDIR"] = subst_octave_home (%OCTAVE_OCTINCLUDEDIR%); vars["OCTLIBDIR"] = subst_octave_home (%OCTAVE_OCTLIBDIR%);