[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