[mingw-boost: 2/48] import from review
epienbro
epienbro at fedoraproject.org
Wed Mar 7 15:42:34 UTC 2012
commit 8aa88ea5075ae3ac96b2a5745018e7bb304798df
Author: sailer <sailer at fedoraproject.org>
Date: Wed Jun 17 17:31:34 2009 +0000
import from review
.cvsignore | 1 +
boost-1_37_0-smp.patch | 12 ++
boost-bitset.patch | 15 ++
boost-configure.patch | 38 +++++
boost-function_template.patch | 14 ++
boost-gcc-implib.patch | 48 ++++++
boost-gcc43.patch | 157 ++++++++++++++++++
boost-regexdll.patch | 12 ++
boost-run-tests.patch | 168 +++++++++++++++++++
boost-unneccessary_iostreams.patch | 11 ++
mingw32-boost.spec | 310 ++++++++++++++++++++++++++++++++++++
sources | 1 +
12 files changed, 787 insertions(+), 0 deletions(-)
---
diff --git a/.cvsignore b/.cvsignore
index e69de29..0f28482 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -0,0 +1 @@
+boost_1_37_0.tar.bz2
diff --git a/boost-1_37_0-smp.patch b/boost-1_37_0-smp.patch
new file mode 100644
index 0000000..b753bea
--- /dev/null
+++ b/boost-1_37_0-smp.patch
@@ -0,0 +1,12 @@
+diff -up boost_1_37_0/configure.smp boost_1_37_0/configure
+--- boost_1_37_0/configure.smp 2009-02-05 18:49:01.000000000 +0100
++++ boost_1_37_0/configure 2009-02-05 18:53:55.000000000 +0100
+@@ -347,7 +347,7 @@ LIBS=$LIBS
+
+ all: .dummy
+ @echo "\$(BJAM) \$(BJAM_CONFIG) --user-config=user-config.jam \$(LIBS) stage"
+- @\$(BJAM) \$(BJAM_CONFIG) --user-config=user-config.jam \$(LIBS) stage || \\
++ @\$(BJAM) \$(BJAM_CONFIG) --user-config=user-config.jam \$(LIBS) !!!SMP_FLAGS!!! stage || \\
+ echo "Not all Boost libraries built properly."
+
+ clean: .dummy
diff --git a/boost-bitset.patch b/boost-bitset.patch
new file mode 100644
index 0000000..1d354aa
--- /dev/null
+++ b/boost-bitset.patch
@@ -0,0 +1,15 @@
+--- boost_1_37_0/boost/dynamic_bitset/dynamic_bitset.hpp.debug 2008-10-22 03:13:59.000000000 +0900
++++ boost_1_37_0/boost/dynamic_bitset/dynamic_bitset.hpp 2009-03-23 03:36:40.000000000 +0900
+@@ -1017,8 +1017,11 @@
+ ? access_by_bytes
+ : access_by_blocks;
+
++ if (mode)
++ return do_count(m_bits.begin(), num_blocks(), Block(0),
++ static_cast<value_to_type<true> *>(0));
+ return do_count(m_bits.begin(), num_blocks(), Block(0),
+- static_cast<value_to_type<mode> *>(0));
++ static_cast<value_to_type<false> *>(0));
+ }
+
+
diff --git a/boost-configure.patch b/boost-configure.patch
new file mode 100644
index 0000000..91e8508
--- /dev/null
+++ b/boost-configure.patch
@@ -0,0 +1,38 @@
+*** configure.orig 2007-01-16 01:39:00.000000000 +0100
+--- configure 2007-01-19 03:53:08.000000000 +0100
+***************
+*** 9,15 ****
+
+ BJAM=""
+ TOOLSET=""
+! BJAM_CONFIG=""
+ BUILD=""
+ PREFIX=/usr/local
+ EPREFIX=
+--- 9,15 ----
+
+ BJAM=""
+ TOOLSET=""
+! BJAM_CONFIG="-d2 --layout=system variant=release threading=single,multi debug-symbols=on"
+ BUILD=""
+ PREFIX=/usr/local
+ EPREFIX=
+*************** INCLUDEDIR=$INCLUDEDIR
+*** 325,332 ****
+ LIBS=$LIBS
+
+ all: .dummy
+! @echo "\$(BJAM) \$(BJAM_CONFIG) --user-config=user-config.jam \$(LIBS)"
+! @\$(BJAM) \$(BJAM_CONFIG) --user-config=user-config.jam \$(LIBS) || \\
+ echo "Not all Boost libraries built properly."
+
+ clean: .dummy
+--- 325,332 ----
+ LIBS=$LIBS
+
+ all: .dummy
+! @echo "\$(BJAM) \$(BJAM_CONFIG) --user-config=user-config.jam \$(LIBS) stage"
+! @\$(BJAM) \$(BJAM_CONFIG) --user-config=user-config.jam \$(LIBS) stage || \\
+ echo "Not all Boost libraries built properly."
+
+ clean: .dummy
diff --git a/boost-function_template.patch b/boost-function_template.patch
new file mode 100644
index 0000000..fa57836
--- /dev/null
+++ b/boost-function_template.patch
@@ -0,0 +1,14 @@
+--- boost/function/function_template.hpp.orig 2008-12-19 10:32:27.000000000 +0000
++++ boost/function/function_template.hpp 2008-12-19 10:33:27.000000000 +0000
+@@ -950,10 +950,10 @@
+ f.vtable->manager(f.functor, this->functor,
+ boost::detail::function::move_functor_tag);
+ f.vtable = 0;
+-#if !defined(BOOST_NO_EXCEPTIONS)
+ } else {
+ clear();
+ }
++#if !defined(BOOST_NO_EXCEPTIONS)
+ } catch (...) {
+ vtable = 0;
+ throw;
diff --git a/boost-gcc-implib.patch b/boost-gcc-implib.patch
new file mode 100644
index 0000000..ff2f383
--- /dev/null
+++ b/boost-gcc-implib.patch
@@ -0,0 +1,48 @@
+--- ./tools/build/v2/tools/gcc.jam.x 2009-05-28 09:26:23.000000000 +0200
++++ ./tools/build/v2/tools/gcc.jam 2009-05-28 09:28:46.000000000 +0200
+@@ -501,34 +501,17 @@
+ }
+ }
+
+-.IMPLIB-COMMAND = ;
+-if [ os.on-windows ]
+-{
+- .IMPLIB-COMMAND = "-Wl,--out-implib," ;
+- generators.register
+- [ new gcc-linking-generator gcc.link
+- : OBJ SEARCHED_LIB STATIC_LIB IMPORT_LIB
+- : EXE
+- : <toolset>gcc ] ;
+- generators.register
+- [ new gcc-linking-generator gcc.link.dll
+- : OBJ SEARCHED_LIB STATIC_LIB IMPORT_LIB
+- : IMPORT_LIB SHARED_LIB
+- : <toolset>gcc ] ;
+-}
+-else
+-{
+- generators.register
+- [ new gcc-linking-generator gcc.link
+- : LIB OBJ
+- : EXE
+- : <toolset>gcc ] ;
+- generators.register
+- [ new gcc-linking-generator gcc.link.dll
+- : LIB OBJ
+- : SHARED_LIB
+- : <toolset>gcc ] ;
+-}
++.IMPLIB-COMMAND = "-Wl,--out-implib," ;
++generators.register
++ [ new gcc-linking-generator gcc.link
++ : OBJ SEARCHED_LIB STATIC_LIB IMPORT_LIB
++ : EXE
++ : <toolset>gcc ] ;
++generators.register
++ [ new gcc-linking-generator gcc.link.dll
++ : OBJ SEARCHED_LIB STATIC_LIB IMPORT_LIB
++ : IMPORT_LIB SHARED_LIB
++ : <toolset>gcc ] ;
+
+ # Declare flags for linking.
+ # First, the common flags.
diff --git a/boost-gcc43.patch b/boost-gcc43.patch
new file mode 100644
index 0000000..7b1f999
--- /dev/null
+++ b/boost-gcc43.patch
@@ -0,0 +1,157 @@
+diff -urp boost_1_36_0_beta1-orig/boost/archive/polymorphic_iarchive.hpp boost_1_36_0_beta1/boost/archive/polymorphic_iarchive.hpp
+--- boost_1_36_0_beta1-orig/boost/archive/polymorphic_iarchive.hpp 2008-08-11 23:49:44.000000000 +0200
++++ boost_1_36_0_beta1/boost/archive/polymorphic_iarchive.hpp 2008-08-11 23:50:38.000000000 +0200
+@@ -35,6 +35,8 @@ namespace std{
+ #include <boost/serialization/nvp.hpp>
+ #include <boost/archive/detail/register_archive.hpp>
+
++#include <limits.h>
++
+ // determine if its necessary to handle (u)int64_t specifically
+ // i.e. that its not a synonym for (unsigned) long
+ // if there is no 64 bit int or if its the same as a long
+Only in boost_1_36_0_beta1/boost/archive: polymorphic_iarchive.hpp.orig
+diff -urp boost_1_36_0_beta1-orig/boost/archive/polymorphic_oarchive.hpp boost_1_36_0_beta1/boost/archive/polymorphic_oarchive.hpp
+--- boost_1_36_0_beta1-orig/boost/archive/polymorphic_oarchive.hpp 2008-08-11 23:49:44.000000000 +0200
++++ boost_1_36_0_beta1/boost/archive/polymorphic_oarchive.hpp 2008-08-11 23:50:38.000000000 +0200
+@@ -34,6 +34,8 @@ namespace std{
+ #include <boost/serialization/nvp.hpp>
+ #include <boost/archive/detail/register_archive.hpp>
+
++#include <limits.h>
++
+ // determine if its necessary to handle (u)int64_t specifically
+ // i.e. that its not a synonym for (unsigned) long
+ // if there is no 64 bit int or if its the same as a long
+Only in boost_1_36_0_beta1/boost/archive: polymorphic_oarchive.hpp.orig
+diff -urp boost_1_36_0_beta1-orig/boost/date_time/tz_db_base.hpp boost_1_36_0_beta1/boost/date_time/tz_db_base.hpp
+--- boost_1_36_0_beta1-orig/boost/date_time/tz_db_base.hpp 2008-08-11 23:49:45.000000000 +0200
++++ boost_1_36_0_beta1/boost/date_time/tz_db_base.hpp 2008-08-11 23:50:38.000000000 +0200
+@@ -158,7 +158,7 @@ namespace boost {
+ typedef typename time_zone_type::base_type time_zone_base_type;
+ typedef typename time_zone_type::time_duration_type time_duration_type;
+ typedef time_zone_names_base<char_type> time_zone_names;
+- typedef dst_adjustment_offsets<time_duration_type> dst_adjustment_offsets;
++ typedef dst_adjustment_offsets<time_duration_type> dst_adjustment_offsets_t;
+ typedef std::basic_string<char_type> string_type;
+
+ //! Constructs an empty database
+@@ -346,18 +346,18 @@ namespace boost {
+ time_duration_type utc_offset =
+ str_from_delimited_time_duration<time_duration_type,char_type>(result[GMTOFFSET]);
+
+- dst_adjustment_offsets adjust(time_duration_type(0,0,0),
+- time_duration_type(0,0,0),
+- time_duration_type(0,0,0));
++ dst_adjustment_offsets_t adjust(time_duration_type(0,0,0),
++ time_duration_type(0,0,0),
++ time_duration_type(0,0,0));
+
+ boost::shared_ptr<rule_type> rules;
+
+ if(has_dst){
+- adjust = dst_adjustment_offsets(
+- str_from_delimited_time_duration<time_duration_type,char_type>(result[DSTADJUST]),
+- str_from_delimited_time_duration<time_duration_type,char_type>(result[START_TIME]),
+- str_from_delimited_time_duration<time_duration_type,char_type>(result[END_TIME])
+- );
++ adjust = dst_adjustment_offsets_t(
++ str_from_delimited_time_duration<time_duration_type,char_type>(result[DSTADJUST]),
++ str_from_delimited_time_duration<time_duration_type,char_type>(result[START_TIME]),
++ str_from_delimited_time_duration<time_duration_type,char_type>(result[END_TIME])
++ );
+
+ rules =
+ boost::shared_ptr<rule_type>(parse_rules(result[START_DATE_RULE],
+Only in boost_1_36_0_beta1/boost/date_time: tz_db_base.hpp.orig
+diff -urp boost_1_36_0_beta1-orig/boost/regex/v4/basic_regex_creator.hpp boost_1_36_0_beta1/boost/regex/v4/basic_regex_creator.hpp
+--- boost_1_36_0_beta1-orig/boost/regex/v4/basic_regex_creator.hpp 2008-08-11 23:49:48.000000000 +0200
++++ boost_1_36_0_beta1/boost/regex/v4/basic_regex_creator.hpp 2008-08-11 23:50:38.000000000 +0200
+@@ -36,6 +36,8 @@
+ # pragma warning(disable: 4800)
+ #endif
+
++#include <limits.h>
++
+ namespace boost{
+
+ namespace re_detail{
+Only in boost_1_36_0_beta1/boost/regex/v4: basic_regex_creator.hpp.orig
+diff -urp boost_1_36_0_beta1-orig/boost/regex/v4/basic_regex.hpp boost_1_36_0_beta1/boost/regex/v4/basic_regex.hpp
+--- boost_1_36_0_beta1-orig/boost/regex/v4/basic_regex.hpp 2008-08-11 23:49:48.000000000 +0200
++++ boost_1_36_0_beta1/boost/regex/v4/basic_regex.hpp 2008-08-11 23:50:38.000000000 +0200
+@@ -30,6 +30,8 @@
+ #pragma warning(pop)
+ #endif
+
++#include <limits.h>
++
+ namespace boost{
+ #ifdef BOOST_MSVC
+ #pragma warning(push)
+Only in boost_1_36_0_beta1/boost/regex/v4: basic_regex.hpp.orig
+diff -urp boost_1_36_0_beta1-orig/boost/regex/v4/basic_regex_parser.hpp boost_1_36_0_beta1/boost/regex/v4/basic_regex_parser.hpp
+--- boost_1_36_0_beta1-orig/boost/regex/v4/basic_regex_parser.hpp 2008-08-11 23:49:48.000000000 +0200
++++ boost_1_36_0_beta1/boost/regex/v4/basic_regex_parser.hpp 2008-08-11 23:50:38.000000000 +0200
+@@ -30,6 +30,8 @@
+ #pragma warning(pop)
+ #endif
+
++#include <limits.h>
++
+ namespace boost{
+ namespace re_detail{
+
+Only in boost_1_36_0_beta1/boost/regex/v4: basic_regex_parser.hpp.orig
+diff -urp boost_1_36_0_beta1-orig/boost/regex/v4/perl_matcher.hpp boost_1_36_0_beta1/boost/regex/v4/perl_matcher.hpp
+--- boost_1_36_0_beta1-orig/boost/regex/v4/perl_matcher.hpp 2008-08-11 23:49:48.000000000 +0200
++++ boost_1_36_0_beta1/boost/regex/v4/perl_matcher.hpp 2008-08-11 23:50:38.000000000 +0200
+@@ -30,6 +30,8 @@
+ # pragma warning(disable: 4800)
+ #endif
+
++#include <limits.h>
++
+ namespace boost{
+ namespace re_detail{
+
+Only in boost_1_36_0_beta1/boost/regex/v4: perl_matcher.hpp.orig
+diff -urp boost_1_36_0_beta1-orig/boost/regex/v4/regex_split.hpp boost_1_36_0_beta1/boost/regex/v4/regex_split.hpp
+--- boost_1_36_0_beta1-orig/boost/regex/v4/regex_split.hpp 2008-08-11 23:49:48.000000000 +0200
++++ boost_1_36_0_beta1/boost/regex/v4/regex_split.hpp 2008-08-11 23:50:38.000000000 +0200
+@@ -21,6 +21,8 @@
+ #ifndef BOOST_REGEX_SPLIT_HPP
+ #define BOOST_REGEX_SPLIT_HPP
+
++#include <limits.h>
++
+ namespace boost{
+
+ #ifdef BOOST_MSVC
+Only in boost_1_36_0_beta1/boost/regex/v4: regex_split.hpp.orig
+diff -urp boost_1_36_0_beta1-orig/boost/regex/v4/states.hpp boost_1_36_0_beta1/boost/regex/v4/states.hpp
+--- boost_1_36_0_beta1-orig/boost/regex/v4/states.hpp 2008-08-11 23:49:48.000000000 +0200
++++ boost_1_36_0_beta1/boost/regex/v4/states.hpp 2008-08-11 23:50:38.000000000 +0200
+@@ -30,6 +30,8 @@
+ #pragma warning(pop)
+ #endif
+
++#include <limits.h>
++
+ namespace boost{
+ namespace re_detail{
+
+Only in boost_1_36_0_beta1/boost/regex/v4: states.hpp.orig
+diff -urp boost_1_36_0_beta1-orig/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp boost_1_36_0_beta1/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp
+--- boost_1_36_0_beta1-orig/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp 2008-08-11 23:49:45.000000000 +0200
++++ boost_1_36_0_beta1/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp 2008-08-11 23:50:38.000000000 +0200
+@@ -16,6 +16,8 @@
+ #include <string>
+ #include <cstdio>
+ #include <cstdarg>
++#include <cstring>
++
+ #if defined(BOOST_SPIRIT_DEBUG)
+ #include <iostream>
+ #endif // defined(BOOST_SPIRIT_DEBUG)
+Only in boost_1_36_0_beta1/boost/wave/cpplexer/re2clex: cpp_re2c_lexer.hpp.orig
diff --git a/boost-regexdll.patch b/boost-regexdll.patch
new file mode 100644
index 0000000..5365dfd
--- /dev/null
+++ b/boost-regexdll.patch
@@ -0,0 +1,12 @@
+--- libs/regex/build/Jamfile.v2.orig 2009-05-29 05:12:31.000000000 +0200
++++ libs/regex/build/Jamfile.v2 2009-05-29 05:12:58.000000000 +0200
+@@ -255,9 +255,6 @@
+ #<link>static:<define>BOOST_REGEX_NO_LIB=1
+ #<link>static:<define>BOOST_REGEX_STATIC_LINK=1
+ <link>shared:<define>BOOST_REGEX_DYN_LINK=1
+- <toolset>gcc-mw:<link>static
+- <toolset>gcc-mingw:<link>static
+- <toolset>gcc-cygwin:<link>static
+ $(BOOST_REGEX_ICU_OPTS)
+ ;
+
diff --git a/boost-run-tests.patch b/boost-run-tests.patch
new file mode 100644
index 0000000..adcc5f2
--- /dev/null
+++ b/boost-run-tests.patch
@@ -0,0 +1,168 @@
+*** tools/regression/src/run_tests.sh.orig 2007-07-31 19:44:25.000000000 -0500
+--- tools/regression/src/run_tests.sh 2007-08-01 12:17:25.000000000 -0500
+***************
+*** 15,21 ****
+ # This can be either a non-exitent directory or an already complete Boost
+ # source tree.
+ #
+! boost_root="$HOME/CVSROOTs/Boost/boost_regression"
+
+ #
+ # Wether to fetch the most current Boost code from CVS (yes/no):
+--- 15,21 ----
+ # This can be either a non-exitent directory or an already complete Boost
+ # source tree.
+ #
+! boost_root="/usr/src/redhat/BUILD/boost_1_34_1"
+
+ #
+ # Wether to fetch the most current Boost code from CVS (yes/no):
+*************** test_tools=gcc
+*** 42,58 ****
+ toolset=gcc
+
+ #
+- # "comment_path" is the path to an html-file describing the test environment.
+- # The content of this file will be embedded in the status pages being produced.
+- #
+- comment_path="$boost_root/../regression_comment.html"
+- #
+ # "test_dir" is the relative path to the directory to run the tests in,
+ # defaults to "status" and runs all the tests, but could be a sub-directory
+ # for example "libs/regex/test" to run the regex tests alone.
+ #
+ test_dir="status"
+
+
+ ### DEFAULTS ARE OK FOR THESE.
+
+--- 42,59 ----
+ toolset=gcc
+
+ #
+ # "test_dir" is the relative path to the directory to run the tests in,
+ # defaults to "status" and runs all the tests, but could be a sub-directory
+ # for example "libs/regex/test" to run the regex tests alone.
+ #
+ test_dir="status"
+
++ #
++ # "comment_path" is the path to an html-file describing the test environment.
++ # The content of this file will be embedded in the status pages being produced.
++ #
++ comment_path="$boost_root/$test_dir/regression_comment.html"
++
+
+ ### DEFAULTS ARE OK FOR THESE.
+
+*************** exe_suffix=
+*** 71,76 ****
+--- 72,80 ----
+ #
+ bjam="$boost_root/tools/jam/src/bin/bjam$exe_suffix"
+
++ # bjam options
++ bjam_flags="--layout=system variant=release -sICU_PATH=/usr --user-config=$boost_root/user-config.jam"
++
+ #
+ # "process_jam_log", and "compiler_status" paths to built helper programs:
+ # The location of the executables of the regression help programs. These
+*************** else
+*** 98,103 ****
+--- 102,115 ----
+ fi
+ export BOOST_BUILD_PATH
+
++ # For shared objects.
++ old_ld_library_path=$LD_LIBRARY_PATH
++ old_ld_run_path=$LD_RUN_PATH
++ LD_LIBRARY_PATH="$boost_root/stage/lib:$old_ld_library_path"
++ LD_RUN_PATH="$boost_root/stage/lib:$old_ld_run_path"
++ export LD_LIBRARY_PATH
++ export LD_RUN_PATH
++
+ #
+ # STEP 0:
+ #
+*************** fi
+*** 126,137 ****
+ # STEP 1:
+ # rebuild bjam if required:
+ #
+! echo building bjam:
+! cd "$boost_root/tools/jam/src" && \
+! LOCATE_TARGET=bin sh ./build.sh
+! if test $? != 0 ; then
+! echo "bjam build failed."
+! exit 256
+ fi
+
+ #
+--- 138,152 ----
+ # STEP 1:
+ # rebuild bjam if required:
+ #
+! echo "finding or building bjam":
+! if test ! -f "$bjam" ; then
+! echo "building bjam":
+! cd "$boost_root/tools/jam/src" && \
+! LOCATE_TARGET=bin sh ./build.sh
+! if test $? != 0 ; then
+! echo "bjam build failed."
+! exit 256
+! fi
+ fi
+
+ #
+*************** fi
+*** 139,146 ****
+ # rebuild the regression test helper programs if required:
+ #
+ echo building regression test helper programs:
+! cd "$boost_root/tools/regression/build" && \
+! "$bjam" $toolset release
+ if test $? != 0 ; then
+ echo "helper program build failed."
+ exit 256
+--- 154,160 ----
+ # rebuild the regression test helper programs if required:
+ #
+ echo building regression test helper programs:
+! cd "$boost_root/tools/regression/build" && "$bjam" $bjam_flags $toolset
+ if test $? != 0 ; then
+ echo "helper program build failed."
+ exit 256
+*************** for tool in $test_tools ; do
+*** 158,164 ****
+ #
+ echo running the $tool regression tests:
+ cd "$boost_root/$test_dir"
+! "$bjam" $tool --dump-tests 2>&1 | tee regress.log
+
+ #
+ # STEP 4:
+--- 172,180 ----
+ #
+ echo running the $tool regression tests:
+ cd "$boost_root/$test_dir"
+! echo "<p> begin time: " `date` "</p>" >> "$comment_path"
+! "$bjam" $bjam_flags $tool --dump-tests 2>&1 | tee regress.log
+! echo "<p> end time: " `date` "</p>" >> "$comment_path"
+
+ #
+ # STEP 4:
+*************** if test $? != 0 ; then
+*** 185,190 ****
+--- 201,212 ----
+ exit 256
+ fi
+
++ # cleanup
++ LD_LIBRARY_PATH="$old_ld_library_path"
++ LD_RUN_PATH="$old_ld_run_path"
++ export LD_LIBRARY_PATH
++ export LD_RUN_PATH
++
+ echo "done!"
+
+
diff --git a/boost-unneccessary_iostreams.patch b/boost-unneccessary_iostreams.patch
new file mode 100644
index 0000000..a2d3f4b
--- /dev/null
+++ b/boost-unneccessary_iostreams.patch
@@ -0,0 +1,11 @@
+diff -ru boost_1_37_0.orig/boost/spirit/home/classic/iterator/multi_pass.hpp boost_1_37_0/boost/spirit/home/classic/iterator/multi_pass.hpp
+--- boost/spirit/home/classic/iterator/multi_pass.hpp 2009-01-09 10:38:36.000000000 +0000
++++ boost/spirit/home/classic/iterator/multi_pass.hpp 2009-01-09 10:39:41.000000000 +0000
+@@ -12,7 +12,6 @@
+ #include <boost/throw_exception.hpp>
+ #include <deque>
+ #include <iterator>
+-#include <iostream>
+ #include <algorithm> // for std::swap
+ #include <exception> // for std::exception
+ #include <boost/limits.hpp>
diff --git a/mingw32-boost.spec b/mingw32-boost.spec
new file mode 100644
index 0000000..77de2c7
--- /dev/null
+++ b/mingw32-boost.spec
@@ -0,0 +1,310 @@
+%global __strip %{_mingw32_strip}
+%global __objdump %{_mingw32_objdump}
+%global _use_internal_dependency_generator 0
+%global __find_requires %{_mingw32_findrequires}
+%global __find_provides %{_mingw32_findprovides}
+
+%global sonamever 4
+
+%global name1 boost
+%global vermajor 1
+%global verminor 37
+%global verrelease 0
+
+%global verdot %{vermajor}.%{verminor}.%{verrelease}
+%global verunderscore %{vermajor}_%{verminor}_%{verrelease}
+
+Name: mingw32-%{name1}
+Version: %{verdot}
+Release: 4%{?dist}
+Summary: MinGW Windows port of Boost C++ Libraries
+
+License: Boost
+Group: Development/Libraries
+URL: http://www.boost.org/
+Source0: http://downloads.sourceforge.net/boost/%{name1}_%{verunderscore}.tar.bz2
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+
+Patch0: boost-configure.patch
+Patch2: boost-run-tests.patch
+Patch3: boost-gcc43.patch
+Patch5: boost-function_template.patch
+Patch6: boost-unneccessary_iostreams.patch
+Patch7: boost-1_37_0-smp.patch
+Patch8: boost-bitset.patch
+Patch9: boost-gcc-implib.patch
+Patch10: boost-regexdll.patch
+
+BuildArch: noarch
+
+BuildRequires: file
+BuildRequires: mingw32-filesystem >= 30
+BuildRequires: mingw32-gcc
+BuildRequires: mingw32-gcc-c++
+BuildRequires: mingw32-binutils
+BuildRequires: mingw32-bzip2
+BuildRequires: mingw32-zlib
+BuildRequires: mingw32-expat
+BuildRequires: mingw32-pthreads
+BuildRequires: perl
+# These are required by the native package:
+#BuildRequires: mingw32-python
+#BuildRequires: mingw32-libicu
+
+
+%description
+Boost provides free peer-reviewed portable C++ source libraries. The
+emphasis is on libraries which work well with the C++ Standard
+Library, in the hopes of establishing "existing practice" for
+extensions and providing reference implementations so that the Boost
+libraries are suitable for eventual standardization. (Some of the
+libraries have already been proposed for inclusion in the C++
+Standards Committee's upcoming C++ Standard Library Technical Report.)
+
+%package static
+Summary: Static version of the MinGW Windows Boost C++ library
+Requires: %{name} = %{version}-%{release}
+Group: Development/Libraries
+
+%description static
+Static version of the MinGW Windows Boost C++ library.
+
+
+
+%prep
+%setup -q -n %{name1}_%{verunderscore}
+%patch0 -p0
+%patch2 -p0
+%patch3 -p1
+%patch5 -p0
+%patch6 -p0
+sed 's/!!!SMP_FLAGS!!!/%{?_smp_mflags}/' %{PATCH7} | %{__patch} -p1 --fuzz=0
+%patch8 -p1
+%patch9 -p0
+%patch10 -p0
+
+%build
+BOOST_ROOT=`pwd`
+staged_dir=stage
+export BOOST_ROOT
+
+# build make tools, ie bjam, necessary for building libs, docs, and testing
+(cd tools/jam/src && ./build.sh)
+BJAM=`find tools/jam/src/ -name bjam -a -type f`
+
+#BUILD_FLAGS="--with-toolset=gcc --prefix=$RPM_BUILD_ROOT%{_prefix}"
+BUILD_FLAGS="--with-toolset=gcc --with-bjam=$BJAM"
+#PYTHON_VERSION=$(python -c 'import sys; print sys.version[:3]')
+#PYTHON_FLAGS="--with-python-root=/usr --with-python-version=$PYTHON_VERSION"
+PYTHON_FLAGS="--without-libraries=python"
+#REGEX_FLAGS="--with-icu"
+REGEX_FLAGS="--without-icu"
+EXPAT_INCLUDE=/usr/i686-pc-mingw32/sys-root/mingw/include
+EXPAT_LIBPATH=/usr/i686-pc-mingw32/sys-root/mingw/lib
+PTW32_INCLUDE=/usr/i686-pc-mingw32/sys-root/mingw/include
+PTW32_LIB=/usr/i686-pc-mingw32/sys-root/mingw/lib
+export EXPAT_INCLUDE EXPAT_LIBPATH PTW32_INCLUDE PTW32_LIB
+
+./configure $BUILD_FLAGS $PYTHON_FLAGS $REGEX_FLAGS
+
+# Make it use the cross-compiler instead of gcc.
+rm user-config.jam
+echo "using gcc : : %{_mingw32_cxx}" > user-config.jam
+echo " : # options" >> user-config.jam
+echo " <rc>%{_mingw32_windres}" >> user-config.jam
+echo " <archiver>%{_mingw32_ar}" >> user-config.jam
+echo " ;" >> user-config.jam
+
+perl -i -pe 's/^BJAM_CONFIG=(.*)$/BJAM_CONFIG=\1 link=static,shared target-os=windows/' Makefile
+
+make %{?_smp_mflags} all
+
+
+%install
+rm -rf $RPM_BUILD_ROOT
+mkdir -p $RPM_BUILD_ROOT%{_mingw32_bindir}
+mkdir -p $RPM_BUILD_ROOT%{_mingw32_libdir}
+mkdir -p $RPM_BUILD_ROOT%{_mingw32_includedir}
+
+for i in `find bin.v2 -name '*.lib'`; do
+ b=`basename $i .lib`
+ d=`dirname $i`
+ if [ -f $d/$b.dll ]; then
+ install -m 644 -p $d/$b.dll $RPM_BUILD_ROOT%{_mingw32_bindir}/$b.dll
+ install -m 644 -p $d/$b.lib $RPM_BUILD_ROOT%{_mingw32_libdir}/lib$b.dll.a
+ %{_mingw32_ranlib} $RPM_BUILD_ROOT%{_mingw32_libdir}/lib$b.dll.a
+ else
+ install -m 644 -p $d/$b.lib $RPM_BUILD_ROOT%{_mingw32_libdir}/$b.a
+ %{_mingw32_ranlib} $RPM_BUILD_ROOT%{_mingw32_libdir}/$b.a
+ fi
+done
+
+# install include files
+find boost -type d | while read a; do
+ mkdir -p $RPM_BUILD_ROOT%{_mingw32_includedir}/$a
+ find $a -mindepth 1 -maxdepth 1 -type f \
+ | xargs -r install -m 644 -p -t $RPM_BUILD_ROOT%{_mingw32_includedir}/$a
+done
+
+# remove scripts used to generate include files
+find $RPM_BUILD_ROOT%{_mingw32_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec rm {} \;
+
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+
+%files
+%defattr(-,root,root,-)
+%doc LICENSE_1_0.txt
+%{_mingw32_includedir}/boost
+%{_mingw32_bindir}/boost_date_time.dll
+%{_mingw32_libdir}/libboost_date_time.dll.a
+%{_mingw32_bindir}/boost_date_time-mt.dll
+%{_mingw32_libdir}/libboost_date_time-mt.dll.a
+%{_mingw32_bindir}/boost_filesystem.dll
+%{_mingw32_libdir}/libboost_filesystem.dll.a
+%{_mingw32_bindir}/boost_filesystem-mt.dll
+%{_mingw32_libdir}/libboost_filesystem-mt.dll.a
+%{_mingw32_bindir}/boost_graph.dll
+%{_mingw32_libdir}/libboost_graph.dll.a
+%{_mingw32_bindir}/boost_graph-mt.dll
+%{_mingw32_libdir}/libboost_graph-mt.dll.a
+%{_mingw32_bindir}/boost_iostreams.dll
+%{_mingw32_libdir}/libboost_iostreams.dll.a
+%{_mingw32_bindir}/boost_iostreams-mt.dll
+%{_mingw32_libdir}/libboost_iostreams-mt.dll.a
+%{_mingw32_bindir}/boost_math_c99.dll
+%{_mingw32_libdir}/libboost_math_c99.dll.a
+%{_mingw32_bindir}/boost_math_c99f.dll
+%{_mingw32_libdir}/libboost_math_c99f.dll.a
+%{_mingw32_bindir}/boost_math_c99f-mt.dll
+%{_mingw32_libdir}/libboost_math_c99f-mt.dll.a
+%{_mingw32_bindir}/boost_math_c99l.dll
+%{_mingw32_libdir}/libboost_math_c99l.dll.a
+%{_mingw32_bindir}/boost_math_c99l-mt.dll
+%{_mingw32_libdir}/libboost_math_c99l-mt.dll.a
+%{_mingw32_bindir}/boost_math_c99-mt.dll
+%{_mingw32_libdir}/libboost_math_c99-mt.dll.a
+%{_mingw32_bindir}/boost_math_tr1.dll
+%{_mingw32_libdir}/libboost_math_tr1.dll.a
+%{_mingw32_bindir}/boost_math_tr1f.dll
+%{_mingw32_libdir}/libboost_math_tr1f.dll.a
+%{_mingw32_bindir}/boost_math_tr1f-mt.dll
+%{_mingw32_libdir}/libboost_math_tr1f-mt.dll.a
+%{_mingw32_bindir}/boost_math_tr1l.dll
+%{_mingw32_libdir}/libboost_math_tr1l.dll.a
+%{_mingw32_bindir}/boost_math_tr1l-mt.dll
+%{_mingw32_libdir}/libboost_math_tr1l-mt.dll.a
+%{_mingw32_bindir}/boost_math_tr1-mt.dll
+%{_mingw32_libdir}/libboost_math_tr1-mt.dll.a
+%{_mingw32_bindir}/boost_prg_exec_monitor.dll
+%{_mingw32_libdir}/libboost_prg_exec_monitor.dll.a
+%{_mingw32_bindir}/boost_prg_exec_monitor-mt.dll
+%{_mingw32_libdir}/libboost_prg_exec_monitor-mt.dll.a
+%{_mingw32_bindir}/boost_program_options.dll
+%{_mingw32_libdir}/libboost_program_options.dll.a
+%{_mingw32_bindir}/boost_program_options-mt.dll
+%{_mingw32_libdir}/libboost_program_options-mt.dll.a
+%{_mingw32_bindir}/boost_regex.dll
+%{_mingw32_libdir}/libboost_regex.dll.a
+%{_mingw32_bindir}/boost_regex-mt.dll
+%{_mingw32_libdir}/libboost_regex-mt.dll.a
+%{_mingw32_bindir}/boost_serialization.dll
+%{_mingw32_libdir}/libboost_serialization.dll.a
+%{_mingw32_bindir}/boost_serialization-mt.dll
+%{_mingw32_libdir}/libboost_serialization-mt.dll.a
+%{_mingw32_bindir}/boost_signals.dll
+%{_mingw32_libdir}/libboost_signals.dll.a
+%{_mingw32_bindir}/boost_signals-mt.dll
+%{_mingw32_libdir}/libboost_signals-mt.dll.a
+%{_mingw32_bindir}/boost_system.dll
+%{_mingw32_libdir}/libboost_system.dll.a
+%{_mingw32_bindir}/boost_system-mt.dll
+%{_mingw32_libdir}/libboost_system-mt.dll.a
+%{_mingw32_bindir}/boost_thread-mt.dll
+%{_mingw32_libdir}/libboost_thread-mt.dll.a
+%{_mingw32_bindir}/boost_unit_test_framework.dll
+%{_mingw32_libdir}/libboost_unit_test_framework.dll.a
+%{_mingw32_bindir}/boost_unit_test_framework-mt.dll
+%{_mingw32_libdir}/libboost_unit_test_framework-mt.dll.a
+%{_mingw32_bindir}/boost_wave.dll
+%{_mingw32_libdir}/libboost_wave.dll.a
+%{_mingw32_bindir}/boost_wave-mt.dll
+%{_mingw32_libdir}/libboost_wave-mt.dll.a
+%{_mingw32_bindir}/boost_wserialization.dll
+%{_mingw32_libdir}/libboost_wserialization.dll.a
+%{_mingw32_bindir}/boost_wserialization-mt.dll
+%{_mingw32_libdir}/libboost_wserialization-mt.dll.a
+
+
+%files static
+%defattr(-,root,root,-)
+%{_mingw32_libdir}/libboost_date_time.a
+%{_mingw32_libdir}/libboost_date_time-mt.a
+%{_mingw32_libdir}/libboost_filesystem.a
+%{_mingw32_libdir}/libboost_filesystem-mt.a
+%{_mingw32_libdir}/libboost_graph.a
+%{_mingw32_libdir}/libboost_graph-mt.a
+%{_mingw32_libdir}/libboost_iostreams.a
+%{_mingw32_libdir}/libboost_iostreams-mt.a
+%{_mingw32_libdir}/libboost_math_c99f.a
+%{_mingw32_libdir}/libboost_math_c99f-mt.a
+%{_mingw32_libdir}/libboost_math_c99.a
+%{_mingw32_libdir}/libboost_math_c99l.a
+%{_mingw32_libdir}/libboost_math_c99l-mt.a
+%{_mingw32_libdir}/libboost_math_c99-mt.a
+%{_mingw32_libdir}/libboost_math_tr1f.a
+%{_mingw32_libdir}/libboost_math_tr1f-mt.a
+%{_mingw32_libdir}/libboost_math_tr1.a
+%{_mingw32_libdir}/libboost_math_tr1l.a
+%{_mingw32_libdir}/libboost_math_tr1l-mt.a
+%{_mingw32_libdir}/libboost_math_tr1-mt.a
+%{_mingw32_libdir}/libboost_prg_exec_monitor.a
+%{_mingw32_libdir}/libboost_prg_exec_monitor-mt.a
+%{_mingw32_libdir}/libboost_program_options.a
+%{_mingw32_libdir}/libboost_program_options-mt.a
+%{_mingw32_libdir}/libboost_regex.a
+%{_mingw32_libdir}/libboost_regex-mt.a
+%{_mingw32_libdir}/libboost_serialization.a
+%{_mingw32_libdir}/libboost_serialization-mt.a
+%{_mingw32_libdir}/libboost_signals.a
+%{_mingw32_libdir}/libboost_signals-mt.a
+%{_mingw32_libdir}/libboost_system.a
+%{_mingw32_libdir}/libboost_system-mt.a
+%{_mingw32_libdir}/libboost_test_exec_monitor.a
+%{_mingw32_libdir}/libboost_test_exec_monitor-mt.a
+%{_mingw32_libdir}/libboost_thread-mt.a
+%{_mingw32_libdir}/libboost_unit_test_framework.a
+%{_mingw32_libdir}/libboost_unit_test_framework-mt.a
+%{_mingw32_libdir}/libboost_wave.a
+%{_mingw32_libdir}/libboost_wave-mt.a
+%{_mingw32_libdir}/libboost_wserialization.a
+%{_mingw32_libdir}/libboost_wserialization-mt.a
+
+
+%changelog
+* Thu May 28 2009 Thomas Sailer <t.sailer at alumni.ethz.ch> - 1.37.0-4
+- use boost buildsystem to build DLLs
+
+* Wed May 27 2009 Thomas Sailer <t.sailer at alumni.ethz.ch> - 1.37.0-3
+- use mingw32 ar
+
+* Tue May 26 2009 Thomas Sailer <t.sailer at alumni.ethz.ch> - 1.37.0-2
+- fix %%defattr
+- fix description of static package
+- add comments that detail the failures linking the test framework / exec monitor DLL's
+
+* Sun May 24 2009 Thomas Sailer <t.sailer at alumni.ethz.ch> - 1.37.0-1
+- update to 1.37.0
+- actually tell the build system about the target os
+- build also boost DLL's that depend on other boost DLL's
+
+* Fri Jan 23 2009 Richard W.M. Jones <rjones at redhat.com> - 1.34.1-4
+- Include license file.
+
+* Fri Jan 23 2009 Richard W.M. Jones <rjones at redhat.com> - 1.34.1-3
+- Use _smp_mflags.
+
+* Sat Oct 24 2008 Richard W.M. Jones <rjones at redhat.com> - 1.34.1-2
+- Initial RPM release.
diff --git a/sources b/sources
index e69de29..ce35129 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+8d9f990bfb7e83769fa5f1d6f065bc92 boost_1_37_0.tar.bz2
More information about the scm-commits
mailing list