summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnas Nashif <anas.nashif@intel.com>2012-10-30 20:04:36 (GMT)
committerDongHun Kwak <dh0128.kwak@samsung.com>2017-09-26 04:51:35 (GMT)
commit921b1167369097ce44a9e663c54c6d9b0198424f (patch)
tree930dd4f77198c6a4f42081f61ee9e7ade0a71e37
parent88e602c57797660ebe0f9e15dbd64c1ff16dead3 (diff)
downloadboost-921b1167369097ce44a9e663c54c6d9b0198424f.zip
boost-921b1167369097ce44a9e663c54c6d9b0198424f.tar.gz
boost-921b1167369097ce44a9e663c54c6d9b0198424f.tar.bz2
Rebase for boot 1.65.1refs/changes/59/152659/1
Change-Id: Ied0dae31c0342693e238dc39bafd09ab267bc5c5 Signed-off-by: DongHun Kwak <dh0128.kwak@samsung.com>
-rw-r--r--libs/python/build/Jamfile.v2152
-rw-r--r--packaging/baselibs.conf18
-rw-r--r--packaging/boost-rpmlintrc14
-rw-r--r--packaging/boost.changes13
-rw-r--r--packaging/boost.manifest5
-rw-r--r--packaging/boost.pc11
-rw-r--r--packaging/boost.spec845
-rw-r--r--packaging/existing_extra_docs460
-rwxr-xr-xrun_test.sh68
-rw-r--r--tools/build/src/tools/gcc.jam8
10 files changed, 1590 insertions, 4 deletions
diff --git a/libs/python/build/Jamfile.v2 b/libs/python/build/Jamfile.v2
new file mode 100644
index 0000000..b963c25
--- /dev/null
+++ b/libs/python/build/Jamfile.v2
@@ -0,0 +1,152 @@
+# Copyright David Abrahams 2001-2006. Distributed under the Boost
+# Software License, Version 1.0. (See accompanying
+# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+import os ;
+import indirect ;
+import modules ;
+import feature ;
+
+import python ;
+
+if ! [ python.configured ] && ! ( --without-python in [ modules.peek : ARGV ] )
+{
+ # Attempt default configuration of python
+ import toolset : using ;
+ using python ;
+}
+
+if [ python.configured ] || ( --without-python in [ modules.peek : ARGV ] )
+{
+ alias config-warning ;
+}
+else
+{
+ message config-warning
+ : "warning: No python installation configured and autoconfiguration"
+ : "note: failed. See http://www.boost.org/libs/python/doc/building.html"
+ : "note: for configuration instructions or pass --without-python to"
+ : "note: suppress this message and silently skip all Boost.Python targets"
+ ;
+}
+
+rule find-py3-version
+{
+ local versions = [ feature.values python ] ;
+ local py3ver ;
+ for local v in $(versions)
+ {
+ if $(v) >= 3.0
+ {
+ py3ver = $(v) ;
+ }
+ }
+ return $(py3ver) ;
+}
+
+py3-version = [ find-py3-version ] ;
+
+project boost/python
+ : source-location ../src
+ : requirements
+ -<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag
+ <tag>@$(__name__).tag
+ <cxxflags>-fno-strict-aliasing
+ ;
+
+rule tag ( name : type ? : property-set )
+{
+ local result = $(name) ;
+ if $(type) in STATIC_LIB SHARED_LIB IMPORT_LIB
+ {
+ if $(name) = boost_python && $(PYTHON_ID)
+ {
+ result = $(result)-$(PYTHON_ID) ;
+ }
+ }
+
+ # forward to the boost tagging rule
+ return [ indirect.call $(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag
+ $(result) : $(type) : $(property-set) ] ;
+}
+
+rule cond ( test ? : yes * : no * ) { if $(test) { return $(yes) ; } else { return $(no) ; } }
+rule unless ( test ? : yes * : no * ) { if ! $(test) { return $(yes) ; } else { return $(no) ; } }
+
+rule lib_boost_python ( is-py3 ? )
+{
+
+ lib [ cond $(is-py3) : boost_python3 : boost_python ]
+ : # sources
+ numeric.cpp
+ list.cpp
+ long.cpp
+ dict.cpp
+ tuple.cpp
+ str.cpp
+ slice.cpp
+
+ converter/from_python.cpp
+ converter/registry.cpp
+ converter/type_id.cpp
+ object/enum.cpp
+ object/class.cpp
+ object/function.cpp
+ object/inheritance.cpp
+ object/life_support.cpp
+ object/pickle_support.cpp
+ errors.cpp
+ module.cpp
+ converter/builtin_converters.cpp
+ converter/arg_to_python_base.cpp
+ object/iterator.cpp
+ object/stl_iterator.cpp
+ object_protocol.cpp
+ object_operators.cpp
+ wrapper.cpp
+ import.cpp
+ exec.cpp
+ object/function_doc_signature.cpp
+ : # requirements
+ <link>static:<define>BOOST_PYTHON_STATIC_LIB
+ <define>BOOST_PYTHON_SOURCE
+
+ # On Windows, all code using Python has to link to the Python
+ # import library.
+ #
+ # On *nix we never link libboost_python to libpython. When
+ # extending Python, all Python symbols are provided by the
+ # Python interpreter executable. When embedding Python, the
+ # client executable is expected to explicitly link to
+ # /python//python (the target representing libpython) itself.
+ #
+ # python_for_extensions is a target defined by Boost.Build to
+ # provide the Python include paths, and on Windows, the Python
+ # import library, as usage requirements.
+ [ cond [ python.configured ] : <library>/python//python_for_extensions ]
+
+ # we prevent building when there is no python available
+ # as it's not possible anyway, and to cause dependents to
+ # fail to build
+ [ unless [ python.configured ] : <build>no ]
+ <dependency>config-warning
+
+ <python-debugging>on:<define>BOOST_DEBUG_PYTHON
+ [ cond $(is-py3) : <python>$(py3-version) ]
+ : # default build
+ <link>shared
+ : # usage requirements
+ <link>static:<define>BOOST_PYTHON_STATIC_LIB
+ <python-debugging>on:<define>BOOST_DEBUG_PYTHON
+ ;
+
+}
+
+lib_boost_python ;
+boost-install boost_python ;
+
+if $(py3-version)
+{
+ lib_boost_python yes ;
+ boost-install boost_python3 ;
+}
diff --git a/packaging/baselibs.conf b/packaging/baselibs.conf
new file mode 100644
index 0000000..ac0826c
--- /dev/null
+++ b/packaging/baselibs.conf
@@ -0,0 +1,18 @@
+package boost-devel
+ requires -boost-<targettype>
+libboost_date_time
+libboost_filesystem
+libboost_graph
+libboost_iostreams
+libboost_math
+libboost_mpi
+libboost_test
+libboost_program_options
+libboost_python
+libboost_random
+libboost_serialization
+libboost_signals
+libboost_system
+libboost_thread
+libboost_wave
+libboost_regex
diff --git a/packaging/boost-rpmlintrc b/packaging/boost-rpmlintrc
new file mode 100644
index 0000000..0f4dc07
--- /dev/null
+++ b/packaging/boost-rpmlintrc
@@ -0,0 +1,14 @@
+# This line is mandatory to access the configuration functions
+from Config import *
+
+addFilter("boost.* shlib-policy-nonversioned-dir")
+addFilter("boost.* shlib-policy-missing-suffix")
+addFilter("boost-doc.* devel-dependency")
+addFilter("boost.* rpm-buildroot-usage")
+addFilter("boost.* explicit-lib-dependency")
+addFilter("boost.* filename-too-long-for-joliet")
+addFilter("boost.* no-binary")
+addFilter("boost.* static-library-without-debuginfo")
+addFilter("boost.* obsolete-suse-version-check")
+addFilter("boost.* shlib-unversioned-lib")
+addFilter("boost.* no-dependency-on")
diff --git a/packaging/boost.changes b/packaging/boost.changes
new file mode 100644
index 0000000..95e9d4b
--- /dev/null
+++ b/packaging/boost.changes
@@ -0,0 +1,13 @@
+* Thu Aug 29 2013 Anas Nashif <anas.nashif@intel.com> submit/tizen/20130827.111941@86fbc3f
+- build with glibc 2.18
+
+* Tue Aug 27 2013 Anas Nashif <anas.nashif@intel.com> submit/tizen/20130827.055530@2c102b0
+- Apply patch to protect invalid UTF8 sequences and overflow of ordered_malloc()
+- update to 1.51.0
+
+* Sat Jan 12 2013 Anas Nashif <anas.nashif@intel.com> submit/trunk/20121229.051952@fffe0f9
+- use TIME_UTC_ instead of TIME_UTC
+
+* Fri Dec 28 2012 Anas Nashif <anas.nashif@intel.com> upstream/1.49.0@71b07fb
+- Provide old package names
+
diff --git a/packaging/boost.manifest b/packaging/boost.manifest
new file mode 100644
index 0000000..017d22d
--- /dev/null
+++ b/packaging/boost.manifest
@@ -0,0 +1,5 @@
+<manifest>
+ <request>
+ <domain name="_"/>
+ </request>
+</manifest>
diff --git a/packaging/boost.pc b/packaging/boost.pc
new file mode 100644
index 0000000..d71a282
--- /dev/null
+++ b/packaging/boost.pc
@@ -0,0 +1,11 @@
+prefix=/usr
+exec_prefix=/usr
+libdir=/usr/lib
+includedir=/usr/include/boost
+
+Name: Boost
+Description: Boost C++ libraries (@TEST_LIBRARY@)
+Version: @BOOST_VERSION@
+Libs: -L${libdir} -lboost_chrono -lboost_date_time -lboost_filesystem -lboost_iostreams -lboost_prg_exec_monitor -lboost_program_options -lboost_random -lboost_regex -lboost_serialization -lboost_system -lboost_thread -lboost_unit_test_framework -lboost_wserialization
+Cflags: -I/usr/include/boost
+
diff --git a/packaging/boost.spec b/packaging/boost.spec
new file mode 100644
index 0000000..6e9fdb9
--- /dev/null
+++ b/packaging/boost.spec
@@ -0,0 +1,845 @@
+%define run_tests 0
+%if %{run_tests}
+ # check is defined off at .rpmmacros file.
+ %define check %%check
+%endif
+
+%define ver 1.62.0
+%define file_version 1_62_0
+%define short_version 1_62
+
+#Only define to 1 to generate the man pages
+%define build_docs 0
+
+#Define to 0 to not package the pdf documentation
+%define package_pdf 0
+
+# Just hardcode build_mpi to 1 as soon as openmpi builds on all
+# named architectures.
+%define build_mpi 0
+
+%define disable_long_double 0
+
+%define boost_libs1 boost-date-time boost-filesystem boost-graph
+%define boost_libs2 boost-iostreams boost-math boost-test
+%define boost_libs3 boost-program-options boost-python boost-serialization
+%define boost_libs4 boost-signals boost-system boost-thread
+%define boost_libs5 boost-wave boost-regex
+%define boost_libs6 boost-random boost-chrono boost-locale
+%define boost_libs7 boost-timer boost-atomic boost-log boost-container
+
+%define most_libs %boost_libs1 %boost_libs2 %boost_libs3 %boost_libs4 %boost_libs5 %boost_libs6 %boost_libs7
+
+# context hasn't been ported to most architectures yet
+%ifarch x86_64 aarch64
+%define build_context 0
+%else
+%define build_context 1
+%endif
+
+# needs newer GCC to compile runtime
+%if %{build_context}
+%define build_fiber 1
+%else
+%define build_fiber 0
+%endif
+
+%if %{build_context}
+%define context_libs boost-context boost-coroutine
+%endif
+
+%if %{build_fiber}
+%define fiber_libs boost-fiber
+%endif
+
+%define all_libs %{most_libs} %{?context_libs} %{?fiber_libs}
+
+Name: boost
+BuildRequires: boost-jam
+BuildRequires: dos2unix
+BuildRequires: chrpath
+BuildRequires: gcc-c++
+BuildRequires: bzip2-devel
+BuildRequires: zlib-devel
+BuildRequires: expat-devel
+BuildRequires: libicu-devel
+BuildRequires: python
+BuildRequires: python-devel
+BuildRequires: xz
+BuildRequires: fdupes
+Url: http://www.boost.org
+Summary: Boost C++ Libraries
+License: BSL-1.0
+Group: Base/Libraries
+Version: 1.62.0
+Release: 0
+Source0: %{name}_%{file_version}.tar.bz2
+Source1: boost-rpmlintrc
+Source4: existing_extra_docs
+Source1001: boost.manifest
+Source1002: boost.pc
+
+%define _docdir %{_datadir}/doc/packages/boost-%{version}
+
+%description
+Boost provides free peer-reviewed portable C++ source libraries. The
+emphasis is on libraries that work well with the C++ Standard Library.
+One goal is to establish "existing practice" and provide 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.
+
+Although Boost was begun by members of the C++ Standards Committee
+Library Working Group, membership has expanded to include nearly two
+thousand members of the C++ community at large.
+
+This package is mainly needed for updating from a prior version, the
+dynamic libraries are found in their respective package. For development
+using Boost, you also need the boost-devel package. For documentation,
+see the boost-doc package.
+
+%package devel
+Summary: Development package for Boost C++
+Group: Development/Libraries/C and C++
+Requires: %{all_libs}
+Requires: libstdc++-devel
+
+%description devel
+This package contains all that is needed to develop/compile
+applications that use the Boost C++ libraries. For documentation see
+the documentation packages (html, man or pdf).
+
+%package -n boost-license
+Summary: Boost License
+Group: Development/Libraries/C and C++
+Provides: boost-license = %{version}-%{release}
+BuildArch: noarch
+
+%description -n boost-license
+This package contains the license boost is provided under.
+
+%package doc-html
+Summary: HTML documentation for the Boost C++ Libraries
+Group: Development/Libraries/C and C++
+BuildArch: noarch
+
+%description doc-html
+This package contains the documentation of the boost dynamic libraries
+in HTML format.
+
+%package -n boost-atomic
+Summary: Run-Time component of boost atomic library
+Group: System/Libraries
+Requires: boost-license
+
+%description -n boost-atomic
+Run-Time support for Boost.Atomic, a library that provides atomic data types
+and operations on these data types, as well as memory ordering constraints
+required for coordinating multiple threads through atomic variables.
+
+%package -n boost-container
+Summary: Boost::Container Runtime libraries
+Group: System/Libraries
+Requires: boost-license
+
+%description -n boost-container
+This package contains the Boost Container runtime libraries.
+
+%if %{build_context}
+%package -n boost-context
+Summary: Run-Time component of boost context switching library
+Group: System/Libraries
+Requires: boost-license
+
+%description -n boost-context
+Run-Time support for Boost.Context, a foundational library that
+provides a sort of cooperative multitasking on a single thread.
+
+%package -n boost-coroutine
+Summary: Boost::Coroutine Runtime libraries
+Group: System/Libraries
+Requires: boost-license
+
+%description -n boost-coroutine
+This package contains the Boost Coroutine runtime libraries.
+%endif
+
+%if %{build_fiber}
+%package -n boost-fiber
+Summary: Run-Time component of boost fiber
+Group: System/Libraries
+Requires: boost-license
+
+%description -n boost-fiber
+Run-Time support for Boost.fiber
+%endif
+
+
+%package -n boost-date-time
+Summary: Boost::Date.Time Runtime libraries
+Group: System/Libraries
+Requires: boost-license
+Provides: boost-date-time
+
+%description -n boost-date-time
+This package contains the Boost Date.Time runtime libraries.
+
+%package -n boost-filesystem
+Summary: Boost::Filesystem Runtime Libraries
+Group: System/Localization
+Requires: boost-license
+Provides: boost-filesystem
+
+%description -n boost-filesystem
+This package contains the Boost::Filesystem libraries.
+
+%package -n boost-graph
+Summary: Boost::Graph Runtime Libraries
+Group: System/Libraries
+Requires: boost-license
+Provides: boost-graph
+
+%description -n boost-graph
+This package contains the Boost::Graph Runtime libraries.
+
+%if %build_mpi
+%package -n boost-graph-parallel
+Summary: Boost graph::distributed runtime libraries
+Group: System/Libraries
+Requires: boost-license
+
+%description -n boost-graph-parallel
+This package contains the boost::graph::distributed runtime libraries.
+%endif
+
+%package -n boost-iostreams
+Summary: Boost::IOStreams Runtime Libraries
+Group: System/Libraries
+Requires: boost-license
+Provides: boost-iostreams
+
+%description -n boost-iostreams
+This package contains the Boost::IOStreams Runtime libraries.
+
+%package -n boost-log
+Summary: Run-Time component of boost logging library
+Group: System/Libraries
+Requires: boost-license
+Provides: boost-log
+
+%description -n boost-log
+Boost.Log library aims to make logging significantly easier for the
+application developer. It provides a wide range of out-of-the-box
+tools along with public interfaces for extending the library.
+
+%package -n boost-math
+Summary: Boost::Math Runtime Libraries
+Group: System/Libraries
+Requires: boost-license
+Provides: boost-math
+
+%description -n boost-math
+This package contains the Boost::Math Runtime libraries.
+
+%if %build_mpi
+%package -n boost-mpi
+Summary: Boost::MPI Runtime libraries
+Group: System/Libraries
+Requires: boost-license
+Provides: boost-mpi
+
+%description -n boost-mpi
+This package contains the Boost::MPI Runtime libraries.
+%endif
+
+%package -n boost-test
+Summary: Boost::Test Runtime Libraries
+Group: System/Libraries
+Requires: boost-license
+Provides: boost-test
+
+%description -n boost-test
+This package contains the Boost::Test runtime libraries.
+
+%package -n boost-program-options
+Summary: Boost::ProgramOptions Runtime libraries
+Group: System/Libraries
+Requires: boost-license
+Provides: boost-program-options
+
+%description -n boost-program-options
+This package contains the Boost::ProgramOptions Runtime libraries.
+
+
+%package -n boost-python
+Summary: Boost::Python Runtime Libraries
+Group: System/Libraries
+Requires: boost-license
+Provides: boost-python
+
+%description -n boost-python
+This package contains the Boost::Python Runtime libraries.
+
+%package -n boost-serialization
+Summary: Boost::Serialization Runtime Libraries
+Group: System/Libraries
+Requires: boost-license
+Provides: boost-serialization
+
+%description -n boost-serialization
+This package contains the Boost::Serialization Runtime libraries.
+
+%package -n boost-signals
+Summary: Boost::Signals Runtime Libraries
+Group: System/Libraries
+Requires: boost-license
+Provides: boost-signals
+
+%description -n boost-signals
+This package contains the Boost::Signals Runtime libraries.
+
+%package -n boost-system
+Summary: Boost::System Runtime Libraries
+Group: System/Libraries
+Requires: boost-license
+Provides: boost-system
+
+%description -n boost-system
+This package contains the Boost::System runtime libraries.
+
+%package -n boost-thread
+Summary: Boost::Thread Runtime Libraries
+Group: System/Libraries
+Requires: boost-license
+Provides: boost-thread
+
+%description -n boost-thread
+This package contains the Boost::Thread runtime libraries.
+
+%package -n boost-wave
+Summary: Boost::Wave Runtime Libraries
+Group: System/Libraries
+Requires: boost-license
+Provides: boost-wave
+
+%description -n boost-wave
+This package contains the Boost::Wave runtime libraries.
+
+%package -n boost-regex
+Summary: The Boost::Regex runtime library
+Group: System/Libraries
+Requires: boost-license
+Provides: boost-regex
+
+%description -n boost-regex
+This package contains the Boost::Regex runtime library.
+
+%package -n boost-random
+Summary: The Boost::Random runtime library
+Group: System/Libraries
+Requires: boost-license
+Provides: boost-random
+
+%description -n boost-random
+This package contains the Boost::Random runtime library.
+
+%package -n boost-chrono
+Summary: The Boost::Chrono runtime library
+Group: System/Libraries
+Requires: boost-license
+Provides: boost-chrono
+
+%description -n boost-chrono
+This package contains the Boost::Chrono runtime library.
+
+%package -n boost-locale
+Summary: The Boost::Locale runtime library
+Group: System/Libraries
+Requires: boost-license
+Provides: boost-locale
+
+%description -n boost-locale
+This package contains the Boost::Locale runtime library.
+
+%package -n boost-timer
+Summary: The Boost::Timer runtime library
+Group: System/Libraries
+Requires: boost-license
+Provides: boost-timer
+
+%description -n boost-timer
+This package contains the Boost::Timer runtime library.
+
+%package -n boost_type_erasure
+Summary: The Boost::TypeErasure runtime library
+Group: System/Libraries
+Requires: boost-license
+
+%description -n boost_type_erasure
+This package contains the Boost::TypeErasure runtime library.
+
+
+%prep
+%setup -q -n %{name}_%{version}
+cp %{SOURCE1001} .
+cp %{SOURCE1002} .
+#everything in the tarball has the executable flag set ...
+find -type f ! \( -name \*.sh -o -name \*.py -o -name \*.pl \) -exec chmod -x {} +
+
+#stupid build machinery copies .orig files
+find . -name \*.orig -exec rm {} +
+
+%build
+find . -type f -exec chmod u+w {} +
+
+# Create shared build instructions
+cat << \EOF >.build
+# Now build it
+J_P=%{jobs}
+J_G=$(getconf _NPROCESSORS_ONLN)
+JOBS=${JOBS-$J_P}
+[ $J_G -gt 64 ] && J_G=64
+
+if test -z "$JOBS"; then
+ JOBS=$J_G
+else
+ test 1 -gt "$JOBS" && JOBS=1
+fi
+
+%if %{disable_long_double}
+export LONG_DOUBLE_FLAGS="--disable-long-double"
+%endif
+BJAM_CONFIG="-d2 -j$JOBS -sICU_PATH=%{_prefix}"
+PYTHON_VERSION=$(python -c 'import sys; print sys.version[:3]')
+PYTHON_FLAGS="--with-python-root=/usr --with-python-version=$PYTHON_VERSION"
+export REGEX_FLAGS="--with-icu"
+export EXPAT_INCLUDE=/usr/include EXPAT_LIBPATH=%{_libdir}
+export PYTHON_FLAGS
+LIBRARIES_FLAGS=--with-libraries=all
+
+%if !%{build_context}
+# coroutine/coroutine2 depend on context
+LIBRARIES_FLAGS+=" --without-libraries=context,coroutine,coroutine2"
+%endif
+
+%if !%{build_fiber}
+LIBRARIES_FLAGS+=" --without-libraries=fiber"
+%endif
+
+EOF
+
+touch user-config.jam
+
+# Read shared build instructions
+. ./.build
+
+%if %build_mpi
+# Set PATH, MANPATH and LD_LIBRARY_PATH for mpi
+. /var/mpi-selector/data/$(rpm --qf "%{NAME}-%{VERSION}" -q openmpi).sh
+%endif
+
+# use supplied bootstrap.sh instead of mucking with old bjam
+# see also: https://svn.boost.org/trac/boost/ticket/9304
+./bootstrap.sh $LIBRARIES_FLAGS \
+ --prefix=%{_prefix} --exec-prefix=%{_bindir} \
+ --libdir=%{_libdir} --includedir=%{_includedir}
+
+# add specific wishes in user-config.jam
+%if %build_docs
+cat << EOF >user-config.jam
+using xsltproc ;
+
+using boostbook
+ : /usr/share/xml/docbook/stylesheet/nwalsh/current
+ : /usr/share/xml/docbook/schema/dtd/4.2
+ ;
+
+using doxygen ;
+EOF
+%endif
+
+%if %build_mpi
+cat << EOF >>user-config.jam
+using mpi ;
+EOF
+%endif
+
+# perform the compilation
+./b2 %{?_smp_mflags} --prefix=%{_prefix} --libdir=%{_libdir} \
+ --user-config=./user-config.jam ${CFLAGS:+cflags="$CFLAGS"} \
+ ${CXXFLAGS:+cxxflags="$CXXFLAGS"} ${LDFLAGS:+linkflags="$LDFLAGS"}
+
+
+%if %build_docs
+cd doc
+../b2 --user-config=../user-config.jam --v2 man
+%endif
+
+%check
+%if %{run_tests}
+BOOST_LIBS="chrono,program_options,thread,system,filesystem,date_time,regex,serialization,iostreams,random,test"
+ chmod 777 ./run_test.sh
+ echo "RUN run_test.sh"
+ ./run_test.sh %{version} $BOOST_LIBS || exit 0
+%endif
+
+%install
+
+# Read shared build instructions
+. ./.build
+
+%if %build_mpi
+# Set PATH, MANPATH and LD_LIBRARY_PATH for mpi
+. /var/mpi-selector/data/$(rpm --qf "%{NAME}-%{VERSION}" -q openmpi).sh
+%endif
+
+./b2 install %{?_smp_mflags} \
+ --prefix=%{buildroot}%{_prefix} --exec-prefix=%{buildroot}%{_bindir} \
+ --libdir=%{buildroot}%{_libdir} --includedir=%{buildroot}%{_includedir} \
+ --user-config=./user-config.jam
+
+# do not install the python module - as long as noone needs it, it requires more fixes
+# see https://bugzilla.redhat.com/show_bug.cgi?id=801534 for details
+rm -f %{buildroot}%{_libdir}/mpi.so
+
+mkdir -p %{buildroot}%{_docdir}
+
+pushd %{buildroot}%{_libdir}
+blibs=$(find . -name \*.so.%{version})
+echo $blibs | xargs chrpath -d
+
+for lib in ${blibs}; do
+ BASE=$(basename ${lib} .so.%{version})
+ SONAME_MT="$BASE-mt.so"
+ ln -sf ${lib} $SONAME_MT
+done
+popd
+
+# install pkgconfig file
+mkdir -p $RPM_BUILD_ROOT%{_libdir}/pkgconfig
+install -D -m 644 %{SOURCE1002} $RPM_BUILD_ROOT%{_libdir}/pkgconfig
+
+# install the man pages
+# rm -rf doc/man/man3/boost::units::operator
+# mv doc/man/man3/path.3 doc/man/man3/boost::property_tree::path.3
+# mv doc/man/man3/string.3 doc/man/man3/boost::container::string.3
+#
+# for sec in 3 7 9; do
+# install -d %%buildroot/%%{_mandir}/man${sec}
+# done
+# pushd doc/man
+# rm -f *.manifest
+# tar -cf - .| tar -C %%{buildroot}/%%{_mandir} -xvf -
+# popd
+
+#install doc files
+#dos2unix libs/ptr_container/doc/tutorial_example.html \
+# libs/parameter/doc/html/reference.html \
+# libs/parameter/doc/html/index.html \
+# libs/iostreams/doc/tree/tree.js \
+# libs/graph/doc/lengauer_tarjan_dominator.htm \
+# libs/test/test/test_files/errors_handling_test.pattern \
+# libs/test/test/test_files/result_report_test.pattern
+
+find . -name \*.htm\* -o -name \*.gif -o -name \*.css -o -name \*.jpg -o -name \*.png -o -name \*.ico | \
+ tar --files-from=%{S:4} -cf - --files-from=- | tar -C %{buildroot}%{_docdir} -xf -
+rm -rf %{buildroot}%{_docdir}/boost
+ln -s /usr/include/boost %{buildroot}%{_docdir}
+ln -s ../LICENSE_1_0.txt %{buildroot}%{_docdir}/libs
+#Copy the news file.
+#cp %%{S:5} %%{buildroot}%%{_docdir}
+#only for documentation, doesn't need to be executable
+find %{buildroot}%{_docdir} -name \*.py -exec chmod -x {} +
+
+%if %package_pdf
+chmod -x ../%{name}_%{short_version}_pdf/*.pdf
+%endif
+
+rm -f %{buildroot}%{_libdir}/*.a
+#symlink dupes
+%fdupes %buildroot
+
+%post -n boost-atomic -p /sbin/ldconfig
+%post -n boost-container -p /sbin/ldconfig
+
+%if %{build_context}
+%post -n boost-context -p /sbin/ldconfig
+%post -n boost-coroutine -p /sbin/ldconfig
+%endif
+
+%if %{build_fiber}
+%post -n boost-fiber -p /sbin/ldconfig
+%endif
+%post -n boost-date-time -p /sbin/ldconfig
+%post -n boost-filesystem -p /sbin/ldconfig
+%post -n boost-iostreams -p /sbin/ldconfig
+%post -n boost-log -p /sbin/ldconfig
+%post -n boost-test -p /sbin/ldconfig
+%post -n boost-program-options -p /sbin/ldconfig
+%post -n boost-python -p /sbin/ldconfig
+%post -n boost-regex -p /sbin/ldconfig
+%post -n boost-serialization -p /sbin/ldconfig
+%post -n boost-signals -p /sbin/ldconfig
+%post -n boost-thread -p /sbin/ldconfig
+%post -n boost-math -p /sbin/ldconfig
+%post -n boost_type_erasure -p /sbin/ldconfig
+%if %build_mpi
+%post -n boost-mpi -p /sbin/ldconfig
+%endif
+%post -n boost-graph -p /sbin/ldconfig
+%post -n boost-system -p /sbin/ldconfig
+%post -n boost-wave -p /sbin/ldconfig
+%post -n boost-random -p /sbin/ldconfig
+%post -n boost-chrono -p /sbin/ldconfig
+%post -n boost-locale -p /sbin/ldconfig
+%post -n boost-timer -p /sbin/ldconfig
+%if %build_mpi
+%post -n boost-graph-parallel -p /sbin/ldconfig
+%endif
+
+%postun -n boost-atomic -p /sbin/ldconfig
+%postun -n boost-container -p /sbin/ldconfig
+
+%if %{build_context}
+%postun -n boost-context -p /sbin/ldconfig
+%postun -n boost-coroutine -p /sbin/ldconfig
+%endif
+
+%if %{build_fiber}
+%postun -n boost-fiber -p /sbin/ldconfig
+%endif
+
+%postun -n boost-date-time -p /sbin/ldconfig
+%postun -n boost-filesystem -p /sbin/ldconfig
+%postun -n boost-iostreams -p /sbin/ldconfig
+%postun -n boost-log -p /sbin/ldconfig
+%postun -n boost-test -p /sbin/ldconfig
+%postun -n boost-program-options -p /sbin/ldconfig
+%postun -n boost-python -p /sbin/ldconfig
+%postun -n boost-regex -p /sbin/ldconfig
+%postun -n boost-serialization -p /sbin/ldconfig
+%postun -n boost-signals -p /sbin/ldconfig
+%postun -n boost-thread -p /sbin/ldconfig
+%postun -n boost-math -p /sbin/ldconfig
+%postun -n boost_type_erasure -p /sbin/ldconfig
+%if %build_mpi
+%postun -n boost-mpi -p /sbin/ldconfig
+%endif
+%postun -n boost-graph -p /sbin/ldconfig
+%postun -n boost-system -p /sbin/ldconfig
+%postun -n boost-wave -p /sbin/ldconfig
+%postun -n boost-random -p /sbin/ldconfig
+%postun -n boost-chrono -p /sbin/ldconfig
+%postun -n boost-locale -p /sbin/ldconfig
+%postun -n boost-timer -p /sbin/ldconfig
+%if %build_mpi
+%postun -n boost-graph-parallel -p /sbin/ldconfig
+%endif
+
+%files
+%manifest %{name}.manifest
+%license LICENSE_1_0.txt
+
+%files -n boost-license
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+
+%files -n boost-atomic
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_atomic*.so.*
+
+%files -n boost-container
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_container*.so.*
+
+
+%if %{build_context}
+%files -n boost-context
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_context*.so.*
+
+%files -n boost-coroutine
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_coroutine*.so.*
+%endif
+
+%if %{build_fiber}
+%files -n boost-fiber
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_fiber*.so.*
+%endif
+
+
+%files -n boost-date-time
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_date_time*.so.*
+
+%files -n boost-filesystem
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_filesystem*.so.*
+
+%files -n boost-graph
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_graph.so.*
+
+%if %build_mpi
+%files -n boost-graph-parallel
+%manifest %{name}.manifest
+%defattr(-,root,root)
+%license LICENSE_1_0.txt
+%_libdir/libboost_graph_parallel.so.*
+%endif
+
+%files -n boost-iostreams
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_iostreams*.so.*
+
+%files -n boost-log
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_log*.so.*
+
+%files -n boost-math
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_math_*.so.*
+
+%files -n boost_type_erasure
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_type_erasure*.so.*
+
+%if %build_mpi
+%manifest %{name}.manifest
+%files -n boost-mpi
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_mpi*.so.*
+%endif
+
+%files -n boost-test
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_prg_exec_monitor*.so.*
+%{_libdir}/libboost_unit_test_framework*.so.*
+
+%files -n boost-program-options
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_program_options*.so.*
+
+%files -n boost-python
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_python*.so.*
+
+%files -n boost-serialization
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_*serialization*.so.*
+
+%files -n boost-signals
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_signals*.so.*
+
+%files -n boost-system
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_system*.so.*
+
+%files -n boost-thread
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_thread*.so.*
+
+%files -n boost-wave
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_wave*.so.*
+
+%files -n boost-regex
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_regex*.so.*
+
+%files -n boost-random
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_random*.so.*
+
+%files -n boost-chrono
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_chrono*.so.*
+
+%files -n boost-locale
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_locale*.so.*
+
+%files -n boost-timer
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_timer*.so.*
+
+%files devel
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_includedir}/boost
+%{_libdir}/*.so
+%{_libdir}/pkgconfig/boost.pc
+#%%{_datadir}/aclocal/*.m4
+
+%files doc-html
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%doc %{_docdir}/*
+%exclude %{_docdir}/LICENSE_1_0.txt
+
+%if %package_pdf
+%files doc-pdf
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%doc ../%{name}_%{short_version}_pdf/*.pdf
+%endif
+
+%changelog
diff --git a/packaging/existing_extra_docs b/packaging/existing_extra_docs
new file mode 100644
index 0000000..aaa23af
--- /dev/null
+++ b/packaging/existing_extra_docs
@@ -0,0 +1,460 @@
+libs/algorithm/minmax/example/minmax_ex.cpp
+libs/algorithm/minmax/example/minmax_timer.cpp
+libs/assign/test/array.cpp
+libs/assign/test/list_inserter.cpp
+libs/assign/test/list_of.cpp
+libs/assign/test/list_of_workaround.cpp
+libs/assign/test/std.cpp
+libs/bind/bind_as_compose.cpp
+libs/bind/bind_visitor.cpp
+libs/bind/test/bind_fastcall_mf_test.cpp
+libs/bind/test/bind_fastcall_test.cpp
+libs/bind/test/bind_stdcall_mf_test.cpp
+libs/bind/test/bind_stdcall_test.cpp
+libs/bind/test/bind_test.cpp
+libs/bind/test/mem_fn_derived_test.cpp
+libs/bind/test/mem_fn_fastcall_test.cpp
+libs/bind/test/mem_fn_stdcall_test.cpp
+libs/bind/test/mem_fn_test.cpp
+libs/bind/test/mem_fn_void_test.cpp
+libs/compatibility/generate_cpp_c_headers.py
+libs/concept_check/bad_error_eg.cpp
+libs/concept_check/stl_concept_check.cpp
+libs/concept_check/stl_concept_covering.cpp
+libs/config/test/limits_test.cpp
+libs/config/tools/configure.in
+libs/crc/crc_example.cpp
+libs/filesystem/build/Jamfile.v2
+libs/filesystem/example/simple_ls.cpp
+libs/filesystem/test/fstream_test.cpp
+libs/filesystem/test/operations_test.cpp
+libs/filesystem/test/path_test.cpp
+libs/format/example/sample_advanced.cpp
+libs/format/example/sample_formats.cpp
+libs/format/example/sample_new_features.cpp
+libs/format/example/sample_userType.cpp
+libs/functional/hash/examples/books.cpp
+libs/functional/hash/examples/point.cpp
+libs/functional/hash/examples/portable.cpp
+libs/function/test/allocator_test.cpp
+libs/function/test/contains_test.cpp
+libs/function/test/function_30.cpp
+libs/function/test/function_arith_cxx98.cpp
+libs/function/test/function_arith_portable.cpp
+libs/function/test/function_n_test.cpp
+libs/function/test/function_ref_cxx98.cpp
+libs/function/test/function_ref_portable.cpp
+libs/function/test/function_test.cpp
+libs/function/test/function_test_fail1.cpp
+libs/function/test/function_test_fail2.cpp
+libs/function/test/lambda_test.cpp
+libs/function/test/mem_fun_cxx98.cpp
+libs/function/test/mem_fun_portable.cpp
+libs/function/test/stateless_test.cpp
+libs/function/test/std_bind_cxx98.cpp
+libs/function/test/std_bind_portable.cpp
+libs/function/test/sum_avg_cxx98.cpp
+libs/function/test/sum_avg_portable.cpp
+libs/graph/doc/iscope99.pdf
+libs/graph/doc/isomorphism-impl.pdf
+libs/graph/example/bfs.cpp
+libs/graph/example/bfs-example2.cpp
+libs/graph/example/bfs-example.cpp
+libs/graph/example/biconnected_components.cpp
+libs/graph/example/city_visitor.cpp
+libs/graph/example/connected_components.cpp
+libs/graph/example/csr-example.cpp
+libs/graph/example/cuthill_mckee_ordering.cpp
+libs/graph/example/dave.cpp
+libs/graph/example/dfs-example.cpp
+libs/graph/example/dfs_parenthesis.cpp
+libs/graph/example/dijkstra-example.cpp
+libs/graph/example/family-tree-eg.cpp
+libs/graph/example/file_dependencies.cpp
+libs/graph/example/fr_layout.cpp
+libs/graph/example/girth.cpp
+libs/graph/example/graphviz.cpp
+libs/graph/example/incremental_components.cpp
+libs/graph/example/isomorphism.cpp
+libs/graph/example/johnson-eg.cpp
+libs/graph/example/kevin-bacon.cpp
+libs/graph/example/king_ordering.cpp
+libs/graph/example/kruskal-example.cpp
+libs/graph/example/matching_example.cpp
+libs/graph/example/max_flow.cpp
+libs/graph/example/miles_span.cpp
+libs/graph/example/minimum_degree_ordering.cpp
+libs/graph/example/ordered_out_edges.cpp
+libs/graph/example/quick_tour.cpp
+libs/graph/example/reverse-graph-eg.cpp
+libs/graph/example/roget_components.cpp
+libs/graph/example/sloan_ordering.cpp
+libs/graph/example/strong_components.cpp
+libs/graph/example/transitive_closure.cpp
+libs/graph/example/transpose-example.cpp
+libs/graph/example/undirected_dfs.cpp
+libs/graph/test/dominator_tree_test.cpp
+libs/graph/test/graph.cpp
+libs/integer/test/integer_mask_test.cpp
+libs/integer/test/static_log2_test.cpp
+libs/integer/test/static_min_max_test.cpp
+libs/iostreams/doc/tree/tree.js
+libs/iostreams/example/container_device.hpp
+libs/iostreams/example/dictionary_filter.hpp
+libs/iostreams/example/finite_state_filter.hpp
+libs/iostreams/example/line_wrapping_filter.hpp
+libs/iostreams/example/shell_comments_filter.hpp
+libs/iostreams/example/tab_expanding_filter.hpp
+libs/iostreams/example/unix2dos_filter.hpp
+libs/iostreams/src/bzip2.cpp
+libs/iostreams/src/file_descriptor.cpp
+libs/iostreams/src/mapped_file.cpp
+libs/iostreams/src/zlib.cpp
+libs/iostreams/test/bzip2_test.cpp
+libs/iostreams/test/file_descriptor_test.cpp
+libs/iostreams/test/finite_state_filter_test.cpp
+libs/iostreams/test/mapped_file_test.cpp
+libs/iostreams/test/seekable_file_test.cpp
+libs/io/test/ios_state_test.cpp
+libs/iterator/doc/BidirectionalTraversal.rst
+libs/iterator/doc/counting_iterator.pdf
+libs/iterator/doc/counting_iterator.rst
+libs/iterator/doc/facade-and-adaptor.pdf
+libs/iterator/doc/facade-and-adaptor.rst
+libs/iterator/doc/filter_iterator.pdf
+libs/iterator/doc/filter_iterator.rst
+libs/iterator/doc/ForwardTraversal.rst
+libs/iterator/doc/function_output_iterator.pdf
+libs/iterator/doc/function_output_iterator.rst
+libs/iterator/doc/IncrementableIterator.rst
+libs/iterator/doc/index.rst
+libs/iterator/doc/indirect_iterator.pdf
+libs/iterator/doc/indirect_iterator.rst
+libs/iterator/doc/iterator_adaptor.pdf
+libs/iterator/doc/iterator_adaptor.rst
+libs/iterator/doc/iterator_archetypes.pdf
+libs/iterator/doc/iterator_archetypes.rst
+libs/iterator/doc/iterator_concepts.pdf
+libs/iterator/doc/iterator_concepts.rst
+libs/iterator/doc/iterator_facade.pdf
+libs/iterator/doc/iterator_facade.rst
+libs/iterator/doc/iterator_traits.pdf
+libs/iterator/doc/iterator_traits.rst
+libs/iterator/doc/LvalueIterator.rst
+libs/iterator/doc/new-iter-concepts.pdf
+libs/iterator/doc/new-iter-concepts.rst
+libs/iterator/doc/permutation_iterator.pdf
+libs/iterator/doc/permutation_iterator.rst
+libs/iterator/doc/pointee.pdf
+libs/iterator/doc/pointee.rst
+libs/iterator/doc/RandomAccessTraversal.rst
+libs/iterator/doc/ReadableIterator.rst
+libs/iterator/doc/reverse_iterator.pdf
+libs/iterator/doc/reverse_iterator.rst
+libs/iterator/doc/SinglePassIterator.rst
+libs/iterator/doc/SwappableIterator.rst
+libs/iterator/doc/transform_iterator.pdf
+libs/iterator/doc/transform_iterator.rst
+libs/iterator/doc/WritableIterator.rst
+libs/iterator/doc/zip_iterator.pdf
+libs/iterator/doc/zip_iterator.rst
+libs/iterator/example/counting_iterator_example.cpp
+libs/iterator/example/filter_iterator_example.cpp
+libs/iterator/example/indirect_iterator_example.cpp
+libs/iterator/example/node_iterator1.cpp
+libs/iterator/example/node_iterator2.cpp
+libs/iterator/example/node_iterator2.hpp
+libs/iterator/example/node_iterator3.cpp
+libs/iterator/example/permutation_iter_example.cpp
+libs/iterator/example/reverse_iterator_example.cpp
+libs/iterator/example/transform_iterator_example.cpp
+libs/logic/test/tribool_io_test.cpp
+libs/logic/test/tribool_rename_test.cpp
+libs/logic/test/tribool_test.cpp
+libs/math/octonion/graphics/octonion_blurb17.jpeg
+libs/math/octonion/octonion_test.cpp
+libs/math/octonion/output_more.txt
+libs/math/octonion/output.txt
+libs/math/quaternion/HSO3.hpp
+libs/math/quaternion/HSO3SO4.cpp
+libs/math/quaternion/HSO4.hpp
+libs/math/quaternion/output_more.txt
+libs/math/quaternion/output.txt
+libs/math/quaternion/quaternion_test.cpp
+libs/math/quaternion/TQE_EA.pdf
+libs/math/quaternion/TQE.pdf
+libs/math/special_functions/graphics/special_functions_blurb15.jpeg
+libs/math/special_functions/graphics/special_functions_blurb17.jpeg
+libs/math/special_functions/graphics/special_functions_blurb18.jpeg
+libs/math/special_functions/graphics/special_functions_blurb1.jpeg
+libs/math/special_functions/graphics/special_functions_blurb20.jpeg
+libs/math/special_functions/graphics/special_functions_blurb22.jpeg
+libs/math/special_functions/graphics/special_functions_blurb5.jpeg
+libs/math/special_functions/graphics/special_functions_blurb6.jpeg
+libs/math/special_functions/graphics/special_functions_blurb7.jpeg
+libs/math/special_functions/output_more.txt
+libs/math/special_functions/output.txt
+libs/math/special_functions/special_functions_test.cpp
+libs/math/test/common_factor_test.cpp
+libs/math/test/log1p_expm1_test.cpp
+libs/mpl/doc/refmanual.pdf
+libs/mpl/example/fsm/player1.cpp
+libs/multi_array/test/access.cpp
+libs/multi_array/test/assign.cpp
+libs/multi_array/test/assign_to_array.cpp
+libs/multi_array/test/compare.cpp
+libs/multi_array/test/concept_checks.cpp
+libs/multi_array/test/constructors.cpp
+libs/multi_array/test/fail_cbracket.cpp
+libs/multi_array/test/fail_cdata.cpp
+libs/multi_array/test/fail_citerator.cpp
+libs/multi_array/test/fail_cparen.cpp
+libs/multi_array/test/fail_criterator.cpp
+libs/multi_array/test/fail_csubarray2.cpp
+libs/multi_array/test/fail_csubarray3.cpp
+libs/multi_array/test/fail_csubarray.cpp
+libs/multi_array/test/fail_cview2.cpp
+libs/multi_array/test/fail_cview3.cpp
+libs/multi_array/test/fail_cview.cpp
+libs/multi_array/test/fail_ref_cbracket.cpp
+libs/multi_array/test/fail_ref_cdata.cpp
+libs/multi_array/test/fail_ref_citerator.cpp
+libs/multi_array/test/fail_ref_cparen.cpp
+libs/multi_array/test/fail_ref_criterator.cpp
+libs/multi_array/test/fail_ref_csubarray2.cpp
+libs/multi_array/test/fail_ref_csubarray3.cpp
+libs/multi_array/test/fail_ref_csubarray.cpp
+libs/multi_array/test/fail_ref_cview2.cpp
+libs/multi_array/test/fail_ref_cview3.cpp
+libs/multi_array/test/fail_ref_cview.cpp
+libs/multi_array/test/generative_tests.hpp
+libs/multi_array/test/idxgen1.cpp
+libs/multi_array/test/index_bases.cpp
+libs/multi_array/test/iterators.cpp
+libs/multi_array/test/range1.cpp
+libs/multi_array/test/reshape.cpp
+libs/multi_array/test/resize.cpp
+libs/multi_array/test/slice.cpp
+libs/multi_array/test/stl_interaction.cpp
+libs/multi_array/test/storage_order.cpp
+libs/multi_index/example/basic.cpp
+libs/multi_index/example/bimap.cpp
+libs/multi_index/example/complex_structs.cpp
+libs/multi_index/example/composite_keys.cpp
+libs/multi_index/example/hashed.cpp
+libs/multi_index/example/non_default_ctor.cpp
+libs/multi_index/example/random_access.cpp
+libs/multi_index/example/rearrange.cpp
+libs/multi_index/example/sequenced.cpp
+libs/multi_index/example/serialization.cpp
+libs/multi_index/perf/test_perf.cpp
+libs/multi_index/test/test_basic.cpp
+libs/multi_index/test/test_capacity.cpp
+libs/multi_index/test/test_comparison.cpp
+libs/multi_index/test/test_composite_key.cpp
+libs/multi_index/test/test_conv_iterators.cpp
+libs/multi_index/test/test_copy_assignment.cpp
+libs/multi_index/test/test_hash_ops.cpp
+libs/multi_index/test/test_iterators.cpp
+libs/multi_index/test/test_key_extractors.cpp
+libs/multi_index/test/test_list_ops.cpp
+libs/multi_index/test/test_modifiers.cpp
+libs/multi_index/test/test_mpl_ops.cpp
+libs/multi_index/test/test_observers.cpp
+libs/multi_index/test/test_projection.cpp
+libs/multi_index/test/test_range.cpp
+libs/multi_index/test/test_rearrange.cpp
+libs/multi_index/test/test_safe_mode.cpp
+libs/multi_index/test/test_serialization1.cpp
+libs/multi_index/test/test_serialization2.cpp
+libs/multi_index/test/test_set_ops.cpp
+libs/multi_index/test/test_special_set_ops.cpp
+libs/multi_index/test/test_update.cpp
+libs/preprocessor/doc/examples/array_arithmetic.c
+libs/preprocessor/doc/examples/catch_builtin.cpp
+libs/preprocessor/doc/examples/delay.c
+libs/preprocessor/doc/examples/duffs_device.c
+libs/preprocessor/doc/examples/is_integral.cpp
+libs/preprocessor/doc/examples/linear_fib.c
+libs/ptr_container/test/incomplete_type_test.cpp
+libs/ptr_container/test/ptr_array.cpp
+libs/ptr_container/test/simple_test.cpp
+libs/ptr_container/test/tree_test.cpp
+libs/ptr_container/test/view_example.cpp
+libs/python/doc/building.rst
+libs/python/doc/internals.rst
+libs/python/doc/PyConDC_2003/bpl.pdf
+libs/python/doc/v2/callbacks.txt
+libs/python/example/quickstart/boost-build.jam
+libs/python/example/quickstart/extending.cpp
+libs/python/example/quickstart/Jamroot
+libs/python/example/tutorial/Jamroot
+libs/python/test/input_iterator.cpp
+libs/python/test/iterator.cpp
+libs/python/test/iterator.py
+libs/python/test/map_indexing_suite.cpp
+libs/python/test/map_indexing_suite.py
+libs/python/test/pickle1.cpp
+libs/python/test/pickle2.cpp
+libs/python/test/pickle3.cpp
+libs/python/test/pickle4.cpp
+libs/python/test/vector_indexing_suite.cpp
+libs/python/test/vector_indexing_suite.py
+libs/range/test/algorithm_example.cpp
+libs/range/test/array.cpp
+libs/range/test/iterator_pair.cpp
+libs/range/test/iterator_range.cpp
+libs/range/test/reversible_range.cpp
+libs/range/test/std_container.cpp
+libs/range/test/string.cpp
+libs/range/test/sub_range.cpp
+libs/regex/build/generic.mak
+libs/regex/example/grep/grep.cpp
+libs/regex/example/snippets/captures_example.cpp
+libs/regex/example/snippets/credit_card_example.cpp
+libs/regex/example/snippets/partial_regex_grep.cpp
+libs/regex/example/snippets/partial_regex_match.cpp
+libs/regex/example/snippets/regex_grep_example_1.cpp
+libs/regex/example/snippets/regex_grep_example_2.cpp
+libs/regex/example/snippets/regex_grep_example_3.cpp
+libs/regex/example/snippets/regex_grep_example_4.cpp
+libs/regex/example/snippets/regex_iterator_example.cpp
+libs/regex/example/snippets/regex_match_example.cpp
+libs/regex/example/snippets/regex_merge_example.cpp
+libs/regex/example/snippets/regex_replace_example.cpp
+libs/regex/example/snippets/regex_search_example.cpp
+libs/regex/example/snippets/regex_split_example_1.cpp
+libs/regex/example/snippets/regex_split_example_2.cpp
+libs/regex/example/snippets/regex_token_iterator_eg_1.cpp
+libs/regex/example/snippets/regex_token_iterator_eg_2.cpp
+libs/regex/example/timer/regex_timer.cpp
+libs/regex/test/captures/captures_test.cpp
+libs/regex/test/concepts/concept_check.cpp
+libs/regex/test/pathology/bad_expression_test.cpp
+libs/regex/test/pathology/recursion_test.cpp
+libs/regex/test/regress/basic_tests.cpp
+libs/regex/test/regress/main.cpp
+libs/regex/test/regress/test_deprecated.cpp
+libs/serialization/example/demo_auto_ptr.cpp
+libs/serialization/example/demo.cpp
+libs/serialization/example/demo_exception.cpp
+libs/serialization/example/demo_fast_archive.cpp
+libs/serialization/example/demofile.txt
+libs/serialization/example/demo_output.txt
+libs/serialization/example/demo_pimpl_A.cpp
+libs/serialization/example/demo_pimpl.cpp
+libs/serialization/example/demo_polymorphic_A.cpp
+libs/serialization/example/demo_polymorphic_A.hpp
+libs/serialization/example/demo_polymorphic.cpp
+libs/serialization/example/demo_portable_archive.cpp
+libs/serialization/example/demo_save.xml
+libs/serialization/example/demo_shared_ptr.cpp
+libs/serialization/example/demo_xml.cpp
+libs/serialization/example/demo_xml.hpp
+libs/serialization/example/demo_xml_load.cpp
+libs/serialization/example/demo_xml_save.cpp
+libs/serialization/test/test_delete_pointer.cpp
+libs/serialization/test/test_diamond.cpp
+libs/serialization/test/test_no_rtti.cpp
+libs/signals/example/doc_view.cpp
+libs/signals/test/dead_slot_test.cpp
+libs/signals/test/deletion_test.cpp
+libs/signals/test/ordering_test.cpp
+libs/signals/test/signal_n_test.cpp
+libs/signals/test/signal_test.cpp
+libs/signals/test/trackable_test.cpp
+libs/smart_ptr/example/scoped_ptr_example.cpp
+libs/smart_ptr/example/scoped_ptr_example.hpp
+libs/smart_ptr/example/scoped_ptr_example_test.cpp
+libs/smart_ptr/example/shared_ptr_example2.cpp
+libs/smart_ptr/example/shared_ptr_example2.hpp
+libs/smart_ptr/example/shared_ptr_example2_test.cpp
+libs/smart_ptr/example/shared_ptr_example.cpp
+libs/smart_ptr/smarttest.zip
+libs/smart_ptr/test/pointer_cast_test.cpp
+libs/smart_ptr/test/pointer_to_other_test.cpp
+libs/smart_ptr/test/smart_ptr_test.cpp
+libs/statechart/doc/rationale.pdf
+libs/statechart/doc/reference.pdf
+libs/statechart/doc/tutorial.pdf
+libs/statechart/test/TuTest.cpp
+libs/statechart/test/TuTest.hpp
+libs/statechart/test/TuTestMain.cpp
+libs/static_assert/static_assert_example_1.cpp
+libs/static_assert/static_assert_example_2.cpp
+libs/static_assert/static_assert_example_3.cpp
+libs/static_assert/static_assert_test.cpp
+libs/static_assert/static_assert_test_fail_1.cpp
+libs/static_assert/static_assert_test_fail_2.cpp
+libs/static_assert/static_assert_test_fail_3.cpp
+libs/static_assert/static_assert_test_fail_4.cpp
+libs/static_assert/static_assert_test_fail_5.cpp
+libs/static_assert/static_assert_test_fail_6.cpp
+libs/static_assert/static_assert_test_fail_7.cpp
+libs/static_assert/static_assert_test_fail_8.cpp
+libs/static_assert/static_assert_test_fail_9.cpp
+libs/test/example/exec_mon_example.cpp
+libs/test/example/prg_exec_example.cpp
+libs/test/example/test_case_template_example.cpp
+libs/test/example/unit_test_example_01.cpp
+libs/test/example/unit_test_example_02.cpp
+libs/test/example/unit_test_example_03.cpp
+libs/test/example/unit_test_example_04.cpp
+libs/test/example/unit_test_example_05.cpp
+libs/test/src/compiler_log_formatter.cpp
+libs/test/src/cpp_main.cpp
+libs/test/src/exception_safety.cpp
+libs/test/src/execution_monitor.cpp
+libs/test/src/framework.cpp
+libs/test/src/interaction_based.cpp
+libs/test/src/logged_expectations.cpp
+libs/test/src/plain_report_formatter.cpp
+libs/test/src/progress_monitor.cpp
+libs/test/src/results_collector.cpp
+libs/test/src/results_reporter.cpp
+libs/test/src/test_tools.cpp
+libs/test/src/unit_test_log.cpp
+libs/test/src/unit_test_main.cpp
+libs/test/src/unit_test_monitor.cpp
+libs/test/src/unit_test_parameters.cpp
+libs/test/src/unit_test_suite.cpp
+libs/test/src/xml_log_formatter.cpp
+libs/test/src/xml_report_formatter.cpp
+libs/test/test/custom_exception_test.cpp
+libs/test/test/errors_handling_test.cpp
+libs/test/test/minimal_test.cpp
+libs/test/test/online_test.cpp
+libs/test/test/output_test_stream_test.cpp
+libs/test/test/parameterized_test_test.cpp
+libs/test/test/prg_exec_fail1.cpp
+libs/test/test/prg_exec_fail2.cpp
+libs/test/test/prg_exec_fail3.cpp
+libs/test/test/prg_exec_fail4.cpp
+libs/test/test/result_report_test.cpp
+libs/test/test/test_case_template_test.cpp
+libs/test/test/test_files/errors_handling_test.pattern
+libs/test/test/test_files/result_report_test.pattern
+libs/test/test/test_fp_comparisons.cpp
+libs/test/test/test_tools_test.cpp
+libs/type_traits/examples/copy_example.cpp
+libs/type_traits/examples/fill_example.cpp
+libs/type_traits/examples/iter_swap_example.cpp
+libs/type_traits/examples/trivial_destructor_example.cpp
+libs/utility/base_from_member_test.cpp
+libs/utility/call_traits_test.cpp
+libs/utility/iterators_test.cpp
+libs/utility/operators_test.cpp
+libs/utility/shared_iterator_example1.cpp
+libs/utility/shared_iterator_example2.cpp
+libs/utility/shared_iterator_example3.cpp
+libs/wave/ChangeLog
+LICENSE_1_0.txt
+more/blanket-permission.txt
+tools/inspect/build/Jamfile.v2
+tools/inspect/inspect.cpp
+tools/inspect/inspector.hpp
+tools/inspect/link_check.cpp
+tools/inspect/link_check.hpp
+tools/inspect/tab_check.cpp
+tools/inspect/tab_check.hpp
+tools/quickbook/doc/quickbook.qbk
diff --git a/run_test.sh b/run_test.sh
new file mode 100755
index 0000000..9d5fab3
--- /dev/null
+++ b/run_test.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+BOOST_VERSION=$1
+BOOST_PACKAGE_LIST=${2//,/ }
+
+echo "Boost package list: [$BOOST_PACKAGE_LIST]"
+
+TEST_LOG="/tmp/boost_test"
+export TEST_LOG
+rm -f ${TEST_LOG}
+
+# Color
+Color_Off='\e[0m' # Text Reset
+
+# Regular Colors
+Red='\e[0;31m' # Red
+Green='\e[0;32m' # Green
+Cyan='\e[0;36m' # Cyank
+
+# Bold
+BWhite='\e[1;37m' # White
+
+
+for ix in $BOOST_PACKAGE_LIST;
+do
+# echo "Build [$ix] test case"
+ pushd ./libs/${ix}/test
+ ../../../b2 > /dev/null 2>&1
+ popd
+
+# echo "Check [$ix] test result"
+ pushd ./bin.v2/libs/${ix}/test
+ for iy in `find . -name "*.output"`;
+ do
+ result=`cat $iy | grep "EXIT STATUS:" | awk '{print $3}'`
+ if [ $result -eq 0 ]
+ then
+ echo -e "${Green}PASS${Color_Off}: [$ix] [${iy##*/}]"
+ echo "TEST: PASS: [$ix] [${iy##*/}]" >> ${TEST_LOG}
+ else
+ echo -e "${Red}FAIL${Color_Off}: [$ix] [${iy##*/}]"
+ echo "TEST: FAIL: [$ix] [${iy##*/}]" >> ${TEST_LOG}
+ fi
+ done
+ popd
+done
+
+
+TOTAL_CNT=`grep "TEST:" ${TEST_LOG} | wc -l`
+PASS_CNT=`grep "PASS:" ${TEST_LOG} | wc -l`
+FAIL_CNT=`grep "FAIL:" ${TEST_LOG} | wc -l`
+SKIP_CNT=`grep "SKIP:" ${TEST_LOG} | wc -l`
+
+
+br='==================='; br=$br$br$br$br;
+
+echo -e "${Green}$br ${Color_Off}"
+echo -e "${Green}Testshite summary for Boost ${BOOST_VERSION}${Color_Off}"
+echo -e "${Green}$br ${Color_Off}"
+echo -e "#${BWhite} TOTAL: $TOTAL_CNT ${Color_Off}"
+echo -e "#${Green} PASS${Color_Off} : $PASS_CNT"
+echo -e "#${Red} FAIL${Color_Off} : $FAIL_CNT"
+echo -e "#${Cyan} SKIP${Color_Off} : $SKIP_CNT"
+echo -e "${Green}$br ${Color_Off}"
+
+rm -f ${TEST_LOG}
+exit 0
+
diff --git a/tools/build/src/tools/gcc.jam b/tools/build/src/tools/gcc.jam
index 13b7063..c13ecf3 100644
--- a/tools/build/src/tools/gcc.jam
+++ b/tools/build/src/tools/gcc.jam
@@ -469,10 +469,10 @@ rule setup-address-model ( targets * : sources * : properties * )
{
option = -m32 ;
}
- else if $(model) = 64
- {
- option = -m64 ;
- }
+# else if $(model) = 64
+# {
+# option = -m64 ;
+# }
}
# For darwin, the model can be 32_64. darwin.jam will handle that
# on its own.