summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/asio/release.pl
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/asio/release.pl')
-rw-r--r--3rdparty/asio/release.pl439
1 files changed, 0 insertions, 439 deletions
diff --git a/3rdparty/asio/release.pl b/3rdparty/asio/release.pl
deleted file mode 100644
index 332760c8d8f..00000000000
--- a/3rdparty/asio/release.pl
+++ /dev/null
@@ -1,439 +0,0 @@
-#!/usr/bin/perl -w
-
-use strict;
-use Cwd qw(abs_path getcwd);
-use Date::Format;
-use File::Path;
-use File::Copy;
-use File::Basename;
-
-our $version_major;
-our $version_minor;
-our $version_sub_minor;
-our $asio_name;
-our $boost_asio_name;
-
-sub print_usage_and_exit
-{
- print("usage: ./release.pl <version>\n");
- print(" or: ./release.pl --package-asio\n");
- print("\n");
- print("examples:\n");
- print(" create new version and build packages for asio and boost.asio:\n");
- print(" ./release.pl 1.2.0\n");
- print(" create packages for asio only:\n");
- print(" ./release.pl --package-asio\n");
- exit(1);
-}
-
-sub determine_version($)
-{
- my $version_string = shift;
- if ($version_string =~ /^([0-9]+)\.([0-9]+)\.([0-9]+)$/)
- {
- our $version_major = $1;
- our $version_minor = $2;
- our $version_sub_minor = $3;
-
- our $asio_name = "asio";
- $asio_name .= "-$version_major";
- $asio_name .= ".$version_minor";
- $asio_name .= ".$version_sub_minor";
-
- our $boost_asio_name = "boost_asio";
- $boost_asio_name .= "_$version_major";
- $boost_asio_name .= "_$version_minor";
- $boost_asio_name .= "_$version_sub_minor";
- }
- else
- {
- print_usage_and_exit();
- }
-}
-
-sub determine_version_from_configure()
-{
- my $from = "configure.ac";
- open(my $input, "<$from") or die("Can't open $from for reading");
- while (my $line = <$input>)
- {
- chomp($line);
- if ($line =~ /^AC_INIT\(asio.*\[(.*)\]\)$/)
- {
- our $asio_name = "asio-$1";
- our $boost_asio_name = "boost_asio_$1";
- last;
- }
- }
-}
-
-sub update_configure_ac
-{
- # Open the files.
- my $from = "configure.ac";
- my $to = $from . ".tmp";
- open(my $input, "<$from") or die("Can't open $from for reading");
- open(my $output, ">$to") or die("Can't open $to for writing");
-
- # Copy the content.
- while (my $line = <$input>)
- {
- chomp($line);
- if ($line =~ /^AC_INIT\(asio.*\)$/)
- {
- $line = "AC_INIT(asio, [";
- $line .= "$version_major.$version_minor.$version_sub_minor";
- $line .= "])";
- }
- print($output "$line\n");
- }
-
- # Close the files and move the temporary output into position.
- close($input);
- close($output);
- move($to, $from);
- unlink($to);
-}
-
-sub update_readme
-{
- # Open the files.
- my $from = "README";
- my $to = $from . ".tmp";
- open(my $input, "<$from") or die("Can't open $from for reading");
- open(my $output, ">$to") or die("Can't open $to for writing");
-
- # Copy the content.
- while (my $line = <$input>)
- {
- chomp($line);
- if ($line =~ /^asio version/)
- {
- $line = "asio version ";
- $line .= "$version_major.$version_minor.$version_sub_minor";
- }
- elsif ($line =~ /^Released/)
- {
- my @time = localtime;
- $line = "Released " . strftime("%A, %d %B %Y", @time) . ".";
- }
- print($output "$line\n");
- }
-
- # Close the files and move the temporary output into position.
- close($input);
- close($output);
- move($to, $from);
- unlink($to);
-}
-
-sub update_asio_version_hpp
-{
- # Open the files.
- my $from = "include/asio/version.hpp";
- my $to = $from . ".tmp";
- open(my $input, "<$from") or die("Can't open $from for reading");
- open(my $output, ">$to") or die("Can't open $to for writing");
-
- # Copy the content.
- while (my $line = <$input>)
- {
- chomp($line);
- if ($line =~ /^#define ASIO_VERSION /)
- {
- my $version = $version_major * 100000;
- $version += $version_minor * 100;
- $version += $version_sub_minor + 0;
- $line = "#define ASIO_VERSION " . $version;
- $line .= " // $version_major.$version_minor.$version_sub_minor";
- }
- print($output "$line\n");
- }
-
- # Close the files and move the temporary output into position.
- close($input);
- close($output);
- move($to, $from);
- unlink($to);
-}
-
-sub update_boost_asio_version_hpp
-{
- # Open the files.
- my $from = "../boost/boost/asio/version.hpp";
- my $to = $from . ".tmp";
- open(my $input, "<$from") or die("Can't open $from for reading");
- open(my $output, ">$to") or die("Can't open $to for writing");
-
- # Copy the content.
- while (my $line = <$input>)
- {
- chomp($line);
- if ($line =~ /^#define BOOST_ASIO_VERSION /)
- {
- my $version = $version_major * 100000;
- $version += $version_minor * 100;
- $version += $version_sub_minor + 0;
- $line = "#define BOOST_ASIO_VERSION " . $version;
- $line .= " // $version_major.$version_minor.$version_sub_minor";
- }
- print($output "$line\n");
- }
-
- # Close the files and move the temporary output into position.
- close($input);
- close($output);
- move($to, $from);
- unlink($to);
-}
-
-sub build_asio_doc
-{
- $ENV{BOOST_ROOT} = abs_path("../boost");
- system("rm -rf doc");
- my $bjam = abs_path(glob("../boost/bjam"));
- chdir("src/doc");
- system("$bjam clean");
- system("rm -rf html");
- system("$bjam");
- chdir("../..");
- mkdir("doc");
- system("cp -vR src/doc/html/* doc");
-}
-
-sub build_example_diffs
-{
- my @cpp11_files = `find src/examples/cpp11 -type f -name "*.*pp"`;
- foreach my $cpp11_file (@cpp11_files)
- {
- chomp($cpp11_file);
-
- my $cpp03_file = $cpp11_file;
- $cpp03_file =~ s/\/cpp11\//\/cpp03\//;
- my $output_diff = $cpp11_file;
- $output_diff =~ s/src\/examples\/cpp11\///g;
- my ($output_diff_name, $output_dir) = fileparse($output_diff);
- my $output_html = $output_diff . ".html";
-
- mkpath("doc/examples/diffs/$output_dir");
- system("diff -U1000000 $cpp03_file $cpp11_file > doc/examples/diffs/$output_diff");
- system("cd doc/examples/diffs && diff2html.py -i $output_diff -o $output_html");
- unlink("doc/examples/diffs/$output_diff");
- }
-}
-
-sub make_asio_packages
-{
- our $asio_name;
- system("./autogen.sh");
- system("./configure");
- system("make dist");
- system("tar tfz $asio_name.tar.gz | sed -e 's/^[^\\/]*//' | sort -df > asio.manifest");
-}
-
-sub build_boost_asio_doc
-{
- my $cwd = getcwd();
- my $bjam = abs_path(glob("../boost/bjam"));
- chdir("../boost/doc");
- system("$bjam clean");
- system("rm -rf html/boost_asio");
- system("$bjam asio");
- chdir($cwd);
-}
-
-our $boost_asio_readme = <<"EOF";
-Copy the `boost', `doc' and `libs' directories into an existing boost 1.33.0,
-1.33.1, 1.34, 1.34.1, 1.35 or 1.36 distribution.
-
-Before using Boost.Asio, the Boost.System library needs to be built. This can
-be done by running bjam in the libs/system/build directory. Consult the Boost
-Getting Started page (http://www.boost.org/more/getting_started.html) for more
-information on how to build the Boost libraries.
-EOF
-
-our $boost_system_jamfile = <<"EOF";
-# Boost System Library Build Jamfile
-
-# (C) Copyright Beman Dawes 2002, 2006
-
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or www.boost.org/LICENSE_1_0.txt)
-
-# See library home page at http://www.boost.org/libs/system
-
-subproject libs/system/build ;
-
-SOURCES = error_code ;
-
-lib boost_system
- : ../src/$(SOURCES).cpp
- : # build requirements
- <define>BOOST_SYSTEM_STATIC_LINK
- <sysinclude>$(BOOST_AUX_ROOT) <sysinclude>$(BOOST_ROOT)
- # common-variant-tag ensures that the library will
- # be named according to the rules used by the install
- # and auto-link features:
- common-variant-tag
- : debug release # build variants
- ;
-
-dll boost_system
- : ../src/$(SOURCES).cpp
- : # build requirements
- <define>BOOST_SYSTEM_DYN_LINK=1 # tell source we're building dll's
- <runtime-link>dynamic # build only for dynamic runtimes
- <sysinclude>$(BOOST_AUX_ROOT) <sysinclude>$(BOOST_ROOT)
- # common-variant-tag ensures that the library will
- # be named according to the rules used by the install
- # and auto-link features:
- common-variant-tag
- : debug release # build variants
- ;
-
-install system lib
- : <lib>boost_system <dll>boost_system
- ;
-
-stage stage/lib : <lib>boost_system <dll>boost_system
- :
- # copy to a path rooted at BOOST_ROOT:
- <locate>$(BOOST_ROOT)
- # make sure the names of the libraries are correctly named:
- common-variant-tag
- # add this target to the "stage" and "all" psuedo-targets:
- <target>stage
- <target>all
- :
- debug release
- ;
-
-# end
-EOF
-
-sub create_boost_asio_content
-{
- # Create directory structure.
- system("rm -rf $boost_asio_name");
- mkdir("$boost_asio_name");
- mkdir("$boost_asio_name/doc");
- mkdir("$boost_asio_name/doc/html");
- mkdir("$boost_asio_name/boost");
- mkdir("$boost_asio_name/boost/config");
- mkdir("$boost_asio_name/libs");
-
- # Copy files.
- system("cp -vLR ../boost/doc/html/boost_asio.html $boost_asio_name/doc/html");
- system("cp -vLR ../boost/doc/html/boost_asio $boost_asio_name/doc/html");
- system("cp -vLR ../boost/boost/asio.hpp $boost_asio_name/boost");
- system("cp -vLR ../boost/boost/asio $boost_asio_name/boost");
- system("cp -vLR ../boost/boost/cerrno.hpp $boost_asio_name/boost");
- system("cp -vLR ../boost/boost/config/warning_disable.hpp $boost_asio_name/boost/config");
- system("cp -vLR ../boost/boost/system $boost_asio_name/boost");
- system("cp -vLR ../boost/libs/asio $boost_asio_name/libs");
- system("cp -vLR ../boost/libs/system $boost_asio_name/libs");
-
- # Remove modular boost include directories.
- system("rm -rf $boost_asio_name/libs/asio/include");
- system("rm -rf $boost_asio_name/libs/system/include");
-
- # Add dummy definitions of BOOST_SYMBOL* to boost/system/config.hpp.
- my $from = "$boost_asio_name/boost/system/config.hpp";
- my $to = "$boost_asio_name/boost/system/config.hpp.new";
- open(my $input, "<$from") or die("Can't open $from for reading");
- open(my $output, ">$to") or die("Can't open $to for writing");
- while (my $line = <$input>)
- {
- print($output $line);
- if ($line =~ /<boost\/config\.hpp>/)
- {
- print($output "\n// These #defines added by the separate Boost.Asio package.\n");
- print($output "#if !defined(BOOST_SYMBOL_IMPORT)\n");
- print($output "# if defined(BOOST_HAS_DECLSPEC)\n");
- print($output "# define BOOST_SYMBOL_IMPORT __declspec(dllimport)\n");
- print($output "# else // defined(BOOST_HAS_DECLSPEC)\n");
- print($output "# define BOOST_SYMBOL_IMPORT\n");
- print($output "# endif // defined(BOOST_HAS_DECLSPEC)\n");
- print($output "#endif // !defined(BOOST_SYMBOL_IMPORT)\n");
- print($output "#if !defined(BOOST_SYMBOL_EXPORT)\n");
- print($output "# if defined(BOOST_HAS_DECLSPEC)\n");
- print($output "# define BOOST_SYMBOL_EXPORT __declspec(dllexport)\n");
- print($output "# else // defined(BOOST_HAS_DECLSPEC)\n");
- print($output "# define BOOST_SYMBOL_EXPORT\n");
- print($output "# endif // defined(BOOST_HAS_DECLSPEC)\n");
- print($output "#endif // !defined(BOOST_SYMBOL_EXPORT)\n");
- print($output "#if !defined(BOOST_SYMBOL_VISIBLE)\n");
- print($output "# define BOOST_SYMBOL_VISIBLE\n");
- print($output "#endif // !defined(BOOST_SYMBOL_VISIBLE)\n\n");
- }
- }
- close($input);
- close($output);
- system("mv $to $from");
-
- # Create readme.
- $to = "$boost_asio_name/README.txt";
- open($output, ">$to") or die("Can't open $to for writing");
- print($output $boost_asio_readme);
- close($output);
-
- # Create Boost.System Jamfile.
- $to = "$boost_asio_name/libs/system/build/Jamfile";
- open($output, ">$to") or die("Can't open $to for writing");
- print($output $boost_system_jamfile);
- close($output);
-
- # Remove SVN and git files.
- system("find $boost_asio_name -name .svn -exec rm -rf {} \\;");
- system("find $boost_asio_name -name .git -exec rm -rf {} \\;");
- system("find $boost_asio_name -name .gitignore -exec rm -rf {} \\;");
- system("find $boost_asio_name -name .gitattributes -exec rm -rf {} \\;");
-}
-
-sub make_boost_asio_packages
-{
- our $boost_asio_name;
- system("tar --format=ustar -chf - $boost_asio_name | gzip -c >$boost_asio_name.tar.gz");
- system("tar --format=ustar -chf - $boost_asio_name | bzip2 -9 -c >$boost_asio_name.tar.bz2");
- system("rm -f $boost_asio_name.zip");
- system("zip -rq $boost_asio_name.zip $boost_asio_name");
- system("rm -rf $boost_asio_name");
- system("tar tfz $boost_asio_name.tar.gz | sed -e 's/^[^\\/]*//' | sort -df > boost_asio.manifest");
-}
-
-(scalar(@ARGV) == 1) or print_usage_and_exit();
-my $new_version = 1;
-my $package_asio = 1;
-my $package_boost = 1;
-if ($ARGV[0] eq "--package-asio")
-{
- $new_version = 0;
- $package_boost = 0;
-}
-
-if ($new_version)
-{
- determine_version($ARGV[0]);
- update_configure_ac();
- update_readme();
- update_asio_version_hpp();
- update_boost_asio_version_hpp();
-}
-else
-{
- determine_version_from_configure();
-}
-
-if ($package_asio)
-{
- build_asio_doc();
- build_example_diffs();
- make_asio_packages();
-}
-
-if ($package_boost)
-{
- build_boost_asio_doc();
- create_boost_asio_content();
- make_boost_asio_packages();
-}