--with-version-suffix):
* src/lyx_cb.C
(reconfigure): get the configure command from package()
* src/lyx_main.C
(showFileError): ditto
* src/support/package.[Ch]
(configure_command): new, return the configure command
* src/support/package.C.in
(with_version_suffix): new, return the version suffix argument
of the configure command
* src/support/Makefile.am
(package.C.in): substitute %PROGRAM_SUFFIX% in package.C.in
* config/lyxinclude.m4: substitute program_suffix
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13710
a592a061-630c-0410-9148-
cb99ea01b6c8
dnl
AC_DEFUN([LYX_VERSION_SUFFIX],[
AC_MSG_CHECKING([for version suffix])
+dnl We need the literal double quotes in the rpm spec file
RPM_VERSION_SUFFIX='""'
AC_ARG_WITH(version-suffix,
[ --with-version-suffix[=<version>] install lyx files as lyx<version>],
*) LYX_ERROR([Unknown packaging type $lyx_use_packaging]) ;;
esac
AC_SUBST(pkgdatadir)
+AC_SUBST(program_suffix)
])
// Run configure in user lyx directory
Path p(package().user_support());
- string const configure_script =
- addName(package().system_support(), "configure.py");
- string const configure_command = "python " + quoteName(configure_script);
+ string const configure_command = package().configure_command();
Systemcall one;
one.startscript(Systemcall::Wait, configure_command);
p.pop();
void reconfigureUserLyXDir()
{
- string const configure_script =
- addName(package().system_support(), "configure.py");
- string const configure_command =
- "python " + quoteName(configure_script);
+ string const configure_command = package().configure_command();
lyxerr << _("LyX: reconfiguring user directory") << endl;
Path p(package().user_support());
@rm -f tmp_package ;\
sed "s,%LYX_DIR%,$(LYX_ABS_INSTALLED_DATADIR),;\
s,%LOCALEDIR%,$(LYX_ABS_INSTALLED_LOCALEDIR),;\
-s,%TOP_SRCDIR%,$(LYX_ABS_TOP_SRCDIR)," \
+s,%TOP_SRCDIR%,$(LYX_ABS_TOP_SRCDIR),;\
+s,%PROGRAM_SUFFIX%,$(program_suffix)," \
$(srcdir)/package.C.in > tmp_package ;\
if cmp -s tmp_package package.C ; then \
rm -f tmp_package ;\
get_user_support_dir(string const & default_user_support_dir,
string const & command_line_user_support_dir);
+
+string const & with_version_suffix();
+
} // namespace anon
get_user_support_dir(default_user_support_dir,
command_line_user_support_dir);
+ string const configure_script = addName(system_support(), "configure.py");
+ configure_command_ = "python " + quoteName(configure_script)
+ + with_version_suffix();
+
lyxerr[Debug::INIT]
<< "<package>\n"
<< "\tbinary_dir " << binary_dir() << '\n'
return string("%LYX_DIR%");
}
+
+string const & with_version_suffix()
+{
+ static string const program_suffix("%PROGRAM_SUFFIX%");
+ static string const
+ with_version_suffix(" --with-version-suffix=%PROGRAM_SUFFIX%");
+ return program_suffix.empty() ? program_suffix : with_version_suffix;
+}
+
} // namespace anon
* 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