class Package;
+/** When run in-place <build-dir>/src/lyx is one level up from
+ * the <build-dir> whilst <build-dir>/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.
* This data is exactly as it was passed in the argv[] array.
*
*/
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);
+ std::string const & command_line_user_support_dir,
+ exe_build_dir_to_top_build_dir);
/** Accessor to the global data.
* Asserts that init_package() has been called first.
*/
Package(std::string const & command_line_arg0,
std::string const & command_line_system_support_dir,
- std::string const & command_line_user_support_dir);
+ std::string const & command_line_user_support_dir,
+ exe_build_dir_to_top_build_dir);
/** The directory containing the LyX executable.
*/
std::string const & binary_dir() const;
/** The top of the LyX source code tree.
- * Used by the GTK frontend when searching for .glade files.
*/
std::string const & top_srcdir() const;
/** The user_support directory was set explicitly using either
* the -userdir command line switch or
- * the LYX_USERDIR_13x environment variable.
+ * the LYX_USERDIR_14x environment variable.
*/
bool explicit_user_support() const;
/** Used when setting the user_support directory.
* Used also when expanding "~/" or contracting to "~/". (filetools.C)
- * Used by the XForms file dialog.
* Used in emergencyWrite (bufferlist.C) as one possible location
* for the dump.
+ * This may be empty (e. g. when run under a CGI environment)
*/
std::string const & home_dir() const;
+ /// Command to run the configure script
+ std::string const & configure_command() const;
+
private:
std::string binary_dir_;
std::string system_support_dir_;
mutable std::string document_dir_;
mutable std::string temp_dir_;
std::string home_dir_;
+ std::string configure_command_;
bool explicit_user_support_dir_;
};
return home_dir_;
}
+inline
+std::string const & Package::configure_command() const
+{
+ return configure_command_;
+}
+
} // namespace support
} // namespace lyx