#include "support/lassert.h"
#include "support/lstrings.h"
#include "support/os.h"
+#include "support/PathChanger.h"
+#include "support/Systemcall.h"
#if defined (USE_WINDOWS_PACKAGING)
# include "support/os_win32.h"
#endif
+#include <iostream>
#include <list>
#if !defined (USE_WINDOWS_PACKAGING) && \
!defined (USE_MACOSX_PACKAGING) && \
+ !defined (USE_HAIKU_PACKAGING) && \
!defined (USE_POSIX_PACKAGING)
-#error USE_FOO_PACKAGING must be defined for FOO = WINDOWS, MACOSX or POSIX.
+#error USE_FOO_PACKAGING must be defined for FOO = WINDOWS, MACOSX, HAIKU or POSIX.
#endif
#if defined (USE_MACOSX_PACKAGING)
<< "</package>\n");
}
-std::string const & Package::configure_command() const
+
+int Package::reconfigureUserLyXDir(string const & option) const
{
if (configure_command_.empty()) {
FileName const configure_script(addName(system_support().absFileName(), "configure.py"));
with_version_suffix() + " --binary-dir=" +
quoteName(FileName(binary_dir().absFileName()).toFilesystemEncoding());
}
- return configure_command_;
+
+ lyxerr << to_utf8(_("LyX: reconfiguring user directory")) << endl;
+ PathChanger p(user_support());
+ Systemcall one;
+ int const ret = one.startscript(Systemcall::Wait, configure_command_ + option);
+ lyxerr << "LyX: " << to_utf8(_("Done!")) << endl;
+ return ret;
+}
+
+
+string Package::getConfigureLockName() const
+{
+ return addName(user_support().absFileName(), ".lyx_configure_lock");
}
return true;
}
// cmake file, no Makefile in lib
- FileName build_boost_dir = FileName(addPath(search_dir, "boost"));
+ FileName build_boost_dir = FileName(addPath(search_dir + "/3rdparty", "boost"));
if (!fileSearch(build_boost_dir.absFileName(), "cmake_install.cmake").empty()) {
return true;
}
#elif defined (USE_MACOSX_PACKAGING) && (QT_VERSION >= 0x050000)
(void)home_dir; // Silence warning about unused variable.
- return FileName(addPath(fromqstr(QStandardPaths::writableLocation(QStandardPaths::DataLocation)), PACKAGE));
+ return FileName(addPath(fromqstr(QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation)), PACKAGE));
#elif defined (USE_MACOSX_PACKAGING)
(void)home_dir; // Silence warning about unused variable.
return FileName(addPath(fromqstr(QDesktopServices::storageLocation(QDesktopServices::DataLocation)), PACKAGE));
+#elif defined (USE_HAIKU_PACKAGING)
+ return FileName(addPath(home_dir.absFileName(), string("/config/settings/") + PACKAGE));
+
#else // USE_POSIX_PACKAGING
return FileName(addPath(home_dir.absFileName(), string(".") + PACKAGE));
#endif