Author: ken
Date: 2008-11-21 11:45:51 -0700 (Fri, 21 Nov 2008)
New Revision: 2004
Added:
trunk/boost/
trunk/boost/boost_1_34_1-compile_fixes-1.patch
trunk/boost/boost_1_34_1-gcc43-1.patch
Log:
The earlier compile/bootstrap fixes for boost that I never got around to
uploading, plus more fixes for gcc-4.3. Saves all the problems with boost-1.36
and 1.37.
Added: trunk/boost/boost_1_34_1-compile_fixes-1.patch
===================================================================
--- trunk/boost/boost_1_34_1-compile_fixes-1.patch
(rev 0)
+++ trunk/boost/boost_1_34_1-compile_fixes-1.patch 2008-11-21 18:45:51 UTC
(rev 2004)
@@ -0,0 +1,138 @@
+Submitted By: Ken Moffat <ken at linuxfromscratch dot org>
+Date: 2008-11-21
+Initial Package Version: 1.34.0
+Upstream Status: unknown
+Origin: From debian, via cblfs.cross-lfs.org.
+Description: Allows the included bjam to compile with recent versions of gcc4.
+
+diff -urN boost-1.34.0.old/tools/build/v2/tools/gcc.jam
boost-1.34.0/tools/build/v2/tools/gcc.jam
+--- boost-1.34.0.old/tools/build/v2/tools/gcc.jam 2007-05-03
02:09:04.000000000 -0400
++++ boost-1.34.0/tools/build/v2/tools/gcc.jam 2007-06-29 18:28:05.000000000
-0400
+@@ -268,8 +268,8 @@
+
+ # Declare flags and action for compilation
+ flags gcc.compile OPTIONS <optimization>off : -O0 ;
+-flags gcc.compile OPTIONS <optimization>speed : -O3 ;
+-flags gcc.compile OPTIONS <optimization>space : -Os ;
++flags gcc.compile OPTIONS <optimization>speed : -O3 -fno-strict-aliasing ;
++flags gcc.compile OPTIONS <optimization>space : -Os -fno-strict-aliasing ;
+
+ flags gcc.compile OPTIONS <inlining>off : -fno-inline ;
+ flags gcc.compile OPTIONS <inlining>on : -Wno-inline ;
+diff -urN boost-1.34.0.old/tools/jam/src/build.jam
boost-1.34.0/tools/jam/src/build.jam
+--- boost-1.34.0.old/tools/jam/src/build.jam 2006-07-23 12:24:21.000000000
-0400
++++ boost-1.34.0/tools/jam/src/build.jam 2007-06-29 18:23:58.000000000
-0400
+@@ -153,7 +153,7 @@
+ ## GCC 2.x, 3.x, 4.x
+ toolset gcc gcc : "-o " : -D
+ : -pedantic
+- [ opt --release : [ opt --symbols : -g : -s ] -O3 ]
++ [ opt --release : [ opt --symbols : -g : -s ] -O3 -fno-strict-aliasing ]
+ [ opt --debug : -g -O0 -fno-inline ]
+ -I$(--python-include) -Wno-long-long
+ : -L$(--python-lib[1]) -l$(--python-lib[2]) ;
+diff -urN boost-1.34.0.old/tools/jam/src/builtins.c
boost-1.34.0/tools/jam/src/builtins.c
+--- boost-1.34.0.old/tools/jam/src/builtins.c 2006-08-28 15:33:41.000000000
-0400
++++ boost-1.34.0/tools/jam/src/builtins.c 2007-06-29 18:12:45.000000000
-0400
+@@ -24,6 +24,7 @@
+ # include "compile.h"
+ # include "native.h"
+ # include "variable.h"
++# include "timestamp.h"
+ # include <ctype.h>
+
+ /*
+@@ -63,6 +64,13 @@
+ void backtrace_line( FRAME *frame );
+ void print_source_line( PARSE* p );
+
++void init_set();
++void init_path();
++void init_regex();
++void init_property_set();
++void init_sequence();
++void init_order();
++
+ RULE* bind_builtin( char* name, LIST*(*f)(PARSE*, FRAME*), int flags, char**
args )
+ {
+ argument_list* arg_list = 0;
+diff -urN boost-1.34.0.old/tools/jam/src/debug.c
boost-1.34.0/tools/jam/src/debug.c
+--- boost-1.34.0.old/tools/jam/src/debug.c 2005-10-02 20:47:36.000000000
-0400
++++ boost-1.34.0/tools/jam/src/debug.c 2007-06-29 18:09:39.000000000 -0400
+@@ -107,8 +107,8 @@
+ profile_total.memory += p->memory;
+ }
+ printf("%10d %10d %10d %12.6f %10d %10d %s\n",
+- p->num_entries, p->cumulative, p->net, q,
+- p->memory, mem_each,
++ (int) p->num_entries, (int) p->cumulative, (int) p->net, q,
++ (int) p->memory, (int) mem_each,
+ p->name);
+ }
+
+diff -urN boost-1.34.0.old/tools/jam/src/hcache.c
boost-1.34.0/tools/jam/src/hcache.c
+--- boost-1.34.0.old/tools/jam/src/hcache.c 2003-07-11 02:49:32.000000000
-0400
++++ boost-1.34.0/tools/jam/src/hcache.c 2007-06-29 18:14:43.000000000
-0400
+@@ -162,7 +162,7 @@
+ {
+ if (!s)
+ s = "";
+- fprintf(f, "%lu\t%s\n", strlen(s), s);
++ fprintf(f, "%lu\t%s\n", (unsigned long) strlen(s), s);
+ }
+
+ void
+@@ -314,10 +314,10 @@
+ else if (c->age > maxage)
+ continue;
+
+- sprintf(includes_count_str, "%lu", list_length(c->includes));
+- sprintf(hdrscan_count_str, "%lu", list_length(c->hdrscan));
+- sprintf(time_str, "%lu", c->time);
+- sprintf(age_str, "%lu", c->age);
++ sprintf(includes_count_str, "%lu", (unsigned long)
list_length(c->includes));
++ sprintf(hdrscan_count_str, "%lu", (unsigned long)
list_length(c->hdrscan));
++ sprintf(time_str, "%lu", (unsigned long) c->time);
++ sprintf(age_str, "%lu", (unsigned long) c->age);
+
+ write_netstring(f, CACHE_RECORD_HEADER);
+ write_netstring(f, c->boundname);
+diff -urN boost-1.34.0.old/tools/jam/src/make1.c
boost-1.34.0/tools/jam/src/make1.c
+--- boost-1.34.0.old/tools/jam/src/make1.c 2005-10-02 20:47:36.000000000
-0400
++++ boost-1.34.0/tools/jam/src/make1.c 2007-06-29 18:15:19.000000000 -0400
+@@ -60,10 +60,12 @@
+ # include "make.h"
+ # include "command.h"
+ # include "execcmd.h"
++# include "debug.h"
++# include "compile.h"
+
+ # include <stdlib.h>
+
+-#if defined(sun) || defined(__sun)
++#if defined(sun) || defined(__sun) || defined(unix) || defined(__unix)
+ #include <unistd.h> /* for unlink */
+ #endif
+
+diff -urN boost-1.34.0.old/tools/jam/src/native.c
boost-1.34.0/tools/jam/src/native.c
+--- boost-1.34.0.old/tools/jam/src/native.c 2005-09-28 10:09:58.000000000
-0400
++++ boost-1.34.0/tools/jam/src/native.c 2007-06-29 18:13:14.000000000
-0400
+@@ -8,6 +8,7 @@
+ # define P0 (PARSE *)0
+ # define C0 (char *)0
+
++void lol_build( LOL* lol, char** elements );
+
+ void declare_native_rule(char* module, char* rule, char** args,
+ LIST*(*f)(PARSE*, FRAME*), int version)
+diff -urN boost-1.34.0.old/tools/jam/src/newstr.c
boost-1.34.0/tools/jam/src/newstr.c
+--- boost-1.34.0.old/tools/jam/src/newstr.c 2005-10-02 20:47:36.000000000
-0400
++++ boost-1.34.0/tools/jam/src/newstr.c 2007-06-29 18:11:37.000000000
-0400
+@@ -8,6 +8,7 @@
+ # include "newstr.h"
+ # include "hash.h"
+ # include "compile.h"
++# include "debug.h"
+ # include <stddef.h>
+ # include <stdlib.h>
+
Added: trunk/boost/boost_1_34_1-gcc43-1.patch
===================================================================
--- trunk/boost/boost_1_34_1-gcc43-1.patch (rev 0)
+++ trunk/boost/boost_1_34_1-gcc43-1.patch 2008-11-21 18:45:51 UTC (rev
2004)
@@ -0,0 +1,224 @@
+Submitted By: Ken Moffat <ken at linuxfromscratch dot org>
+Date: 2008-11-21
+Initial Package Version: 1_34_1
+Upstream Status: unknown
+Origin: fedora
+Description: Allows boost to compile with gcc-4.3.
+
+http://cvs.fedoraproject.org/viewvc/rpms/boost/F-10/boost-gcc43.patch?revision=1.9
+
+diff -urp boost_1_34_1/boost/spirit/phoenix/operators.hpp
boost_1_34_1.pm/boost/spirit/phoenix/operators.hpp
+--- boost_1_34_1/boost/spirit/phoenix/operators.hpp 2006-08-25
18:27:30.000000000 +0200
++++ boost_1_34_1.pm/boost/spirit/phoenix/operators.hpp 2008-02-06
16:29:32.000000000 +0100
+@@ -24,6 +24,7 @@
+ #include <boost/spirit/phoenix/composite.hpp>
+ #include <boost/config.hpp>
+ #include <boost/mpl/if.hpp>
++#include <limits.h>
+
+
///////////////////////////////////////////////////////////////////////////////
+ namespace phoenix {
+diff -urp boost_1_34_1/boost/regex/v4/basic_regex_creator.hpp
boost_1_34_1.pm/boost/regex/v4/basic_regex_creator.hpp
+--- boost_1_34_1/boost/regex/v4/basic_regex_creator.hpp 2006-07-16
18:06:38.000000000 +0200
++++ boost_1_34_1.pm/boost/regex/v4/basic_regex_creator.hpp 2008-02-06
17:36:42.000000000 +0100
+@@ -24,6 +24,8 @@
+ # include BOOST_ABI_PREFIX
+ #endif
+
++#include <limits.h>
++
+ namespace boost{
+
+ namespace re_detail{
+diff -urp boost_1_34_1/boost/regex/v4/basic_regex.hpp
boost_1_34_1.pm/boost/regex/v4/basic_regex.hpp
+--- boost_1_34_1/boost/regex/v4/basic_regex.hpp 2007-06-05
19:28:18.000000000 +0200
++++ boost_1_34_1.pm/boost/regex/v4/basic_regex.hpp 2008-02-06
17:33:30.000000000 +0100
+@@ -23,6 +23,8 @@
+ # include BOOST_ABI_PREFIX
+ #endif
+
++#include <limits.h>
++
+ namespace boost{
+ #ifdef BOOST_MSVC
+ #pragma warning(push)
+diff -urp boost_1_34_1/boost/regex/v4/basic_regex_parser.hpp
boost_1_34_1.pm/boost/regex/v4/basic_regex_parser.hpp
+--- boost_1_34_1/boost/regex/v4/basic_regex_parser.hpp 2008-02-06
17:45:26.000000000 +0100
++++ boost_1_34_1.pm/boost/regex/v4/basic_regex_parser.hpp 2008-02-06
17:38:58.000000000 +0100
+@@ -23,6 +23,8 @@
+ # include BOOST_ABI_PREFIX
+ #endif
+
++#include <limits.h>
++
+ namespace boost{
+ namespace re_detail{
+
+diff -urp boost_1_34_1/boost/regex/v4/cpp_regex_traits.hpp
boost_1_34_1.pm/boost/regex/v4/cpp_regex_traits.hpp
+--- boost_1_34_1/boost/regex/v4/cpp_regex_traits.hpp 2007-01-15
12:09:44.000000000 +0100
++++ boost_1_34_1.pm/boost/regex/v4/cpp_regex_traits.hpp 2008-02-06
17:26:51.000000000 +0100
+@@ -41,6 +41,7 @@
+
+ #include <istream>
+ #include <ios>
++#include <limits.h>
+
+ #ifdef BOOST_HAS_ABI_HEADERS
+ # include BOOST_ABI_PREFIX
+diff -urp boost_1_34_1/boost/regex/v4/perl_matcher.hpp
boost_1_34_1.pm/boost/regex/v4/perl_matcher.hpp
+--- boost_1_34_1/boost/regex/v4/perl_matcher.hpp 2006-10-18
14:55:30.000000000 +0200
++++ boost_1_34_1.pm/boost/regex/v4/perl_matcher.hpp 2008-02-06
17:39:44.000000000 +0100
+@@ -18,6 +18,8 @@
+ # include BOOST_ABI_PREFIX
+ #endif
+
++#include <limits.h>
++
+ namespace boost{
+ namespace re_detail{
+
+diff -urp boost_1_34_1/boost/regex/v4/regex_split.hpp
boost_1_34_1.pm/boost/regex/v4/regex_split.hpp
+--- boost_1_34_1/boost/regex/v4/regex_split.hpp 2005-01-21
18:22:38.000000000 +0100
++++ boost_1_34_1.pm/boost/regex/v4/regex_split.hpp 2008-02-06
17:42:13.000000000 +0100
+@@ -21,6 +21,8 @@
+ #ifndef BOOST_REGEX_SPLIT_HPP
+ #define BOOST_REGEX_SPLIT_HPP
+
++#include <limits.h>
++
+ namespace boost{
+
+ #ifdef BOOST_HAS_ABI_HEADERS
+diff -urp boost_1_34_1/boost/regex/v4/states.hpp
boost_1_34_1.pm/boost/regex/v4/states.hpp
+--- boost_1_34_1/boost/regex/v4/states.hpp 2005-09-20 14:01:25.000000000
+0200
++++ boost_1_34_1.pm/boost/regex/v4/states.hpp 2008-02-06 17:32:42.000000000
+0100
+@@ -23,6 +23,8 @@
+ # include BOOST_ABI_PREFIX
+ #endif
+
++#include <limits.h>
++
+ namespace boost{
+ namespace re_detail{
+
+diff -urp boost_1_34_1/boost/test/test_tools.hpp
boost_1_34_1.pm/boost/test/test_tools.hpp
+--- boost_1_34_1/boost/test/test_tools.hpp 2007-02-22 18:57:29.000000000
+0100
++++ boost_1_34_1.pm/boost/test/test_tools.hpp 2008-02-06 17:18:20.000000000
+0100
+@@ -44,6 +44,7 @@
+ // STL
+ #include <cstddef> // for std::size_t
+ #include <iosfwd>
++#include <limits.h>
+
+ #include <boost/test/detail/suppress_warnings.hpp>
+
+diff -urp boost_1_34_1/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp
boost_1_34_1.pm/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp
+--- boost_1_34_1/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp
2006-12-20 17:38:24.000000000 +0100
++++ boost_1_34_1.pm/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp
2008-02-06 17:25:00.000000000 +0100
+@@ -16,6 +16,8 @@
+ #include <string>
+ #include <cstdio>
+ #include <cstdarg>
++#include <cstring>
++
+ #if defined(BOOST_SPIRIT_DEBUG)
+ #include <iostream>
+ #endif // defined(BOOST_SPIRIT_DEBUG)
+diff -urp boost_1_34_1/boost/wave/util/flex_string.hpp
boost_1_34_1.pm/boost/wave/util/flex_string.hpp
+--- boost_1_34_1/boost/wave/util/flex_string.hpp 2006-04-25
19:21:01.000000000 +0200
++++ boost_1_34_1.pm/boost/wave/util/flex_string.hpp 2008-02-06
17:22:31.000000000 +0100
+@@ -94,6 +94,7 @@ class StoragePolicy
+ #include <limits>
+ #include <stdexcept>
+ #include <cstddef>
++#include <cstring>
+
+ // this must occur after all of the includes and before any code appears
+ #ifdef BOOST_HAS_ABI_HEADERS
+diff -urp boost_1_34_1/boost/archive/polymorphic_iarchive.hpp
boost_1_34_1.pm/boost/archive/polymorphic_iarchive.hpp
+--- boost_1_34_1/boost/archive/polymorphic_iarchive.hpp 2005-12-11
07:12:51.000000000 +0100
++++ boost_1_34_1.pm/boost/archive/polymorphic_iarchive.hpp 2008-02-06
18:42:07.000000000 +0100
+@@ -33,6 +33,8 @@ namespace std{
+ #include <boost/archive/detail/interface_iarchive.hpp>
+ #include <boost/serialization/nvp.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
+diff -urp boost_1_34_1.orig/boost/archive/polymorphic_oarchive.hpp
boost_1_34_1/boost/archive/polymorphic_oarchive.hpp
+--- boost_1_34_1.orig/boost/archive/polymorphic_oarchive.hpp 2008-10-06
15:38:51.000000000 +0200
++++ boost_1_34_1/boost/archive/polymorphic_oarchive.hpp 2008-10-06
15:38:57.000000000 +0200
+@@ -32,6 +32,8 @@ namespace std{
+ #include <boost/archive/detail/interface_oarchive.hpp>
+ #include <boost/serialization/nvp.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
+diff -urp boost_1_34_1/boost/date_time/date_facet.hpp
boost_1_34_1-pm/boost/date_time/date_facet.hpp
+--- boost_1_34_1/boost/date_time/date_facet.hpp 2005-09-05
23:10:50.000000000 +0200
++++ boost_1_34_1-pm/boost/date_time/date_facet.hpp 2008-02-13
16:07:59.000000000 +0100
+@@ -429,7 +429,7 @@ namespace boost { namespace date_time {
+ typedef std::basic_string<CharT> string_type;
+ typedef CharT char_type;
+ typedef boost::date_time::period_parser<date_type, CharT>
period_parser_type;
+- typedef special_values_parser<date_type,CharT>
special_values_parser_type;
++ typedef boost::date_time::special_values_parser<date_type,CharT>
special_values_parser_type;
+ typedef std::vector<std::basic_string<CharT> > input_collection_type;
+ typedef format_date_parser<date_type, CharT> format_date_parser_type;
+ // date_generators stuff goes here
+diff -urp boost_1_34_1/boost/python/detail/def_helper.hpp
boost_1_34_1-pm/boost/python/detail/def_helper.hpp
+--- boost_1_34_1/boost/python/detail/def_helper.hpp 2004-09-16
03:00:28.000000000 +0200
++++ boost_1_34_1-pm/boost/python/detail/def_helper.hpp 2008-02-14
13:26:23.000000000 +0100
+@@ -155,7 +155,7 @@ namespace detail
+ , T3 const&
+ , T4 const&
+ , default_call_policies
+- , keywords<0>
++ , boost::python::detail::keywords<0>
+ , char const*
+ , void(not_specified::*)() // A function pointer type which is
never an
+ // appropriate default implementation
+diff -urp new-boost/date_time/tz_db_base.hpp old-boost/date_time/tz_db_base.hpp
+--- boost_1_34_1/boost/date_time/tz_db_base.hpp 2008-06-12
13:03:34.000000000 +0200
++++ boost_1_34_1-pm/boost/date_time/tz_db_base.hpp 2008-06-12
12:59:43.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],
--
http://linuxfromscratch.org/mailman/listinfo/patches
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page