# HG changeset patch # User John W. Eaton # Date 1408441266 14400 # Node ID d902542221c883b2fb862dceb5bd1d8aeba42b8e # Parent 1f36981ab323640e95cf6b5fbbfc0df3e42ffd5f 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. diff -r 1f36981ab323 -r d902542221c8 build-aux/common.mk --- a/build-aux/common.mk Tue Aug 19 12:02:15 2014 -0400 +++ b/build-aux/common.mk Tue Aug 19 05:41:06 2014 -0400 @@ -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}\"|" \ diff -r 1f36981ab323 -r d902542221c8 configure.ac --- a/configure.ac Tue Aug 19 12:02:15 2014 -0400 +++ b/configure.ac Tue Aug 19 05:41:06 2014 -0400 @@ -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') diff -r 1f36981ab323 -r d902542221c8 libinterp/corefcn/defaults.cc --- a/libinterp/corefcn/defaults.cc Tue Aug 19 12:02:15 2014 -0400 +++ b/libinterp/corefcn/defaults.cc Tue Aug 19 05:41:06 2014 -0400 @@ -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 (); diff -r 1f36981ab323 -r d902542221c8 libinterp/corefcn/defaults.in.h --- a/libinterp/corefcn/defaults.in.h Tue Aug 19 12:02:15 2014 -0400 +++ b/libinterp/corefcn/defaults.in.h Tue Aug 19 05:41:06 2014 -0400 @@ -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; diff -r 1f36981ab323 -r d902542221c8 libinterp/corefcn/load-path.cc --- a/libinterp/corefcn/load-path.cc Tue Aug 19 12:02:15 2014 -0400 +++ b/libinterp/corefcn/load-path.cc Tue Aug 19 05:41:06 2014 -0400 @@ -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; diff -r 1f36981ab323 -r d902542221c8 libinterp/corefcn/toplev.cc --- a/libinterp/corefcn/toplev.cc Tue Aug 19 12:02:15 2014 -0400 +++ b/libinterp/corefcn/toplev.cc Tue Aug 19 05:41:06 2014 -0400 @@ -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 }, diff -r 1f36981ab323 -r d902542221c8 run-octave.in --- a/run-octave.in Tue Aug 19 12:02:15 2014 -0400 +++ b/run-octave.in Tue Aug 19 05:41:06 2014 -0400 @@ -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" diff -r 1f36981ab323 -r d902542221c8 src/octave-config.in.cc --- a/src/octave-config.in.cc Tue Aug 19 12:02:15 2014 -0400 +++ b/src/octave-config.in.cc Tue Aug 19 05:41:06 2014 -0400 @@ -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%);