]> git.lyx.org Git - features.git/commitdiff
Fix bug 2285 (tex2lyx is not found by lib/configure when compiling with
authorGeorg Baum <Georg.Baum@post.rwth-aachen.de>
Sat, 22 Apr 2006 11:58:02 +0000 (11:58 +0000)
committerGeorg Baum <Georg.Baum@post.rwth-aachen.de>
Sat, 22 Apr 2006 11:58:02 +0000 (11:58 +0000)
--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

config/lyxinclude.m4
src/lyx_cb.C
src/lyx_main.C
src/support/Makefile.am
src/support/package.C.in
src/support/package.h

index 0def2730d3c3b427b7f810629857ed79d78c1f62..2fc127d22f5d7499244b398a37498e5afecfd5a8 100644 (file)
@@ -29,6 +29,7 @@ dnl
 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>],
@@ -606,6 +607,7 @@ case $lyx_use_packaging in
     *) LYX_ERROR([Unknown packaging type $lyx_use_packaging]) ;;
 esac
 AC_SUBST(pkgdatadir)
+AC_SUBST(program_suffix)
 ])
 
 
index 70e751bac3ba7877a28bd06015c18324830c4bd8..fbaab73305bd5c5f4586389d2a4c69c6551cfecd 100644 (file)
@@ -446,9 +446,7 @@ void reconfigure(BufferView * bv)
 
        // 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();
index c61b15cd27aca7d698c085dd626eb00d884528b8..665185d0378808cfae531c932b00d0a5bae349c1 100644 (file)
@@ -115,10 +115,7 @@ void showFileError(string const & error)
 
 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());
index 03896e41dedebdf32970d111bdc5e0d2d7aef597..8c1364875e118501768e526cfcd3906df56f98bf 100644 (file)
@@ -84,7 +84,8 @@ build_package: package.C.in
        @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 ;\
index e036dcb871827accc8c69c7a9b9c60eea8ca6e45..b8cb35504268f8faf1b505673d5f2b93b1b1286d 100644 (file)
@@ -111,6 +111,9 @@ std::pair<string, bool> const
 get_user_support_dir(string const & default_user_support_dir,
                     string const & command_line_user_support_dir);
 
+
+string const & with_version_suffix();
+
 } // namespace anon
 
 
@@ -144,6 +147,10 @@ Package::Package(string const & command_line_arg0,
                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'
@@ -180,6 +187,15 @@ string const hardcoded_system_support_dir()
        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
 
 
index 2b44462f0627be877b242031b94a73124a2eed94..f764adc6a9b74cf4f6f13d970bf37a79357b95c0 100644 (file)
@@ -116,9 +116,13 @@ public:
         *  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_;
@@ -128,6 +132,7 @@ private:
        mutable std::string document_dir_;
        mutable std::string temp_dir_;
        std::string home_dir_;
+       std::string configure_command_;
        bool explicit_user_support_dir_;
 };
 
@@ -189,6 +194,12 @@ std::string const & Package::home_dir() const
        return home_dir_;
 }
 
+inline
+std::string const & Package::configure_command() const
+{
+       return configure_command_;
+}
+
 } // namespace support
 } // namespace lyx