From aba840c1cbb13b21a0e91e1d337786b252c770aa Mon Sep 17 00:00:00 2001 From: Asger Ottar Alstrup Date: Mon, 31 Jan 2005 12:25:04 +0000 Subject: [PATCH] - Adjust to Lars boost::filesystem stuff git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9551 a592a061-630c-0410-9148-cb99ea01b6c8 --- development/Win32/lyx.sln | 9 +++++ development/Win32/lyx.vcproj | 53 +++----------------------- development/Win32/package.C | 74 +++++------------------------------- 3 files changed, 25 insertions(+), 111 deletions(-) diff --git a/development/Win32/lyx.sln b/development/Win32/lyx.sln index df4390a36c..046f97c6e9 100644 --- a/development/Win32/lyx.sln +++ b/development/Win32/lyx.sln @@ -6,6 +6,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lyx", "lyx.vcproj", "{96777 {3BF0EC29-8B64-460F-AE0A-96794D38088D} = {3BF0EC29-8B64-460F-AE0A-96794D38088D} {3BF0EC29-8B64-460F-AE0A-96794D38088D} = {3BF0EC29-8B64-460F-AE0A-96794D38088D} {3BF0EC29-8B64-460F-AE0A-96794D38088D} = {3BF0EC29-8B64-460F-AE0A-96794D38088D} + {684579F5-D732-45CE-BBFB-9419BB98DADC} = {684579F5-D732-45CE-BBFB-9419BB98DADC} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libboost_regex", "..\..\boost\libs\regex\regex.vcproj", "{FDBBC827-4BD2-4E7D-B050-0967A0B6C754}" @@ -16,6 +17,10 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libboost_signals", "..\..\b ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libboost_filesystem", "..\..\boost\libs\filesystem\filesystem.vcproj", "{684579F5-D732-45CE-BBFB-9419BB98DADC}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject Global GlobalSection(SolutionConfiguration) = preSolution Debug = Debug @@ -34,6 +39,10 @@ Global {3BF0EC29-8B64-460F-AE0A-96794D38088D}.Debug.Build.0 = Debug|Win32 {3BF0EC29-8B64-460F-AE0A-96794D38088D}.Release.ActiveCfg = Release|Win32 {3BF0EC29-8B64-460F-AE0A-96794D38088D}.Release.Build.0 = Release|Win32 + {684579F5-D732-45CE-BBFB-9419BB98DADC}.Debug.ActiveCfg = Debug|Win32 + {684579F5-D732-45CE-BBFB-9419BB98DADC}.Debug.Build.0 = Debug|Win32 + {684579F5-D732-45CE-BBFB-9419BB98DADC}.Release.ActiveCfg = Release|Win32 + {684579F5-D732-45CE-BBFB-9419BB98DADC}.Release.Build.0 = Release|Win32 EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution EndGlobalSection diff --git a/development/Win32/lyx.vcproj b/development/Win32/lyx.vcproj index f2790cbc13..2d6f3bdc70 100644 --- a/development/Win32/lyx.vcproj +++ b/development/Win32/lyx.vcproj @@ -8612,16 +8612,6 @@ - - - - - - @@ -10435,15 +10425,6 @@ CompileAs="2"/> - - - - - - - - - - - - + + + + - - - - - - - - - - diff --git a/development/Win32/package.C b/development/Win32/package.C index 3b18a3c2d9..530342f974 100644 --- a/development/Win32/package.C +++ b/development/Win32/package.C @@ -19,13 +19,13 @@ #include "debug.h" #include "gettext.h" -#include "support/FileInfo.h" #include "support/filetools.h" #include "support/lstrings.h" #include "support/os.h" #include #include +#include #include #include @@ -51,6 +51,8 @@ using std::string; +namespace fs = boost::filesystem; + namespace lyx { namespace support { @@ -255,19 +257,7 @@ std::pair const get_build_dirs(string const & abs_binary) } } - // Check whether binary is a symbolic link. - // If so, resolve it and repeat the exercise. - FileInfo const file(binary, true); - if (!file.isOK() || !file.isLink()) - break; - - string link; - if (LyXReadLink(binary, link, true)) { - binary = link; - } else { - // Unable to resolve the link. - break; - } + break; } lyxerr[Debug::INIT] << check_text << " no" << std::endl; @@ -317,14 +307,12 @@ string const get_locale_dir(string const & system_support_dir) // be "../locale/".) path = NormalizePath(AddPath(system_support_dir, relative_locale_dir())); - FileInfo fi(path); - if (fi.isOK() && fi.isDir()) + if (fs::is_directory(path)) return path; // 3. Fall back to the hard-coded LOCALEDIR. path = hardcoded_localedir(); - FileInfo fi2(path); - if (fi2.isOK() && fi2.isDir()) + if (fs::is_directory(path)) return path; return string(); @@ -378,7 +366,7 @@ string const get_binary_path(string const & exe) // Two possibilities present themselves. // 1. The binary is relative to the CWD. string const abs_exe_path = MakeAbsPath(exe_path); - if (FileInfo(abs_exe_path, true).isOK()) + if (fs::exists(abs_exe_path)) return abs_exe_path; // 2. exe must be the name of the binary only and it @@ -395,7 +383,7 @@ string const get_binary_path(string const & exe) string const exe_dir = MakeAbsPath(*it); string const exe_path = AddName(exe_dir, exe_name); - if (FileInfo(exe_path, true).isOK()) + if (fs::exists(exe_path)) return exe_path; } @@ -471,48 +459,7 @@ get_system_support_dir(string const & abs_binary, return lyxdir; } - // Check whether binary is a symbolic link. - // If so, resolve it and repeat the exercise. - FileInfo const file(binary, true); - if (!file.isOK() || !file.isLink()) - break; - - string link; - if (LyXReadLink(binary, link, true)) { - binary = link; - } else { - // Unable to resolve the link. - break; - } - } - - // 4. Repeat the exercise on the directory itself. - string binary_dir = OnlyPath(abs_binary); - while (true) { - // This time test whether the directory is a symbolic link - // *before* looking for "chkconfig.ltx". - // (We've looked relative to the original already.) - FileInfo const file(binary_dir, true); - if (!file.isOK() || !file.isLink()) - break; - - string link; - if (LyXReadLink(binary_dir, link, true)) { - binary_dir = link; - } else { - // Unable to resolve the link. - break; - } - - // Try and find "chkconfig.ltx". - string const lyxdir = - NormalizePath(AddPath(binary_dir, relative_lyxdir)); - searched_dirs.push_back(lyxdir); - - if (!FileSearch(lyxdir, chkconfig_ltx).empty()) { - // Success! "chkconfig.ltx" has been found. - return lyxdir; - } + break; } // 5. In desparation, try the hard-coded system support dir. @@ -657,8 +604,7 @@ bool check_env_var_dir(string const & dir, bool check_env_var_dir(string const & dir, string const & env_var) { - FileInfo fi(dir); - bool const success = (fi.isOK() && fi.isDir()); + bool const success = fs::is_directory(dir); if (!success) { // Put this string on a single line so that the gettext -- 2.39.2