X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fsupport%2FPackage.h;h=d6e76fb56b99aa892a6edb0bfafb37a443a9af4a;hb=0c1c13bbd0bd6b70ccec79f7ae68e230d3e46a57;hp=8cd2e013c7abd808aa9c4246c23fb8d2ac3ca5d1;hpb=bc72d3fc58ebdaa458367f7c6abb60be1ef1ddba;p=lyx.git diff --git a/src/support/Package.h b/src/support/Package.h index 8cd2e013c7..d6e76fb56b 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,13 +58,21 @@ 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 LyX executable. + /** The directory containing the main executable (LyX or tex2lyx). */ FileName const & binary_dir() const { return binary_dir_; } + /** The absolute path to the LyX executable. + */ + 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(); @@ -112,11 +111,11 @@ public: */ FileName const & system_temp_dir() const { return system_temp_dir_; } - /** The path to the temporary directory used by LyX. + //@{ + /** The path to the temporary directory used by %LyX. * (Eg /tmp/lyx_tmpdir800nBI1z9 on *nix.) * Can be reset by LyXRC. */ - //@{ FileName const & temp_dir() const { return temp_dir_; } void set_temp_dir(FileName const & temp_dir) const; //@} @@ -127,7 +126,7 @@ 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 @@ -137,6 +136,8 @@ public: private: FileName binary_dir_; + FileName lyx_binary_; + FileName lyx_dir_; FileName system_support_dir_; FileName build_support_dir_; FileName user_support_dir_; @@ -144,7 +145,6 @@ private: mutable FileName document_dir_; mutable FileName temp_dir_; FileName system_temp_dir_; - FileName home_dir_; std::string configure_command_; bool explicit_user_support_dir_; };