|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r59702 - in sandbox/filesystem-v3: . boost libs/filesystem/doc libs/filesystem/example libs/filesystem/src
From: bdawes_at_[hidden]
Date: 2010-02-16 13:56:17
Author: bemandawes
Date: 2010-02-16 13:56:16 EST (Tue, 16 Feb 2010)
New Revision: 59702
URL: http://svn.boost.org/trac/boost/changeset/59702
Log:
Alpha 0.4
Added:
sandbox/filesystem-v3/install_distro.html (contents, props changed)
Text files modified:
sandbox/filesystem-v3/boost/filesystem.hpp | 1 -
sandbox/filesystem-v3/create_distro.bat | 6 ++++--
sandbox/filesystem-v3/install_distro.bat | 14 ++++++++------
sandbox/filesystem-v3/libs/filesystem/doc/reference.html | 5 +++--
sandbox/filesystem-v3/libs/filesystem/example/tut5.cpp | 2 +-
sandbox/filesystem-v3/libs/filesystem/src/path.cpp | 16 ++++++++++++++--
6 files changed, 30 insertions(+), 14 deletions(-)
Modified: sandbox/filesystem-v3/boost/filesystem.hpp
==============================================================================
--- sandbox/filesystem-v3/boost/filesystem.hpp (original)
+++ sandbox/filesystem-v3/boost/filesystem.hpp 2010-02-16 13:56:16 EST (Tue, 16 Feb 2010)
@@ -17,6 +17,5 @@
#include <boost/filesystem/path.hpp>
#include <boost/filesystem/operations.hpp>
#include <boost/filesystem/convenience.hpp>
-#include <boost/filesystem/fstream.hpp>
#endif
Modified: sandbox/filesystem-v3/create_distro.bat
==============================================================================
--- sandbox/filesystem-v3/create_distro.bat (original)
+++ sandbox/filesystem-v3/create_distro.bat 2010-02-16 13:56:16 EST (Tue, 16 Feb 2010)
@@ -5,7 +5,7 @@
rem Distributed under the Boost Software License, Version 1.0.
rem See http://www.boost.org/LICENSE_1_0.txt
-echo Create Boost Filesystem Version 3 distribution for Windows
+echo Create Boost Filesystem Version 3 distribution files
if {%1}=={} goto usage
pushd %TEMP%
@@ -43,5 +43,7 @@
:usage
echo Usage: create_distro distro-name
-echo Will create distro-name.zip, distro-name.tar.gz, distro-name.tar.bz2 in temp
+echo Example: create_distro filesystem-v3-alpha-0.3
+echo Creates distro-name.zip, distro-name.tar.gz, distro-name.tar.bz2 in %TEMP%
+
:done
Modified: sandbox/filesystem-v3/install_distro.bat
==============================================================================
--- sandbox/filesystem-v3/install_distro.bat (original)
+++ sandbox/filesystem-v3/install_distro.bat 2010-02-16 13:56:16 EST (Tue, 16 Feb 2010)
@@ -25,22 +25,24 @@
goto done
)
-pushd %2
echo Delete prior version of Filesystem library...
-del boost\filesystem.hpp
-rmdir /S /Q boost\filesystem
-rmdir /S /Q libs\filesystem
+del %2\boost\filesystem.hpp 2>nul
+rmdir /S /Q %2\boost\filesystem 2>nul
+rmdir /S /Q %2\libs\filesystem 2>nul
if not exist bjam.exe (
echo Running bootstrap script...
- bootstrap >bootstrap.log 2>&1
+ pushd %2
+ call bootstrap >bootstrap.log 2>&1
echo bootstrap complete - see %2\boostrap.log for details
+ popd
)
echo Copy files from %1 to %2...
-xcopy /s /q %1\* .
+xcopy /s /q %1\* %2
echo Build libraries...
+pushd %2
time /t
echo If other libraries have not been previously built, this step may take a
echo long time - 10 minutes on a fast machine, much longer on a slow machine.
Added: sandbox/filesystem-v3/install_distro.html
==============================================================================
--- (empty file)
+++ sandbox/filesystem-v3/install_distro.html 2010-02-16 13:56:16 EST (Tue, 16 Feb 2010)
@@ -0,0 +1,68 @@
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<title>Filesystem Version 3 Installation</title>
+</head>
+
+<body>
+
+<h1>Boost Filesystem Version 3 Download and Installation</h1>
+<p>The alpha and beta releases of Boost.Filesystem are distributed as .bz2 and
+.zip files, differing only in having Unix or Windows line endings, respectively.</p>
+<h2>Copy Boost installation</h2>
+<p>The installation procedure overwrites existing Boost.Filesystem files, so you
+probably want to make a copy of your Boost installation to experiment with.
+Let's assume you copy your current <code>boost_1_42_0</code> directory tree to
+directory <code>boost-v3-test</code>. </p>
+<h2>Download</h2>
+<ul>
+ <li>Go to the Boost Vault with
+ your web browser.</li>
+ <li>Click on the <b><font face="sans-serif">Filesystem-V3</font></b> Folder.</li>
+ <li>For the distribution file matching your operating system's line endings,
+ click on the <b><font face="sans-serif">download icon</font></b> (with the
+ down arrow) in the <b><font face="sans-serif">Actions</font></b> column.</li>
+</ul>
+<h2>Windows installation</h2>
+<ul>
+ <li>Unzip the distribution file you just downloaded. On my Windows system,
+ that produced a directory named <code>d:\download\filesystem-v3-alpha-0.3</code><br>
+ </li>
+ <li>Change to the unziped distribution directory, and run the <code>
+ install_distro</code> script with dot and the test directory as arguments. On
+ my system, these are the command lines:</li>
+</ul>
+<blockquote>
+ <blockquote>
+ <pre>>cd D:\download\filesystem-v3-alpha-0.3
+>install_distro . d:\boost-v3-test</pre>
+ </blockquote>
+</blockquote>
+<h2>All other operating systems installation</h2>
+<ul>
+ <li>Unpack the distribution file you just downloaded. On my Linux system, that
+ produced a directory named <code>~/filesystem-v3-alpha-0.3</code><br>
+ </li>
+ <li>Change to the unpacked distribution directory, and run the <code>
+ install_distro</code> script with dot and the test directory as arguments. On
+ my system, these are the command lines:</li>
+</ul>
+<blockquote>
+ <blockquote>
+ <pre>cd ~/filesystem-v3-alpha-0.3
+$ ./install_distro.sh . ~/boost-v3-test</pre>
+ </blockquote>
+</blockquote>
+<hr>
+<p>© Beman Dawes 2010</p>
+<p>Revision date:
+<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B %Y" startspan -->16 February 2010<!--webbot bot="Timestamp" endspan i-checksum="40550" --></p>
+<p> </p>
+
+</body>
+
+</html>
Modified: sandbox/filesystem-v3/libs/filesystem/doc/reference.html
==============================================================================
--- sandbox/filesystem-v3/libs/filesystem/doc/reference.html (original)
+++ sandbox/filesystem-v3/libs/filesystem/doc/reference.html 2010-02-16 13:56:16 EST (Tue, 16 Feb 2010)
@@ -2474,7 +2474,8 @@
</td>
</tr>
</table>
-<h3><a name="File-streams">File streams</a></h3>
+<h3><a name="File-streams">File streams</a> -
+<boost/filesystem/fstream.hpp></h3>
<p>Replacements are provided for the file stream classes from the C++ standard
library's <code><fstream></code> header. These replacement classes
publicly inherit from the standard library classes. In the Boost.Filesystem
@@ -3094,7 +3095,7 @@
<p>Distributed under the Boost Software License, Version 1.0. See
<a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a></p>
<p>Revised
-<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B %Y" startspan -->14 February 2010<!--webbot bot="Timestamp" endspan i-checksum="40546" --></p>
+<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B %Y" startspan -->16 February 2010<!--webbot bot="Timestamp" endspan i-checksum="40550" --></p>
</body>
Modified: sandbox/filesystem-v3/libs/filesystem/example/tut5.cpp
==============================================================================
--- sandbox/filesystem-v3/libs/filesystem/example/tut5.cpp (original)
+++ sandbox/filesystem-v3/libs/filesystem/example/tut5.cpp 2010-02-16 13:56:16 EST (Tue, 16 Feb 2010)
@@ -7,7 +7,7 @@
// Library home page: http://www.boost.org/libs/filesystem
-#include <boost/filesystem.hpp>
+#include <boost/filesystem/fstream.hpp>
#include <string>
#include <list>
namespace fs = boost::filesystem;
Modified: sandbox/filesystem-v3/libs/filesystem/src/path.cpp
==============================================================================
--- sandbox/filesystem-v3/libs/filesystem/src/path.cpp (original)
+++ sandbox/filesystem-v3/libs/filesystem/src/path.cpp 2010-02-16 13:56:16 EST (Tue, 16 Feb 2010)
@@ -786,8 +786,20 @@
# elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)
// "All BSD system functions expect their string parameters to be in UTF-8 encoding
- // and nothing else."
- // see http://developer.apple.com/mac/library/documentation/MacOSX/Conceptual/BPInternational/Articles/FileEncodings.html
+ // and nothing else." http://developer.apple.com/mac/library/documentation/MacOSX/Conceptual/BPInternational/Articles/FileEncodings.html
+ //
+ // "The kernel will reject any filename that is not a valid UTF-8 string, and it will
+ // even be normalized (to Unicode NFD) before stored on disk, at least when using HFS.
+ // The right way to deal with it would be to always convert the filename to UTF-8
+ // before trying to open/create a file." http://lists.apple.com/archives/unix-porting/2007/Sep/msg00023.html
+ //
+ // "How a file name looks at the API level depends on the API. Current Carbon APIs
+ // handle file names as an array of UTF-16 characters; POSIX ones handle them as an
+ // array of UTF-8, which is why UTF-8 works well in Terminal. How it's stored on disk
+ // depends on the disk format; HFS+ uses UTF-16, but that's not important in most
+ // cases." http://lists.apple.com/archives/applescript-users/2002/Sep/msg00319.html
+ //
+ // Many thanks to Peter Dimov for digging out the above references!
std::locale global_loc = std::locale();
std::locale loc(global_loc, new fs::detail::utf8_codecvt_facet);
return loc;
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk