diff options
Diffstat (limited to '3rdparty/asio/release.pl')
-rw-r--r-- | 3rdparty/asio/release.pl | 439 |
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(); -} |