X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fsupport%2FPackage.h;h=e5cc32326044e6025ee96d9428c7d860e597cf6c;hb=faa87bf9f30b943397429a04254d96963bbf38bc;hp=cb48bb2fe59db78f47cca74ede1ba0ceef6fde64;hpb=90f795a29ed8135035aa8aede53255285b98feda;p=lyx.git diff --git a/src/support/Package.h b/src/support/Package.h index cb48bb2fe5..e5cc323260 100644 --- a/src/support/Package.h +++ b/src/support/Package.h @@ -25,14 +25,6 @@ namespace support { class Package; -/** When run in-place /src/lyx is one level up from - * the whilst /src/tex2lyx/tex2lyx is - * two levels up. - */ -enum exe_build_dir_to_top_build_dir { - top_build_dir_is_one_level_up, - top_build_dir_is_two_levels_up -}; /** Initialise package() with the command line data. @@ -49,8 +41,7 @@ enum exe_build_dir_to_top_build_dir { */ void init_package(std::string const & command_line_arg0, std::string const & command_line_system_support_dir, - std::string const & command_line_user_support_dir, - exe_build_dir_to_top_build_dir); + std::string const & command_line_user_support_dir); /** Accessor to the global data. * Asserts that init_package() has been called first. @@ -67,8 +58,7 @@ public: */ Package(std::string const & command_line_arg0, std::string const & command_line_system_support_dir, - std::string const & command_line_user_support_dir, - exe_build_dir_to_top_build_dir); + std::string const & command_line_user_support_dir); /** The directory containing the main executable (LyX or tex2lyx). */ @@ -78,6 +68,11 @@ public: */ FileName const & lyx_binary() const { return lyx_binary_; } + /** The absolute path to the LyX package directory. + * This is one level up from the binary dir. + */ + FileName const & lyx_dir() const { return lyx_dir_; } + /** The top of the LyX source code tree. */ static FileName const & top_srcdir(); @@ -106,6 +101,12 @@ public: */ FileName const & locale_dir() const { return locale_dir_; } + /** The file name that should contain the message file (.mo) + * for language code \param c. Does not check whether the + * file exists. Handles running in place. + */ + FileName messages_file(std::string const & c) const; + /** The default document directory. * Can be reset by LyXRC. */ @@ -131,17 +132,18 @@ public: * for the dump. * This may be empty (e. g. when run under a CGI environment) */ - FileName const & home_dir() const { return home_dir_; } + static FileName const & get_home_dir(); /** Command to run the configure script. * Caution: This is "ready-to-run", i.e. in the locale encoding, not * utf8. */ - std::string const & configure_command() const { return configure_command_; } + std::string const & configure_command() const; private: FileName binary_dir_; FileName lyx_binary_; + FileName lyx_dir_; FileName system_support_dir_; FileName build_support_dir_; FileName user_support_dir_; @@ -149,9 +151,9 @@ private: mutable FileName document_dir_; mutable FileName temp_dir_; FileName system_temp_dir_; - FileName home_dir_; - std::string configure_command_; + mutable std::string configure_command_; bool explicit_user_support_dir_; + bool in_build_dir_; }; } // namespace support