summaryrefslogtreecommitdiff
path: root/tools/release
diff options
context:
space:
mode:
Diffstat (limited to 'tools/release')
-rw-r--r--tools/release/2release.bat16
-rw-r--r--tools/release/README11
-rw-r--r--tools/release/bjam_warnings.bat17
-rwxr-xr-xtools/release/build_docs.sh20
-rwxr-xr-xtools/release/build_release.sh20
-rw-r--r--tools/release/build_release_packages.bat47
-rwxr-xr-xtools/release/build_release_packages.sh43
-rw-r--r--tools/release/index.html64
-rwxr-xr-xtools/release/inspect.sh31
-rw-r--r--tools/release/inspect_trunk.bat42
-rw-r--r--tools/release/linux_user-config.jam21
-rwxr-xr-xtools/release/load_posix.sh10
-rwxr-xr-xtools/release/load_windows.sh10
-rwxr-xr-xtools/release/make_packages.sh45
-rw-r--r--tools/release/merge2release.bat22
-rw-r--r--tools/release/merge_release_cycle_init.bat16
-rw-r--r--tools/release/release-mgt-msvc/compare_trees/compare_trees.vcproj197
-rw-r--r--tools/release/release-mgt-msvc/msvc.sln26
-rw-r--r--tools/release/release-mgt-msvc/strftime/strftime.vcproj193
-rwxr-xr-xtools/release/release_reports.sh31
-rw-r--r--tools/release/revision_number.bat13
-rw-r--r--tools/release/snapshot.bat39
-rwxr-xr-xtools/release/snapshot.sh16
-rw-r--r--tools/release/snapshot_download_docs.bat31
-rwxr-xr-xtools/release/snapshot_inspect.sh31
-rw-r--r--tools/release/snapshot_inspection.bat28
-rw-r--r--tools/release/snapshot_posix.bat69
-rwxr-xr-xtools/release/snapshot_posix.sh65
-rw-r--r--tools/release/snapshot_windows.bat75
-rwxr-xr-xtools/release/snapshot_windows.sh58
-rw-r--r--tools/release/strftime.cpp68
-rw-r--r--tools/release/unmerged.bat17
-rw-r--r--tools/release/unmerged_all.bat86
-rw-r--r--tools/release/unmerged_whatever.bat13
-rw-r--r--tools/release/upload2sourceforge.bat13
35 files changed, 1504 insertions, 0 deletions
diff --git a/tools/release/2release.bat b/tools/release/2release.bat
new file mode 100644
index 0000000000..391ac2ea11
--- /dev/null
+++ b/tools/release/2release.bat
@@ -0,0 +1,16 @@
+@echo off
+rem Copyright Beman Dawes 2011
+rem Distributed under the Boost Software License, Version 1.0. See http://www.boost.org/LICENSE_1_0.txt
+if not %1$==$ goto usage_ok
+echo Usage: 2release path-relative-to-boost-root [svn-options]
+echo Path may be to file or directory
+echo Options include --dry-run
+echo WARNING: The current directory must be the directory in %BOOST_RELEASE%
+echo specified by the path-relative argument
+goto done
+
+:usage_ok
+svn merge %2 %3 %4 %5 %6 https://svn.boost.org/svn/boost/branches/release/%1 ^
+ https://svn.boost.org/svn/boost/trunk/%1
+
+:done
diff --git a/tools/release/README b/tools/release/README
new file mode 100644
index 0000000000..bb8eaeca59
--- /dev/null
+++ b/tools/release/README
@@ -0,0 +1,11 @@
+Boost SourceForge release folder README
+---------------------------------------
+
+The only differences between the distribution files are the line endings
+and archive format. The .bz2 and .7z formats are preferred as more compact.
+
+Distribution files with extensions .gz and .bz2 use Unix line endings.
+
+Distribution files with extensions .zip and .7z use Windows line endings.
+
+See http://www.boost.org/users/history for information about each Boost release.
diff --git a/tools/release/bjam_warnings.bat b/tools/release/bjam_warnings.bat
new file mode 100644
index 0000000000..b45f4b785b
--- /dev/null
+++ b/tools/release/bjam_warnings.bat
@@ -0,0 +1,17 @@
+@echo off
+rem Scan bjam/b2 log file for compile warnings
+
+rem Copyright 2011 Beman Dawes
+
+rem Distributed under the Boost Software License, Version 1.0.
+rem See http://www.boost.org/LICENSE_1_0.txt
+
+if not %1$==$ goto usage_ok
+echo Usage: bjam_warnings log-path
+goto done
+
+:usage_ok
+
+grep -i "warning" %1 | grep -E "boost|libs" | sort | uniq
+
+:done
diff --git a/tools/release/build_docs.sh b/tools/release/build_docs.sh
new file mode 100755
index 0000000000..6e00fb31a0
--- /dev/null
+++ b/tools/release/build_docs.sh
@@ -0,0 +1,20 @@
+#!/usr/bin/env bash
+
+# Build docs
+
+# Copyright 2008 Beman Dawes
+# Distributed under the Boost Software License, Version 1.0. See http://www.boost.org/LICENSE_1_0.txt
+
+if [ $# -lt 1 ]
+then
+ echo "invoke:" $0 "directory-name"
+ echo "example:" $0 "posix"
+ exit 1
+fi
+
+echo building $1 docs...
+pushd $1/doc
+bjam --v2 >../../$1-bjam.log
+ls html
+popd
+
diff --git a/tools/release/build_release.sh b/tools/release/build_release.sh
new file mode 100755
index 0000000000..39a10df4db
--- /dev/null
+++ b/tools/release/build_release.sh
@@ -0,0 +1,20 @@
+#!/usr/bin/env bash
+
+# Build release packages
+
+# Copyright 2008 Beman Dawes
+# Distributed under the Boost Software License, Version 1.0. See http://www.boost.org/LICENSE_1_0.txt
+
+if [ $# -lt 1 ]
+then
+ echo "invoke:" $0 "release-name"
+ echo "example:" $0 "boost_1_35_0_RC3"
+ exit 1
+fi
+
+./load_posix.sh
+./load_windows.sh
+./build_docs.sh posix
+./build_docs.sh windows
+./build_release_packages.sh $1
+
diff --git a/tools/release/build_release_packages.bat b/tools/release/build_release_packages.bat
new file mode 100644
index 0000000000..5f72e5157c
--- /dev/null
+++ b/tools/release/build_release_packages.bat
@@ -0,0 +1,47 @@
+@echo off
+rem Build release packages
+
+rem Copyright Beman Dawes 2009
+
+rem Distributed under the Boost Software License, Version 1.0.
+rem See http://www.boost.org/LICENSE_1_0.txt
+
+echo Build release packages...
+
+if not %1$==$ goto ok
+echo Usage: build_release_packages release-name
+echo Example: build_release_packages boost_1_38_0_Beta1
+goto done
+
+:ok
+
+echo Preping posix...
+rmdir /s /q posix\bin.v2 2>nul
+rmdir /s /q posix\dist 2>nul
+ren posix %1
+del %1.tar.gz 2>nul
+del %1.tar.bz2 2>nul
+echo Creating gz...
+tar cfz %1.tar.gz %1
+echo Creating bz2...
+gzip -d -c %1.tar.gz | bzip2 >%1.tar.bz2
+echo Cleaning up posix...
+ren %1 posix
+
+echo Preping windows...
+rmdir /s /q windows\bin.v2 2>nul
+rmdir /s /q windows\dist 2>nul
+ren windows %1
+del %1.zip 2>nul
+del %1.7z 2>nul
+echo Creating zip...
+zip -r -q %1.zip %1
+echo Creating 7z...
+7z a -r -bd %1.7z %1
+echo Cleaning up windows...
+ren %1 windows
+
+grep "Revision:" snapshot.log
+echo Build release packages complete
+
+:done
diff --git a/tools/release/build_release_packages.sh b/tools/release/build_release_packages.sh
new file mode 100755
index 0000000000..2a126c01c0
--- /dev/null
+++ b/tools/release/build_release_packages.sh
@@ -0,0 +1,43 @@
+#!/usr/bin/env bash
+
+# Build release packages
+
+# Copyright 2008 Beman Dawes
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+
+if [ $# -lt 1 ]
+then
+ echo "invoke:" $0 "release-name"
+ echo "example:" $0 "boost_1_35_0_RC3"
+ exit 1
+fi
+
+echo "preping posix..."
+rm -r posix/bin.v2 2>/dev/null
+rm -r posix/dist 2>/dev/null
+mv posix $1
+rm -f $1.tar.gz 2>/dev/null
+rm -f $1.tar.bz2 2>/dev/null
+echo "creating gz..."
+tar cfz $1.tar.gz $1
+echo "creating bz2..."
+gzip -c $1.tar.gz | bzip2 >$1.tar.bz2
+echo "cleaning up..."
+mv $1 posix
+
+echo "preping windows..."
+rm -r windows/bin.v2 2>/dev/null
+rm -r windows/dist 2>/dev/null
+mv windows $1
+rm -f $1.zip 2>/dev/null
+rm -f $1.7z 2>/dev/null
+echo "creating zip..."
+zip -r $1.zip $1
+echo "creating 7z..."
+7z a -r $1.7z $1
+echo "cleaning up..."
+mv $1 windows
+
+exit 0
+
diff --git a/tools/release/index.html b/tools/release/index.html
new file mode 100644
index 0000000000..8e850eab4f
--- /dev/null
+++ b/tools/release/index.html
@@ -0,0 +1,64 @@
+<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>Release Scripts</title>
+<link rel="stylesheet" type="text/css" href="../../doc/src/minimal.css">
+</head>
+
+<body>
+<table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="637">
+ <tr>
+ <td width="277">
+<a href="../../index.htm">
+<img src="../../boost.png" alt="boost.png (6897 bytes)" align="middle" width="277" height="86" border="0"></a></td>
+ <td width="337" align="middle">
+ <font size="7">Release Scripts</font>
+ </td>
+ </tr>
+</table>
+
+<h2>Introduction</h2>
+<p>The release scripts are used by the release management team to build the
+release distribution files, and perform related release management functions.</p>
+<p>The files being built include:</p>
+<table border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111">
+ <tr>
+ <td width="100%" colspan="2">
+ <p align="center"><b><i>Files</i></b></td>
+ </tr>
+ <tr>
+ <td width="50%">boost_x_xx_x.7z</td>
+ <td width="50%">&nbsp;</td>
+ </tr>
+ <tr>
+ <td width="50%">boost_x_xx_x.tar.bz2</td>
+ <td width="50%">Unix-style line endings</td>
+ </tr>
+ <tr>
+ <td width="50%">boost_x_xx_x.tar.gz</td>
+ <td width="50%">Unix-style line endings</td>
+ </tr>
+ <tr>
+ <td width="50%">boost_x_xx_x.zip</td>
+ <td width="50%">Windows-style line endings</td>
+ </tr>
+</table>
+<p>The content of all files is identical except for the line endings.</p>
+
+<hr>
+
+<p>© Copyright Beman Dawes, 2008<br>
+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="%B %d, %Y" startspan -->January 18, 2008<!--webbot bot="Timestamp" endspan i-checksum="31853" --> </font>
+</p>
+
+</body>
+
+</html> \ No newline at end of file
diff --git a/tools/release/inspect.sh b/tools/release/inspect.sh
new file mode 100755
index 0000000000..7c04fb58c2
--- /dev/null
+++ b/tools/release/inspect.sh
@@ -0,0 +1,31 @@
+#!/usr/bin/env bash
+
+# Inspect snapshot
+
+# © Copyright 2008 Beman Dawes
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+
+# This script uses ftp, and thus assumes ~/.netrc contains a machine ... entry
+
+pushd posix/tools/inspect/build
+bjam
+popd
+echo inspect...
+pushd posix
+dist/bin/inspect >../inspect.html
+popd
+
+# create the ftp script
+echo create ftp script...
+echo "dir" >inspect.ftp
+echo "binary" >>inspect.ftp
+echo "put inspect.html" >>inspect.ftp
+echo "delete inspect-snapshot.html" >>inspect.ftp
+echo "rename inspect.html inspect-snapshot.html" >>inspect.ftp
+echo "dir" >>inspect.ftp
+echo "bye" >>inspect.ftp
+# use cygwin ftp rather than Windows ftp
+echo ftp...
+/usr/bin/ftp -v -i boost.cowic.de <inspect.ftp
+echo inspect.sh complete
diff --git a/tools/release/inspect_trunk.bat b/tools/release/inspect_trunk.bat
new file mode 100644
index 0000000000..4a306a9302
--- /dev/null
+++ b/tools/release/inspect_trunk.bat
@@ -0,0 +1,42 @@
+rem Inspect Trunk
+rem Copyright Beman Dawes 2008, 2009
+
+rem Distributed under the Boost Software License, Version 1.0.
+rem See http://www.boost.org/LICENSE_1_0.txt
+
+echo Must be run in directory containing svn checkout of trunk
+
+echo Clean trunk working copy ...
+rem cleanup clears locks or other residual problems (we learned this the hard way!)
+svn cleanup
+echo Update trunk working copy...
+svn up --non-interactive --trust-server-cert
+pushd tools\inspect\build
+echo Build inspect program...
+bjam
+popd
+echo Copy inspect.exe to %UTIL% directory...
+copy /y dist\bin\inspect.exe %UTIL%
+echo Inspect...
+inspect >%TEMP%\trunk_inspect.html
+
+echo Create ftp script...
+pushd %TEMP%
+copy %BOOST_TRUNK%\..\user.txt inspect.ftp
+echo dir >>inspect.ftp
+echo binary >>inspect.ftp
+echo put trunk_inspect.html >>inspect.ftp
+echo dir >>inspect.ftp
+echo mdelete inspect-trunk.html >>inspect.ftp
+echo rename trunk_inspect.html inspect-trunk.html >>inspect.ftp
+echo dir >>inspect.ftp
+echo bye >>inspect.ftp
+
+echo Run ftp script...
+ftp -n -i -s:inspect.ftp boost.cowic.de
+popd
+
+echo Update script for next run
+copy /y tools\release\inspect_trunk.bat
+
+echo Inspect script complete
diff --git a/tools/release/linux_user-config.jam b/tools/release/linux_user-config.jam
new file mode 100644
index 0000000000..6b62071b02
--- /dev/null
+++ b/tools/release/linux_user-config.jam
@@ -0,0 +1,21 @@
+# Linux user-config.jam
+
+import toolset : using ;
+
+using gcc ;
+
+using python ; # requires pythonN.NN-dev be installed
+
+# Boost iostreams requires no user-config.jam entries,
+# but does require zliblg-dev, libbz2-dev, be installed
+
+using xsltproc ;
+
+using boostbook
+ : /usr/share/xml/docbook/stylesheet/nwalsh
+ : /usr/share/xml/docbook/schema/dtd/4.2
+ ;
+
+# Remove this line if you're not using doxygen
+using doxygen ;
+using quickbook ;
diff --git a/tools/release/load_posix.sh b/tools/release/load_posix.sh
new file mode 100755
index 0000000000..eecdbed240
--- /dev/null
+++ b/tools/release/load_posix.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+
+# Load posix directory from branches/release snapshot, using LF line termination
+
+# Copyright 2008 Beman Dawes
+# Distributed under the Boost Software License, Version 1.0. See http://www.boost.org/LICENSE_1_0.txt
+
+rm -r -f posix 2>/dev/null
+svn export --non-interactive --native-eol LF http://svn.boost.org/svn/boost/branches/release posix
+
diff --git a/tools/release/load_windows.sh b/tools/release/load_windows.sh
new file mode 100755
index 0000000000..08967ddf9e
--- /dev/null
+++ b/tools/release/load_windows.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+
+# Load windows directory from branches/release snapshot, using CR/LF line termination
+
+# Copyright 2008 Beman Dawes
+# Distributed under the Boost Software License, Version 1.0. See http://www.boost.org/LICENSE_1_0.txt
+
+rm -r -f windows 2>/dev/null
+svn export --non-interactive --native-eol CRLF http://svn.boost.org/svn/boost/branches/release windows
+
diff --git a/tools/release/make_packages.sh b/tools/release/make_packages.sh
new file mode 100755
index 0000000000..3aeb17f8f5
--- /dev/null
+++ b/tools/release/make_packages.sh
@@ -0,0 +1,45 @@
+#!/bin/sh
+
+# Build branches/release packages
+
+# © Copyright 2008 Beman Dawes
+# Distributed under the Boost Software License, Version 1.0. See http://www.boost.org/LICENSE_1_0.txt
+
+if [ $# -lt 1 ]
+then
+ echo "invoke:" $0 "package-name"
+ echo "example:" $0 "boost_1_35_0_RC3"
+ exit 1
+fi
+
+echo "preping posix..."
+rm -r posix/bin.v2 2>/dev/null
+rm -r posix/dist 2>/dev/null
+mv posix $1
+rm -f $1.tar.gz 2>/dev/null
+rm -f $1.tar.bz2 2>/dev/null
+echo "creating gz..."
+tar cfz $1.tar.gz $1
+echo "creating bz2..."
+gunzip -c $1.tar.gz | bzip2 >$1.tar.bz2
+echo "cleaning up..."
+mv $1 posix
+
+echo "preping windows..."
+rm -r windows/bin.v2 2>/dev/null
+rm -r windows/dist 2>/dev/null
+mv windows $1
+rm -f $1.zip 2>/dev/null
+rm -f $1.7z 2>/dev/null
+echo "creating zip..."
+zip -r $1.zip $1
+echo "creating 7z..."
+7z a -r $1.7z $1
+echo "cleaning up..."
+mv $1 windows
+
+echo "done automatic processing; you must now upload packages manually"
+exit 0
+
+
+
diff --git a/tools/release/merge2release.bat b/tools/release/merge2release.bat
new file mode 100644
index 0000000000..39bb01f216
--- /dev/null
+++ b/tools/release/merge2release.bat
@@ -0,0 +1,22 @@
+rem @echo off
+rem Copyright Beman Dawes 2010
+rem Distributed under the Boost Software License, Version 1.0. See http://www.boost.org/LICENSE_1_0.txt
+if not %1$==$ goto usage_ok
+echo Usage: merge2release library-name [svn-options]
+echo Options include --dry-run
+goto done
+
+:usage_ok
+pushd %BOOST_RELEASE%
+pushd boost
+call 2release boost/%1.hpp %2 %3 %4 %5 %6
+pushd %1
+call 2release boost/%1 %2 %3 %4 %5 %6
+popd
+popd
+pushd libs\%1
+call 2release libs/%1 %2 %3 %4 %5 %6
+popd
+popd
+
+:done
diff --git a/tools/release/merge_release_cycle_init.bat b/tools/release/merge_release_cycle_init.bat
new file mode 100644
index 0000000000..3eb3bbe707
--- /dev/null
+++ b/tools/release/merge_release_cycle_init.bat
@@ -0,0 +1,16 @@
+rem @echo off
+rem Copyright Beman Dawes 2011
+rem Distributed under the Boost Software License, Version 1.0.
+rem See http://www.boost.org/LICENSE_1_0.txt
+
+pushd %BOOST_RELEASE%
+svn up
+call 2release Jamroot
+call 2release index.html
+pushd boost
+call 2release boost/version.hpp
+popd
+pushd more
+call 2release more
+popd
+popd
diff --git a/tools/release/release-mgt-msvc/compare_trees/compare_trees.vcproj b/tools/release/release-mgt-msvc/compare_trees/compare_trees.vcproj
new file mode 100644
index 0000000000..f52093006f
--- /dev/null
+++ b/tools/release/release-mgt-msvc/compare_trees/compare_trees.vcproj
@@ -0,0 +1,197 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="compare_trees"
+ ProjectGUID="{7E6AD5ED-4168-4613-A342-0217AA82DEC1}"
+ RootNamespace="compare_trees"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="196613"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+ IntermediateDirectory="$(ConfigurationName)"
+ ConfigurationType="1"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\.."
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\..\..\stage\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+ IntermediateDirectory="$(ConfigurationName)"
+ ConfigurationType="1"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ AdditionalIncludeDirectories="..\..\..\.."
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\..\..\stage\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath="..\..\compare_trees.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/tools/release/release-mgt-msvc/msvc.sln b/tools/release/release-mgt-msvc/msvc.sln
new file mode 100644
index 0000000000..ca70e06f63
--- /dev/null
+++ b/tools/release/release-mgt-msvc/msvc.sln
@@ -0,0 +1,26 @@
+
+Microsoft Visual Studio Solution File, Format Version 10.00
+# Visual C++ Express 2008
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "compare_trees", "compare_trees\compare_trees.vcproj", "{7E6AD5ED-4168-4613-A342-0217AA82DEC1}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "strftime", "strftime\strftime.vcproj", "{4A82F955-7630-4B79-9C50-E45F27E28BA8}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Release|Win32 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {7E6AD5ED-4168-4613-A342-0217AA82DEC1}.Debug|Win32.ActiveCfg = Debug|Win32
+ {7E6AD5ED-4168-4613-A342-0217AA82DEC1}.Debug|Win32.Build.0 = Debug|Win32
+ {7E6AD5ED-4168-4613-A342-0217AA82DEC1}.Release|Win32.ActiveCfg = Release|Win32
+ {7E6AD5ED-4168-4613-A342-0217AA82DEC1}.Release|Win32.Build.0 = Release|Win32
+ {4A82F955-7630-4B79-9C50-E45F27E28BA8}.Debug|Win32.ActiveCfg = Debug|Win32
+ {4A82F955-7630-4B79-9C50-E45F27E28BA8}.Debug|Win32.Build.0 = Debug|Win32
+ {4A82F955-7630-4B79-9C50-E45F27E28BA8}.Release|Win32.ActiveCfg = Release|Win32
+ {4A82F955-7630-4B79-9C50-E45F27E28BA8}.Release|Win32.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/tools/release/release-mgt-msvc/strftime/strftime.vcproj b/tools/release/release-mgt-msvc/strftime/strftime.vcproj
new file mode 100644
index 0000000000..4b8e9ab866
--- /dev/null
+++ b/tools/release/release-mgt-msvc/strftime/strftime.vcproj
@@ -0,0 +1,193 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="strftime"
+ ProjectGUID="{4A82F955-7630-4B79-9C50-E45F27E28BA8}"
+ RootNamespace="strftime"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="196613"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+ IntermediateDirectory="$(ConfigurationName)"
+ ConfigurationType="1"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ LinkIncremental="2"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+ IntermediateDirectory="$(ConfigurationName)"
+ ConfigurationType="1"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ LinkIncremental="1"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath="..\..\strftime.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/tools/release/release_reports.sh b/tools/release/release_reports.sh
new file mode 100755
index 0000000000..73d8ead91d
--- /dev/null
+++ b/tools/release/release_reports.sh
@@ -0,0 +1,31 @@
+#!/usr/bin/env bash
+
+# Run the release branch regression reporting system
+
+# Copyright 2008 Beman Dawes
+
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+
+# Requirements:
+#
+# * ~/boost/trunk is an svn working copy of the trunk
+# * ~/boost/release-reports is a directory devoted to release regression reporting
+# * ~/boost/release-reports/boost is an svn working of branches/release
+# * ~/boost/release-reports/release/ exists
+
+echo Updating ~/boost/trunk/tools/regression ...
+svn up ~/boost/trunk/tools/regression
+
+echo Updating ~/boost/trunk/tools/release ...
+svn up ~/boost/trunk/tools/release
+
+pushd ~/boost/release-reports
+
+echo Running build_results.sh ...
+date >report.log
+~/boost/trunk/tools/regression/xsl_reports/build_results.sh release 1>>report.log 2>>report.log
+date >>report.log
+
+popd
+echo Release regression reporting complete - see ~/boost/release-reports/report.log
diff --git a/tools/release/revision_number.bat b/tools/release/revision_number.bat
new file mode 100644
index 0000000000..8f03bd0f16
--- /dev/null
+++ b/tools/release/revision_number.bat
@@ -0,0 +1,13 @@
+rem Create revision information, to be used by other script
+
+rem Copyright 2011 Beman Dawes
+
+rem Distributed under the Boost Software License, Version 1.0.
+rem See http://www.boost.org/LICENSE_1_0.txt
+
+echo Getting current subversion revision number...
+svn co --non-interactive --depth=files http://svn.boost.org/svn/boost/branches/release svn_info
+svn info svn_info
+
+svn info svn_info | grep Revision | sed "s/Revision: /set BOOST_REVISION_NUMBER=/" >generated_set_release.bat
+call generated_set_release.bat
diff --git a/tools/release/snapshot.bat b/tools/release/snapshot.bat
new file mode 100644
index 0000000000..5029e3d73b
--- /dev/null
+++ b/tools/release/snapshot.bat
@@ -0,0 +1,39 @@
+@echo off
+rem Run POSIX and Windows snapshots and inspection
+
+rem Copyright 2008 Beman Dawes
+
+rem Distributed under the Boost Software License, Version 1.0.
+rem See http://www.boost.org/LICENSE_1_0.txt
+
+rem Must be run in a directory devoted to boost release snapshots
+
+echo Remove residue from prior runs...
+rem rmdir commands seem to finish before the deletes are necessarily complete.
+rem This can occasionally cause subsequent commands to fail because they expect
+rem the directory to be gone or empty. snapshot_posix and snapshot_windows
+rem are affected. Fix is to run rmdir here so that deletes are complete
+rem by the time snapshots are run.
+rmdir /s /q posix >nul
+rmdir /s /q windows >nul
+time /t
+
+echo Using %BOOST_TRUNK% as boost trunk
+time /t
+pushd %BOOST_TRUNK%
+echo Running svn cleanup on %BOOST_TRUNK%
+svn --non-interactive --trust-server-cert cleanup
+echo Running svn update on %BOOST_TRUNK%
+svn --non-interactive --trust-server-cert up
+popd
+call %BOOST_TRUNK%\tools\release\revision_number.bat
+time /t
+call %BOOST_TRUNK%\tools\release\snapshot_download_docs.bat
+time /t
+call %BOOST_TRUNK%\tools\release\snapshot_posix.bat
+time /t
+call %BOOST_TRUNK%\tools\release\snapshot_windows.bat
+time /t
+call %BOOST_TRUNK%\tools\release\snapshot_inspection.bat
+time /t
+echo Revision %BOOST_REVISION_NUMBER% snapshot complete
diff --git a/tools/release/snapshot.sh b/tools/release/snapshot.sh
new file mode 100755
index 0000000000..8e45abbccc
--- /dev/null
+++ b/tools/release/snapshot.sh
@@ -0,0 +1,16 @@
+#!/usr/bin/env bash
+
+# © Copyright 2008 Beman Dawes
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+
+sleep 5s
+echo Using $BOOST_TRUNK as boost trunk
+date
+$BOOST_TRUNK/tools/release/snapshot_posix.sh
+date
+$BOOST_TRUNK/tools/release/snapshot_windows.sh
+date
+$BOOST_TRUNK/tools/release/snapshot_inspect.sh
+date
+sleep 5s
diff --git a/tools/release/snapshot_download_docs.bat b/tools/release/snapshot_download_docs.bat
new file mode 100644
index 0000000000..5bdae2b5a8
--- /dev/null
+++ b/tools/release/snapshot_download_docs.bat
@@ -0,0 +1,31 @@
+@echo off
+rem Download and unpack boost-release-docs.7z
+
+rem Copyright 2008 Beman Dawes
+
+rem Distributed under the Boost Software License, Version 1.0.
+rem See http://www.boost.org/LICENSE_1_0.txt
+
+echo Downloading docs subdirectory...
+
+echo Deleting old files and directories ...
+del boost-docs.7z 2>nul
+del boost-release-docs.7z 2>nul
+rmdir /s /q docs_temp 2>nul
+mkdir docs_temp
+
+echo Creating ftp script ...
+rem user.txt must be a single line: user userid password
+rem where "userid" and "password" are replace with the appropriate values
+copy user.txt download_docs.ftp
+echo binary >>download_docs.ftp
+echo get boost-release-docs.7z >>download_docs.ftp
+echo bye >>download_docs.ftp
+
+echo Running ftp script ...
+ftp -d -n -i -s:download_docs.ftp boost.cowic.de
+
+echo Unpacking 7z file ...
+7z x -y -odocs_temp boost-release-docs.7z
+
+echo Download and unpack boost-release-docs.7z complete! \ No newline at end of file
diff --git a/tools/release/snapshot_inspect.sh b/tools/release/snapshot_inspect.sh
new file mode 100755
index 0000000000..7c04fb58c2
--- /dev/null
+++ b/tools/release/snapshot_inspect.sh
@@ -0,0 +1,31 @@
+#!/usr/bin/env bash
+
+# Inspect snapshot
+
+# © Copyright 2008 Beman Dawes
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+
+# This script uses ftp, and thus assumes ~/.netrc contains a machine ... entry
+
+pushd posix/tools/inspect/build
+bjam
+popd
+echo inspect...
+pushd posix
+dist/bin/inspect >../inspect.html
+popd
+
+# create the ftp script
+echo create ftp script...
+echo "dir" >inspect.ftp
+echo "binary" >>inspect.ftp
+echo "put inspect.html" >>inspect.ftp
+echo "delete inspect-snapshot.html" >>inspect.ftp
+echo "rename inspect.html inspect-snapshot.html" >>inspect.ftp
+echo "dir" >>inspect.ftp
+echo "bye" >>inspect.ftp
+# use cygwin ftp rather than Windows ftp
+echo ftp...
+/usr/bin/ftp -v -i boost.cowic.de <inspect.ftp
+echo inspect.sh complete
diff --git a/tools/release/snapshot_inspection.bat b/tools/release/snapshot_inspection.bat
new file mode 100644
index 0000000000..1a86aa4b8e
--- /dev/null
+++ b/tools/release/snapshot_inspection.bat
@@ -0,0 +1,28 @@
+rem Inspect snapshot
+
+rem Copyright Beman Dawes 2008, 2011
+
+rem Distributed under the Boost Software License, Version 1.0.
+rem See http://www.boost.org/LICENSE_1_0.txt
+
+echo inspect...
+pushd windows
+rem inspect_trunk.bat builds inspect program every day and copies it to %UTIL%
+%UTIL%%\inspect >..\inspect.html
+popd
+
+echo Create ftp script...
+copy user.txt inspect.ftp
+echo dir >>inspect.ftp
+echo binary >>inspect.ftp
+echo put inspect.html >>inspect.ftp
+echo dir >>inspect.ftp
+echo mdelete inspect-snapshot.html >>inspect.ftp
+echo rename inspect.html inspect-snapshot.html >>inspect.ftp
+echo dir >>inspect.ftp
+echo bye >>inspect.ftp
+
+echo Run ftp script...
+ftp -n -i -s:inspect.ftp boost.cowic.de
+
+echo Inspect script complete
diff --git a/tools/release/snapshot_posix.bat b/tools/release/snapshot_posix.bat
new file mode 100644
index 0000000000..1a061dccba
--- /dev/null
+++ b/tools/release/snapshot_posix.bat
@@ -0,0 +1,69 @@
+rem Build a branches/release snapshot for POSIX, using LF line termination
+
+rem Copyright 2008 Beman Dawes
+
+rem Distributed under the Boost Software License, Version 1.0.
+rem See http://www.boost.org/LICENSE_1_0.txt
+
+echo Build a branches/release snapshot for POSIX, using LF line termination...
+echo Revision %BOOST_REVISION_NUMBER%
+echo Removing old files...
+rmdir /s /q posix >nul
+rmdir /s /q svn_info >nul
+del posix.tar.gz >nul
+del posix.tar.bz2 >nul
+
+echo Exporting files from subversion...
+svn export --non-interactive --native-eol LF -r %BOOST_REVISION_NUMBER% http://svn.boost.org/svn/boost/branches/release posix
+
+echo Copying docs into posix...
+pushd posix
+xcopy /s /y ..\docs_temp
+popd
+
+echo Setting SNAPSHOT_DATE
+strftime "%%Y-%%m-%%d" >date.txt
+set /p SNAPSHOT_DATE= <date.txt
+echo SNAPSHOT_DATE is %SNAPSHOT_DATE%
+
+echo Renaming root directory...
+ren posix boost-posix-%SNAPSHOT_DATE%
+
+echo Building .gz file...
+tar cfz posix.tar.gz --numeric-owner --group=0 --owner=0 boost-posix-%SNAPSHOT_DATE%
+echo Building .bz2 file...
+gzip -d -c posix.tar.gz | bzip2 >posix.tar.bz2
+
+ren boost-posix-%SNAPSHOT_DATE% posix
+
+echo The ftp transfer will be done in two steps because that has proved more
+echo reliable on Beman's Windows XP 64-bit system.
+
+echo Creating ftp script 1 ...
+copy user.txt posix.ftp
+echo dir >>posix.ftp
+echo binary >>posix.ftp
+
+rem echo put posix.tar.gz >>posix.ftp
+rem echo mdelete boost-posix*.gz >>posix.ftp
+rem echo rename posix.tar.gz boost-posix-%SNAPSHOT_DATE%.tar.gz >>posix.ftp
+
+echo put posix.tar.bz2 >>posix.ftp
+echo bye >>posix.ftp
+
+echo Running ftp script 1 ...
+ftp -n -i -s:posix.ftp boost.cowic.de
+
+echo Creating ftp script 2 ...
+copy user.txt posix.ftp
+echo dir >>posix.ftp
+echo mdelete boost-posix*.bz2 >>posix.ftp
+echo rename posix.tar.bz2 boost-posix-%SNAPSHOT_DATE%.tar.bz2 >>posix.ftp
+
+echo dir >>posix.ftp
+echo bye >>posix.ftp
+
+echo Running ftp script 2 ...
+ftp -n -i -s:posix.ftp boost.cowic.de
+
+echo POSIX snapshot complete!
diff --git a/tools/release/snapshot_posix.sh b/tools/release/snapshot_posix.sh
new file mode 100755
index 0000000000..ccc625a999
--- /dev/null
+++ b/tools/release/snapshot_posix.sh
@@ -0,0 +1,65 @@
+#!/usr/bin/env bash
+
+# Build a branches/release snapshot for Posix, using LF line termination
+
+# © Copyright 2008 Beman Dawes
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+
+echo "Build a branches/release snapshot for POSIX, using LF line termination..."
+
+echo "Removing old files..."
+rm -r -f posix
+rm -r -f svn_info
+
+echo "Exporting files from subversion..."
+# leave an audit trail, which is used by inspect to determine revision number
+# use --non-recursive rather than --depth=files until the linux distros catch up
+svn co --non-recursive http://svn.boost.org/svn/boost/branches/release svn_info
+svn export --non-interactive --native-eol LF http://svn.boost.org/svn/boost/branches/release posix
+
+#echo "Building bjam..."
+# failure to use an up-to-date copy of bjam has caused much wasted effort.
+#pushd posix/tools/build/v2/engine
+#./build.sh gcc
+#popd
+#
+#echo "Building docs..."
+#pushd posix/doc
+#../tools/build/v2/engine/bin.cygwinx86/bjam --toolset=gcc &>../../posix-bjam.log
+#popd
+
+echo "Cleaning up and renaming..."
+#rm -r posix/bin.v2
+SNAPSHOT_DATE=`eval date +%Y-%m-%d`
+echo SNAPSHOT_DATE is $SNAPSHOT_DATE
+mv posix boost-posix-$SNAPSHOT_DATE
+rm -f posix.tar.gz
+rm -f posix.tar.bz2
+
+echo "Building .gz file..."
+tar cfz posix.tar.gz boost-posix-$SNAPSHOT_DATE
+echo "Building .bz2 file..."
+gunzip -c posix.tar.gz | bzip2 >posix.tar.bz2
+mv boost-posix-$SNAPSHOT_DATE posix
+
+echo "Creating ftp script..."
+echo "dir" >posix.ftp
+echo "binary" >>posix.ftp
+
+#echo "put posix.tar.gz" >>posix.ftp
+#echo "mdelete boost-posix*.gz" >>posix.ftp
+#echo "rename posix.tar.gz boost-posix-$SNAPSHOT_DATE.tar.gz" >>posix.ftp
+
+echo "put posix.tar.bz2" >>posix.ftp
+echo "mdelete boost-posix*.bz2" >>posix.ftp
+echo "rename posix.tar.bz2 boost-posix-$SNAPSHOT_DATE.tar.bz2" >>posix.ftp
+
+echo "dir" >>posix.ftp
+echo "bye" >>posix.ftp
+
+echo "Running ftp script..."
+# use cygwin ftp rather than Windows ftp
+/usr/bin/ftp -v -i boost.cowic.de <posix.ftp
+
+echo POSIX snapshot complete!
diff --git a/tools/release/snapshot_windows.bat b/tools/release/snapshot_windows.bat
new file mode 100644
index 0000000000..af31d62610
--- /dev/null
+++ b/tools/release/snapshot_windows.bat
@@ -0,0 +1,75 @@
+rem Build a branches/release snapshot for Windows, using CRLF line termination
+
+rem Copyright 2008 Beman Dawes
+
+rem Distributed under the Boost Software License, Version 1.0.
+rem See http://www.boost.org/LICENSE_1_0.txt
+
+echo Build a branches/release snapshot for Windows, using CRLF line termination...
+echo Revision %BOOST_REVISION_NUMBER%
+
+echo Removing old files...
+rmdir /s /q windows >nul
+rmdir /s /q svn_info >nul
+del windows.7z >nul
+del windows.zip >nul
+
+echo Exporting files from subversion...
+svn export --non-interactive --native-eol CRLF -r %BOOST_REVISION_NUMBER% http://svn.boost.org/svn/boost/branches/release windows
+
+echo Copying docs into windows...
+pushd windows
+xcopy /s /y ..\docs_temp
+popd
+
+echo Setting SNAPSHOT_DATE
+strftime "%%Y-%%m-%%d" >date.txt
+set /p SNAPSHOT_DATE= <date.txt
+echo SNAPSHOT_DATE is %SNAPSHOT_DATE%
+
+echo Renaming root directory...
+ren windows boost-windows-%SNAPSHOT_DATE%
+
+echo Building .7z file...
+rem On Windows, 7z comes from the 7-Zip package, not Cygwin,
+rem so path must include C:\Program Files\7-Zip
+7z a -r windows.7z boost-windows-%SNAPSHOT_DATE%
+
+rem Building .zip file...
+rem zip -r windows.zip boost-windows-%SNAPSHOT_DATE%
+
+ren boost-windows-%SNAPSHOT_DATE% windows
+
+echo The ftp transfer will be done in two steps because that has proved more
+echo reliable on Beman's Windows XP 64-bit system.
+
+echo Creating ftp script 1 ...
+rem user.txt must be a single line: user userid password
+rem where "userid" and "password" are replace with the appropriate values
+copy user.txt windows.ftp
+echo dir >>windows.ftp
+echo binary >>windows.ftp
+
+rem echo put windows.zip >>windows.ftp
+rem echo mdelete boost-windows*.zip >>windows.ftp
+rem echo rename windows.zip boost-windows-%SNAPSHOT_DATE%.zip >>windows.ftp
+
+echo put windows.7z >>windows.ftp
+echo bye >>windows.ftp
+
+echo Running ftp script 1 ...
+ftp -n -i -s:windows.ftp boost.cowic.de
+
+echo Creating ftp script 2 ...
+copy user.txt windows.ftp
+echo dir >>windows.ftp
+echo mdelete boost-windows*.7z >>windows.ftp
+echo rename windows.7z boost-windows-%SNAPSHOT_DATE%.7z >>windows.ftp
+
+echo dir >>windows.ftp
+echo bye >>windows.ftp
+
+echo Running ftp script 2 ...
+ftp -n -i -s:windows.ftp boost.cowic.de
+
+echo Windows snapshot complete!
diff --git a/tools/release/snapshot_windows.sh b/tools/release/snapshot_windows.sh
new file mode 100755
index 0000000000..14de67f147
--- /dev/null
+++ b/tools/release/snapshot_windows.sh
@@ -0,0 +1,58 @@
+#!/usr/bin/env bash
+
+# Build a branches/release snapshot for Windows, using CRLF line termination
+
+# © Copyright 2008 Beman Dawes
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+
+# This script uses ftp, and thus assumes ~/.netrc contains a machine ... entry
+
+echo "Build a branches/release snapshot for Windows, using CRLF line termination..."
+
+echo "Removing old files..."
+rm -r -f windows
+
+echo "Exporting files from subversion..."
+svn export --non-interactive --native-eol CRLF http://svn.boost.org/svn/boost/branches/release windows
+
+#echo "Copying docs from posix tree..."
+#cp --recursive posix/doc/html windows/doc
+
+echo "Renaming..."
+SNAPSHOT_DATE=`eval date +%Y-%m-%d`
+echo SNAPSHOT_DATE is $SNAPSHOT_DATE
+mv windows boost-windows-$SNAPSHOT_DATE
+
+#rm -f windows.zip
+#zip -r windows.zip boost-windows-$SNAPSHOT_DATE
+
+echo "Building .7z..."
+rm -f windows.7z
+# On Windows, 7z comes from the 7-Zip package, not Cygwin,
+# so path must include C:\Program Files\7-Zip.
+7z a -r windows.7z boost-windows-$SNAPSHOT_DATE
+
+echo "Reverting name..."
+mv boost-windows-$SNAPSHOT_DATE windows
+
+echo "Creating ftp script..."
+cat <user.txt >>windows.ftp
+echo "dir" >>windows.ftp
+echo "binary" >>windows.ftp
+
+#echo "put windows.zip" >>windows.ftp
+#echo "mdelete boost-windows*.zip" >>windows.ftp
+#echo "rename windows.zip boost-windows-$SNAPSHOT_DATE.zip" >>windows.ftp
+
+echo "put windows.7z" >>windows.ftp
+echo "mdelete boost-windows*.7z" >>windows.ftp
+echo "rename windows.7z boost-windows-$SNAPSHOT_DATE.7z" >>windows.ftp
+echo "dir" >>windows.ftp
+echo "bye" >>windows.ftp
+
+echo "Running ftp script..."
+# This is the Windows ftp client
+ftp -n -i -d -s:windows.ftp boost.cowic.de
+
+echo "Windows snapshot complete!"
diff --git a/tools/release/strftime.cpp b/tools/release/strftime.cpp
new file mode 100644
index 0000000000..57d66099ae
--- /dev/null
+++ b/tools/release/strftime.cpp
@@ -0,0 +1,68 @@
+// Command line utility to output the date under control of a format string
+
+// Copyright 2008 Beman Dawes
+
+// Distributed under the Boost Software License, Version 1.0.
+// See http://www.boost.org/LICENSE_1_0.txt
+
+#define _CRT_SECURE_NO_WARNINGS
+
+#include <ctime>
+#include <string>
+#include <iostream>
+#include <cstdlib>
+
+using namespace std;
+
+int main(int argc, char * argv[])
+{
+ if (argc != 2 )
+ {
+ cerr <<
+ "Invoke: strftime format\n"
+ "Example: strftime \"The date is %Y-%m-%d in ISO format\""
+ "The format codes are:\n"
+ " %a Abbreviated weekday name\n"
+ " %A Full weekday name\n"
+ " %b Abbreviated month name\n"
+ " %B Full month name\n"
+ " %c Date and time representation appropriate for locale\n"
+ " %d Day of month as decimal number (01 - 31)\n"
+ " %H Hour in 24-hour format (00 - 23)\n"
+ " %I Hour in 12-hour format (01 - 12)\n"
+ " %j Day of year as decimal number (001 - 366)\n"
+ " %m Month as decimal number (01 - 12)\n"
+ " %M Minute as decimal number (00 - 59)\n"
+ " %p Current locale's A.M./P.M. indicator for 12-hour clock\n"
+ " %S Second as decimal number (00 - 59)\n"
+ " %U Week of year as decimal number, with Sunday as first day of week (00 - 53)\n"
+ " %w Weekday as decimal number (0 - 6; Sunday is 0)\n"
+ " %W Week of year as decimal number, with Monday as first day of week (00 - 53)\n"
+ " %x Date representation for current locale\n"
+ " %X Time representation for current locale\n"
+ " %y Year without century, as decimal number (00 - 99)\n"
+ " %Y Year with century, as decimal number\n"
+ " %z, %Z Either the time-zone name or time zone abbreviation, depending on registry settings; no characters if time zone is unknown\n"
+ " %% Percent sign\n"
+ ;
+ return 1;
+ }
+
+ string format = argv[1];
+ time_t t = time(0);
+ tm * tod = localtime(&t);
+ if (!tod)
+ {
+ cerr << "error: localtime function failed\n";
+ return 1;
+ }
+ char* s = new char [format.size() + 256];
+ if (strftime( s, format.size() + 256, format.c_str(), tod ) == 0 )
+ {
+ cerr << "error: buffer overflow\n";
+ return 1;
+ }
+
+ cout << s;
+ return 0;
+}
diff --git a/tools/release/unmerged.bat b/tools/release/unmerged.bat
new file mode 100644
index 0000000000..9a3581b8ab
--- /dev/null
+++ b/tools/release/unmerged.bat
@@ -0,0 +1,17 @@
+@echo off
+rem Copyright Beman Dawes 2009
+rem Distributed under the Boost Software License, Version 1.0. See http://www.boost.org/LICENSE_1_0.txt
+if not %1$==$ goto usage_ok
+echo Usage: unmerged library-name [svn-options]
+echo Options include --summarize to show paths only. i.e. suppresses line-by-line diffs
+goto done
+
+:usage_ok
+svn diff %2 %3 %4 %5 %6 http://svn.boost.org/svn/boost/branches/release/boost/%1.hpp ^
+ http://svn.boost.org/svn/boost/trunk/boost/%1.hpp
+svn diff %2 %3 %4 %5 %6 http://svn.boost.org/svn/boost/branches/release/boost/%1 ^
+ http://svn.boost.org/svn/boost/trunk/boost/%1
+svn diff %2 %3 %4 %5 %6 http://svn.boost.org/svn/boost/branches/release/libs/%1 ^
+ http://svn.boost.org/svn/boost/trunk/libs/%1
+
+:done
diff --git a/tools/release/unmerged_all.bat b/tools/release/unmerged_all.bat
new file mode 100644
index 0000000000..6bb19dd9f1
--- /dev/null
+++ b/tools/release/unmerged_all.bat
@@ -0,0 +1,86 @@
+rem Copyright Beman Dawes 2009
+rem Distributed under the Boost Software License, Version 1.0. See http://www.boost.org/LICENSE_1_0.txt
+call unmerged accumulators --summarize
+call unmerged algorithm --summarize
+call unmerged any --summarize
+call unmerged array --summarize
+call unmerged asio --summarize
+call unmerged assign --summarize
+call unmerged bimap --summarize
+call unmerged bind --summarize
+call unmerged circular_buffer --summarize
+call unmerged compatibility --summarize
+call unmerged compose --summarize
+call unmerged concept --summarize
+call unmerged concept_check --summarize
+call unmerged config --summarize
+call unmerged conversion --summarize
+call unmerged crc --summarize
+call unmerged date_time --summarize
+call unmerged detail --summarize
+call unmerged disjoint_sets --summarize
+call unmerged dynamic_bitset --summarize
+call unmerged exception --summarize
+call unmerged filesystem --summarize
+call unmerged flyweight --summarize
+call unmerged foreach --summarize
+call unmerged format --summarize
+call unmerged function --summarize
+call unmerged functional --summarize
+call unmerged function_types --summarize
+call unmerged fusion --summarize
+call unmerged gil --summarize
+call unmerged graph --summarize
+call unmerged graph_parallel --summarize
+call unmerged integer --summarize
+call unmerged interprocess --summarize
+call unmerged intrusive --summarize
+call unmerged io --summarize
+call unmerged iostreams --summarize
+call unmerged iterator --summarize
+call unmerged lambda --summarize
+call unmerged logic --summarize
+call unmerged math --summarize
+call unmerged mem_fn --summarize
+call unmerged mpi --summarize
+call unmerged mpl --summarize
+call unmerged multi_array --summarize
+call unmerged multi_index --summarize
+call unmerged numeric --summarize
+call unmerged optional --summarize
+call unmerged parameter --summarize
+call unmerged pool --summarize
+call unmerged preprocessor --summarize
+call unmerged program_options --summarize
+call unmerged property_map --summarize
+call unmerged property_tree --summarize
+call unmerged proto --summarize
+call unmerged ptr_container --summarize
+call unmerged python --summarize
+call unmerged random --summarize
+call unmerged range --summarize
+call unmerged rational --summarize
+call unmerged regex --summarize
+call unmerged scope_exit --summarize
+call unmerged serialization --summarize
+call unmerged signals --summarize
+call unmerged signals2 --summarize
+call unmerged smart_ptr --summarize
+call unmerged spirit --summarize
+call unmerged statechart --summarize
+call unmerged static_assert --summarize
+call unmerged system --summarize
+call unmerged test --summarize
+call unmerged thread --summarize
+call unmerged timer --summarize
+call unmerged tokenizer --summarize
+call unmerged tr1 --summarize
+call unmerged tuple --summarize
+call unmerged typeof --summarize
+call unmerged type_traits --summarize
+call unmerged units --summarize
+call unmerged unordered --summarize
+call unmerged utility --summarize
+call unmerged variant --summarize
+call unmerged wave --summarize
+call unmerged xpressive --summarize
diff --git a/tools/release/unmerged_whatever.bat b/tools/release/unmerged_whatever.bat
new file mode 100644
index 0000000000..d49e468b2e
--- /dev/null
+++ b/tools/release/unmerged_whatever.bat
@@ -0,0 +1,13 @@
+@echo off
+rem Copyright Beman Dawes 2011
+rem Distributed under the Boost Software License, Version 1.0. See http://www.boost.org/LICENSE_1_0.txt
+if not %1$==$ goto usage_ok
+echo Usage: unmerged_whatever path-from-root [svn-options]
+echo Options include --summarize to show paths only. i.e. suppresses line-by-line diffs
+goto done
+
+:usage_ok
+svn diff %2 %3 %4 %5 %6 http://svn.boost.org/svn/boost/branches/release/%1 ^
+ http://svn.boost.org/svn/boost/trunk/%1
+
+:done
diff --git a/tools/release/upload2sourceforge.bat b/tools/release/upload2sourceforge.bat
new file mode 100644
index 0000000000..f16a2e809b
--- /dev/null
+++ b/tools/release/upload2sourceforge.bat
@@ -0,0 +1,13 @@
+rem Copyright Beman Dawes 2009
+rem Distributed under the Boost Software License, Version 1.0. See http://www.boost.org/LICENSE_1_0.txt
+if not %1$==$ goto usage_ok
+echo Usage: upload2sourceforge release-folder
+echo Example: upload2sourceforge 1.40.0
+goto done
+
+:usage_ok
+dir boost_*
+pause Are these the correct files to upload? [Ctrl-C to interrupt]
+rsync -avP -e ssh boost_* beman_dawes,boost@frs.sourceforge.net:/home/frs/project/b/bo/boost/boost/%1/
+
+:done