From: g0dil Date: Mon, 8 Feb 2010 22:25:21 +0000 (+0000) Subject: Add SCons configure checks X-Git-Url: http://g0dil.de/git?a=commitdiff_plain;h=4123b4fe58a7fd4659fa01476581690b47c83600;p=senf.git Add SCons configure checks git-svn-id: https://svn.berlios.de/svnroot/repos/senf/trunk@1573 270642c3-0616-0410-b53a-bc976706d245 --- diff --git a/.gitignore b/.gitignore index ba35e05..3bc81f9 100644 --- a/.gitignore +++ b/.gitignore @@ -20,6 +20,8 @@ doc/ .test.bin .test.stamp .test-valgrind.stamp +.sconf_temp/ +config.log # Local files (files in this directory) /SConscript.local diff --git a/SConstruct b/SConstruct index 045c091..33f2dec 100644 --- a/SConstruct +++ b/SConstruct @@ -1,7 +1,10 @@ # -*- python -*- +from __future__ import with_statement + import sys, os.path, fnmatch -import SENFSCons, senfutil +import SENFSCons, senfutil, senfconf + ########################################################################### # Load utilities and setup libraries and configure build @@ -65,12 +68,12 @@ env.Append( CLEAN_PATTERNS = [ '*~', '#*#', '*.pyc', 'semantic.cache', '.sconsign*' ], BUILDDIR = '${FLAVOR and "#/build/$FLAVOR" or "#"}', - CPPPATH = [ '$BUILDDIR', '#' ], + CPPPATH = [ '#', '$BUILDDIR', + '${NEED_BOOST_EXT and "#/boost_ext" or None}' ], LOCALLIBDIR = '$BUILDDIR', LIBPATH = [ '$LOCALLIBDIR' ], - LIBS = [ '$LIBSENF$LIBADDSUFFIX', '$EXTRA_LIBS' ], - EXTRA_LIBS = [ 'rt', '$BOOSTREGEXLIB', '$BOOSTIOSTREAMSLIB', '$BOOSTSIGNALSLIB', - '$BOOSTFSLIB' ], + LIBS = [ '$EXTRA_LIBS' ], + EXTRA_LIBS = [ 'rt' ], TEST_EXTRA_LIBS = [ ], VALGRINDARGS = [ '--num-callers=50' ], @@ -122,6 +125,7 @@ env.SetDefault( LIBSENF = "senf", LCOV = "lcov", GENHTML = "genhtml", + VALGRIND = "valgrind", SCONSBIN = env.File("#/tools/scons"), SCONSARGS = [ '-Q', '-j$CONCURRENCY_LEVEL', 'debug=$debug', 'final=$final' ] + \ [ '%s=%s' % (k,v) for k,v in ARGUMENTS.iteritems() ], @@ -133,11 +137,6 @@ env.SetDefault( FLAVOR = '', ) -# ugly hack for ubuntu karmic -# ToDo: auto-configure alike support -if os.path.exists('/usr/lib/libboost_regex-mt.so'): - env.Append( BOOST_VARIANT = '-mt' ) - # Set variables from command line senfutil.parseArguments( env, @@ -154,6 +153,42 @@ if 'test_changes' in COMMAND_LINE_TARGETS and not env.has_key('only_tests'): if env.has_key('only_tests') : env['sparse_tests'] = True Export('env') +########################################################################### +# Configure + +# Default configuration (boost stuff) +senfutil.Configure(env) + +@senfconf.Test +def CheckValgrind(context): + context.Message( "Checking for valgrind... " ) + ret = context.TryAction(['valgrind --version >$TARGET']) + context.Result( ret[1].strip() or False ) + return ret[0] + +@senfconf.Test +def CheckValgrindWildcards(context): + context.Message( "Checking whether valgrind supports '...' wildcards in suppressions... " ) + ret = context.TryAction(['valgrind --suppressions=$SOURCE /bin/true'], + "{\n test_suppression\n Memcheck:Addr4\n ...\n fun:foo\n}\n", + ".sup") + context.Result( ret[0] ) + return ret[0] + +conf = env.Configure(clean=False, help=False, custom_tests = senfconf.Tests()) +env.Replace( + HAVE_VALGRIND = conf.CheckValgrind() and conf.CheckValgrindWildcards() +) +conf.Finish() + +# Only add this here, after all configure checks have run + +env.Append(LIBS = '$LIBSENF$LIBADDSUFFIX', + EXTRA_LIBS = [ '$BOOSTREGEXLIB', '$BOOSTIOSTREAMSLIB', '$BOOSTSIGNALSLIB', + '$BOOSTFSLIB' ]) + +########################################################################### + # Create Doxyfile.local otherwise doxygen will barf on this non-existent file # Create it even when cleaning, to silence the doxygen builder warnings if not os.path.exists("doclib/Doxyfile.local"): @@ -204,18 +239,20 @@ env.Alias('all', [ 'default', 'all_tests', 'examples', 'all_docs' ]) env.PhonyTarget('prepare', [], []) #### valgrind -for test in env.FindAllBoostUnitTests(): - stamp = env.Command(test[0].dir.File('.test-valgrind.stamp'), - [ test[0].dir.File('.test.bin'), 'tools/valgrind.sup' ], - [ """valgrind --tool=memcheck - --error-exitcode=99 - --suppressions=${SOURCES[1]} - $VALGRINDARGS - ${SOURCES[0]} $BOOSTTESTARGS; - [ $$? -ne 99 ] || exit 1""".replace("\n"," "), - Touch("$TARGET") ]) - alias = env.Command(test[0].dir.File('valgrind'), stamp, [ env.NopAction() ]) - env.Alias('all_valgrinds', alias) +env.Alias('all_valgrinds') +if env['HAVE_VALGRIND']: + for test in env.FindAllBoostUnitTests(): + stamp = env.Command(test[0].dir.File('.test-valgrind.stamp'), + [ test[0].dir.File('.test.bin'), 'tools/valgrind.sup' ], + [ """$VALGRIND --tool=memcheck + --error-exitcode=1 + --suppressions=${SOURCES[1]} + $VALGRINDARGS + ${SOURCES[0]} --result_code=no $BOOSTTESTARGS + """.replace("\n"," "), + Touch("$TARGET") ]) + alias = env.Command(test[0].dir.File('valgrind'), stamp, [ env.NopAction() ]) + env.Alias('all_valgrinds', alias) ### lcov env.PhonyTarget('lcov', [], [ diff --git a/boost/bimap.hpp b/boost_ext/boost/bimap.hpp similarity index 100% rename from boost/bimap.hpp rename to boost_ext/boost/bimap.hpp diff --git a/boost/bimap/bimap.hpp b/boost_ext/boost/bimap/bimap.hpp similarity index 100% rename from boost/bimap/bimap.hpp rename to boost_ext/boost/bimap/bimap.hpp diff --git a/boost/bimap/container_adaptor/associative_container_adaptor.hpp b/boost_ext/boost/bimap/container_adaptor/associative_container_adaptor.hpp similarity index 100% rename from boost/bimap/container_adaptor/associative_container_adaptor.hpp rename to boost_ext/boost/bimap/container_adaptor/associative_container_adaptor.hpp diff --git a/boost/bimap/container_adaptor/container_adaptor.hpp b/boost_ext/boost/bimap/container_adaptor/container_adaptor.hpp similarity index 100% rename from boost/bimap/container_adaptor/container_adaptor.hpp rename to boost_ext/boost/bimap/container_adaptor/container_adaptor.hpp diff --git a/boost/bimap/container_adaptor/detail/comparison_adaptor.hpp b/boost_ext/boost/bimap/container_adaptor/detail/comparison_adaptor.hpp similarity index 100% rename from boost/bimap/container_adaptor/detail/comparison_adaptor.hpp rename to boost_ext/boost/bimap/container_adaptor/detail/comparison_adaptor.hpp diff --git a/boost/bimap/container_adaptor/detail/functor_bag.hpp b/boost_ext/boost/bimap/container_adaptor/detail/functor_bag.hpp similarity index 100% rename from boost/bimap/container_adaptor/detail/functor_bag.hpp rename to boost_ext/boost/bimap/container_adaptor/detail/functor_bag.hpp diff --git a/boost/bimap/container_adaptor/detail/identity_converters.hpp b/boost_ext/boost/bimap/container_adaptor/detail/identity_converters.hpp similarity index 100% rename from boost/bimap/container_adaptor/detail/identity_converters.hpp rename to boost_ext/boost/bimap/container_adaptor/detail/identity_converters.hpp diff --git a/boost/bimap/container_adaptor/detail/key_extractor.hpp b/boost_ext/boost/bimap/container_adaptor/detail/key_extractor.hpp similarity index 100% rename from boost/bimap/container_adaptor/detail/key_extractor.hpp rename to boost_ext/boost/bimap/container_adaptor/detail/key_extractor.hpp diff --git a/boost/bimap/container_adaptor/detail/non_unique_container_helper.hpp b/boost_ext/boost/bimap/container_adaptor/detail/non_unique_container_helper.hpp similarity index 100% rename from boost/bimap/container_adaptor/detail/non_unique_container_helper.hpp rename to boost_ext/boost/bimap/container_adaptor/detail/non_unique_container_helper.hpp diff --git a/boost/bimap/container_adaptor/list_adaptor.hpp b/boost_ext/boost/bimap/container_adaptor/list_adaptor.hpp similarity index 100% rename from boost/bimap/container_adaptor/list_adaptor.hpp rename to boost_ext/boost/bimap/container_adaptor/list_adaptor.hpp diff --git a/boost/bimap/container_adaptor/list_map_adaptor.hpp b/boost_ext/boost/bimap/container_adaptor/list_map_adaptor.hpp similarity index 100% rename from boost/bimap/container_adaptor/list_map_adaptor.hpp rename to boost_ext/boost/bimap/container_adaptor/list_map_adaptor.hpp diff --git a/boost/bimap/container_adaptor/map_adaptor.hpp b/boost_ext/boost/bimap/container_adaptor/map_adaptor.hpp similarity index 100% rename from boost/bimap/container_adaptor/map_adaptor.hpp rename to boost_ext/boost/bimap/container_adaptor/map_adaptor.hpp diff --git a/boost/bimap/container_adaptor/multimap_adaptor.hpp b/boost_ext/boost/bimap/container_adaptor/multimap_adaptor.hpp similarity index 100% rename from boost/bimap/container_adaptor/multimap_adaptor.hpp rename to boost_ext/boost/bimap/container_adaptor/multimap_adaptor.hpp diff --git a/boost/bimap/container_adaptor/multiset_adaptor.hpp b/boost_ext/boost/bimap/container_adaptor/multiset_adaptor.hpp similarity index 100% rename from boost/bimap/container_adaptor/multiset_adaptor.hpp rename to boost_ext/boost/bimap/container_adaptor/multiset_adaptor.hpp diff --git a/boost/bimap/container_adaptor/ordered_associative_container_adaptor.hpp b/boost_ext/boost/bimap/container_adaptor/ordered_associative_container_adaptor.hpp similarity index 100% rename from boost/bimap/container_adaptor/ordered_associative_container_adaptor.hpp rename to boost_ext/boost/bimap/container_adaptor/ordered_associative_container_adaptor.hpp diff --git a/boost/bimap/container_adaptor/sequence_container_adaptor.hpp b/boost_ext/boost/bimap/container_adaptor/sequence_container_adaptor.hpp similarity index 100% rename from boost/bimap/container_adaptor/sequence_container_adaptor.hpp rename to boost_ext/boost/bimap/container_adaptor/sequence_container_adaptor.hpp diff --git a/boost/bimap/container_adaptor/set_adaptor.hpp b/boost_ext/boost/bimap/container_adaptor/set_adaptor.hpp similarity index 100% rename from boost/bimap/container_adaptor/set_adaptor.hpp rename to boost_ext/boost/bimap/container_adaptor/set_adaptor.hpp diff --git a/boost/bimap/container_adaptor/support/iterator_facade_converters.hpp b/boost_ext/boost/bimap/container_adaptor/support/iterator_facade_converters.hpp similarity index 100% rename from boost/bimap/container_adaptor/support/iterator_facade_converters.hpp rename to boost_ext/boost/bimap/container_adaptor/support/iterator_facade_converters.hpp diff --git a/boost/bimap/container_adaptor/unordered_associative_container_adaptor.hpp b/boost_ext/boost/bimap/container_adaptor/unordered_associative_container_adaptor.hpp similarity index 100% rename from boost/bimap/container_adaptor/unordered_associative_container_adaptor.hpp rename to boost_ext/boost/bimap/container_adaptor/unordered_associative_container_adaptor.hpp diff --git a/boost/bimap/container_adaptor/unordered_map_adaptor.hpp b/boost_ext/boost/bimap/container_adaptor/unordered_map_adaptor.hpp similarity index 100% rename from boost/bimap/container_adaptor/unordered_map_adaptor.hpp rename to boost_ext/boost/bimap/container_adaptor/unordered_map_adaptor.hpp diff --git a/boost/bimap/container_adaptor/unordered_multimap_adaptor.hpp b/boost_ext/boost/bimap/container_adaptor/unordered_multimap_adaptor.hpp similarity index 100% rename from boost/bimap/container_adaptor/unordered_multimap_adaptor.hpp rename to boost_ext/boost/bimap/container_adaptor/unordered_multimap_adaptor.hpp diff --git a/boost/bimap/container_adaptor/unordered_multiset_adaptor.hpp b/boost_ext/boost/bimap/container_adaptor/unordered_multiset_adaptor.hpp similarity index 100% rename from boost/bimap/container_adaptor/unordered_multiset_adaptor.hpp rename to boost_ext/boost/bimap/container_adaptor/unordered_multiset_adaptor.hpp diff --git a/boost/bimap/container_adaptor/unordered_set_adaptor.hpp b/boost_ext/boost/bimap/container_adaptor/unordered_set_adaptor.hpp similarity index 100% rename from boost/bimap/container_adaptor/unordered_set_adaptor.hpp rename to boost_ext/boost/bimap/container_adaptor/unordered_set_adaptor.hpp diff --git a/boost/bimap/container_adaptor/vector_adaptor.hpp b/boost_ext/boost/bimap/container_adaptor/vector_adaptor.hpp similarity index 100% rename from boost/bimap/container_adaptor/vector_adaptor.hpp rename to boost_ext/boost/bimap/container_adaptor/vector_adaptor.hpp diff --git a/boost/bimap/container_adaptor/vector_map_adaptor.hpp b/boost_ext/boost/bimap/container_adaptor/vector_map_adaptor.hpp similarity index 100% rename from boost/bimap/container_adaptor/vector_map_adaptor.hpp rename to boost_ext/boost/bimap/container_adaptor/vector_map_adaptor.hpp diff --git a/boost/bimap/detail/bimap_core.hpp b/boost_ext/boost/bimap/detail/bimap_core.hpp similarity index 100% rename from boost/bimap/detail/bimap_core.hpp rename to boost_ext/boost/bimap/detail/bimap_core.hpp diff --git a/boost/bimap/detail/concept_tags.hpp b/boost_ext/boost/bimap/detail/concept_tags.hpp similarity index 100% rename from boost/bimap/detail/concept_tags.hpp rename to boost_ext/boost/bimap/detail/concept_tags.hpp diff --git a/boost/bimap/detail/debug/static_error.hpp b/boost_ext/boost/bimap/detail/debug/static_error.hpp similarity index 100% rename from boost/bimap/detail/debug/static_error.hpp rename to boost_ext/boost/bimap/detail/debug/static_error.hpp diff --git a/boost/bimap/detail/generate_index_binder.hpp b/boost_ext/boost/bimap/detail/generate_index_binder.hpp similarity index 100% rename from boost/bimap/detail/generate_index_binder.hpp rename to boost_ext/boost/bimap/detail/generate_index_binder.hpp diff --git a/boost/bimap/detail/generate_relation_binder.hpp b/boost_ext/boost/bimap/detail/generate_relation_binder.hpp similarity index 100% rename from boost/bimap/detail/generate_relation_binder.hpp rename to boost_ext/boost/bimap/detail/generate_relation_binder.hpp diff --git a/boost/bimap/detail/generate_view_binder.hpp b/boost_ext/boost/bimap/detail/generate_view_binder.hpp similarity index 100% rename from boost/bimap/detail/generate_view_binder.hpp rename to boost_ext/boost/bimap/detail/generate_view_binder.hpp diff --git a/boost/bimap/detail/is_set_type_of.hpp b/boost_ext/boost/bimap/detail/is_set_type_of.hpp similarity index 100% rename from boost/bimap/detail/is_set_type_of.hpp rename to boost_ext/boost/bimap/detail/is_set_type_of.hpp diff --git a/boost/bimap/detail/manage_additional_parameters.hpp b/boost_ext/boost/bimap/detail/manage_additional_parameters.hpp similarity index 100% rename from boost/bimap/detail/manage_additional_parameters.hpp rename to boost_ext/boost/bimap/detail/manage_additional_parameters.hpp diff --git a/boost/bimap/detail/manage_bimap_key.hpp b/boost_ext/boost/bimap/detail/manage_bimap_key.hpp similarity index 100% rename from boost/bimap/detail/manage_bimap_key.hpp rename to boost_ext/boost/bimap/detail/manage_bimap_key.hpp diff --git a/boost/bimap/detail/map_view_base.hpp b/boost_ext/boost/bimap/detail/map_view_base.hpp similarity index 100% rename from boost/bimap/detail/map_view_base.hpp rename to boost_ext/boost/bimap/detail/map_view_base.hpp diff --git a/boost/bimap/detail/map_view_iterator.hpp b/boost_ext/boost/bimap/detail/map_view_iterator.hpp similarity index 100% rename from boost/bimap/detail/map_view_iterator.hpp rename to boost_ext/boost/bimap/detail/map_view_iterator.hpp diff --git a/boost/bimap/detail/modifier_adaptor.hpp b/boost_ext/boost/bimap/detail/modifier_adaptor.hpp similarity index 100% rename from boost/bimap/detail/modifier_adaptor.hpp rename to boost_ext/boost/bimap/detail/modifier_adaptor.hpp diff --git a/boost/bimap/detail/non_unique_views_helper.hpp b/boost_ext/boost/bimap/detail/non_unique_views_helper.hpp similarity index 100% rename from boost/bimap/detail/non_unique_views_helper.hpp rename to boost_ext/boost/bimap/detail/non_unique_views_helper.hpp diff --git a/boost/bimap/detail/set_view_base.hpp b/boost_ext/boost/bimap/detail/set_view_base.hpp similarity index 100% rename from boost/bimap/detail/set_view_base.hpp rename to boost_ext/boost/bimap/detail/set_view_base.hpp diff --git a/boost/bimap/detail/set_view_iterator.hpp b/boost_ext/boost/bimap/detail/set_view_iterator.hpp similarity index 100% rename from boost/bimap/detail/set_view_iterator.hpp rename to boost_ext/boost/bimap/detail/set_view_iterator.hpp diff --git a/boost/bimap/detail/test/check_metadata.hpp b/boost_ext/boost/bimap/detail/test/check_metadata.hpp similarity index 100% rename from boost/bimap/detail/test/check_metadata.hpp rename to boost_ext/boost/bimap/detail/test/check_metadata.hpp diff --git a/boost/bimap/detail/user_interface_config.hpp b/boost_ext/boost/bimap/detail/user_interface_config.hpp similarity index 100% rename from boost/bimap/detail/user_interface_config.hpp rename to boost_ext/boost/bimap/detail/user_interface_config.hpp diff --git a/boost/bimap/list_of.hpp b/boost_ext/boost/bimap/list_of.hpp similarity index 100% rename from boost/bimap/list_of.hpp rename to boost_ext/boost/bimap/list_of.hpp diff --git a/boost/bimap/multiset_of.hpp b/boost_ext/boost/bimap/multiset_of.hpp similarity index 100% rename from boost/bimap/multiset_of.hpp rename to boost_ext/boost/bimap/multiset_of.hpp diff --git a/boost/bimap/property_map/set_support.hpp b/boost_ext/boost/bimap/property_map/set_support.hpp similarity index 100% rename from boost/bimap/property_map/set_support.hpp rename to boost_ext/boost/bimap/property_map/set_support.hpp diff --git a/boost/bimap/property_map/unordered_set_support.hpp b/boost_ext/boost/bimap/property_map/unordered_set_support.hpp similarity index 100% rename from boost/bimap/property_map/unordered_set_support.hpp rename to boost_ext/boost/bimap/property_map/unordered_set_support.hpp diff --git a/boost/bimap/relation/detail/access_builder.hpp b/boost_ext/boost/bimap/relation/detail/access_builder.hpp similarity index 100% rename from boost/bimap/relation/detail/access_builder.hpp rename to boost_ext/boost/bimap/relation/detail/access_builder.hpp diff --git a/boost/bimap/relation/detail/metadata_access_builder.hpp b/boost_ext/boost/bimap/relation/detail/metadata_access_builder.hpp similarity index 100% rename from boost/bimap/relation/detail/metadata_access_builder.hpp rename to boost_ext/boost/bimap/relation/detail/metadata_access_builder.hpp diff --git a/boost/bimap/relation/detail/mutant.hpp b/boost_ext/boost/bimap/relation/detail/mutant.hpp similarity index 100% rename from boost/bimap/relation/detail/mutant.hpp rename to boost_ext/boost/bimap/relation/detail/mutant.hpp diff --git a/boost/bimap/relation/detail/static_access_builder.hpp b/boost_ext/boost/bimap/relation/detail/static_access_builder.hpp similarity index 100% rename from boost/bimap/relation/detail/static_access_builder.hpp rename to boost_ext/boost/bimap/relation/detail/static_access_builder.hpp diff --git a/boost/bimap/relation/detail/to_mutable_relation_functor.hpp b/boost_ext/boost/bimap/relation/detail/to_mutable_relation_functor.hpp similarity index 100% rename from boost/bimap/relation/detail/to_mutable_relation_functor.hpp rename to boost_ext/boost/bimap/relation/detail/to_mutable_relation_functor.hpp diff --git a/boost/bimap/relation/member_at.hpp b/boost_ext/boost/bimap/relation/member_at.hpp similarity index 100% rename from boost/bimap/relation/member_at.hpp rename to boost_ext/boost/bimap/relation/member_at.hpp diff --git a/boost/bimap/relation/mutant_relation.hpp b/boost_ext/boost/bimap/relation/mutant_relation.hpp similarity index 100% rename from boost/bimap/relation/mutant_relation.hpp rename to boost_ext/boost/bimap/relation/mutant_relation.hpp diff --git a/boost/bimap/relation/pair_layout.hpp b/boost_ext/boost/bimap/relation/pair_layout.hpp similarity index 100% rename from boost/bimap/relation/pair_layout.hpp rename to boost_ext/boost/bimap/relation/pair_layout.hpp diff --git a/boost/bimap/relation/structured_pair.hpp b/boost_ext/boost/bimap/relation/structured_pair.hpp similarity index 100% rename from boost/bimap/relation/structured_pair.hpp rename to boost_ext/boost/bimap/relation/structured_pair.hpp diff --git a/boost/bimap/relation/support/data_extractor.hpp b/boost_ext/boost/bimap/relation/support/data_extractor.hpp similarity index 100% rename from boost/bimap/relation/support/data_extractor.hpp rename to boost_ext/boost/bimap/relation/support/data_extractor.hpp diff --git a/boost/bimap/relation/support/get.hpp b/boost_ext/boost/bimap/relation/support/get.hpp similarity index 100% rename from boost/bimap/relation/support/get.hpp rename to boost_ext/boost/bimap/relation/support/get.hpp diff --git a/boost/bimap/relation/support/get_pair_functor.hpp b/boost_ext/boost/bimap/relation/support/get_pair_functor.hpp similarity index 100% rename from boost/bimap/relation/support/get_pair_functor.hpp rename to boost_ext/boost/bimap/relation/support/get_pair_functor.hpp diff --git a/boost/bimap/relation/support/is_tag_of_member_at.hpp b/boost_ext/boost/bimap/relation/support/is_tag_of_member_at.hpp similarity index 100% rename from boost/bimap/relation/support/is_tag_of_member_at.hpp rename to boost_ext/boost/bimap/relation/support/is_tag_of_member_at.hpp diff --git a/boost/bimap/relation/support/member_with_tag.hpp b/boost_ext/boost/bimap/relation/support/member_with_tag.hpp similarity index 100% rename from boost/bimap/relation/support/member_with_tag.hpp rename to boost_ext/boost/bimap/relation/support/member_with_tag.hpp diff --git a/boost/bimap/relation/support/opposite_tag.hpp b/boost_ext/boost/bimap/relation/support/opposite_tag.hpp similarity index 100% rename from boost/bimap/relation/support/opposite_tag.hpp rename to boost_ext/boost/bimap/relation/support/opposite_tag.hpp diff --git a/boost/bimap/relation/support/pair_by.hpp b/boost_ext/boost/bimap/relation/support/pair_by.hpp similarity index 100% rename from boost/bimap/relation/support/pair_by.hpp rename to boost_ext/boost/bimap/relation/support/pair_by.hpp diff --git a/boost/bimap/relation/support/pair_type_by.hpp b/boost_ext/boost/bimap/relation/support/pair_type_by.hpp similarity index 100% rename from boost/bimap/relation/support/pair_type_by.hpp rename to boost_ext/boost/bimap/relation/support/pair_type_by.hpp diff --git a/boost/bimap/relation/support/value_type_of.hpp b/boost_ext/boost/bimap/relation/support/value_type_of.hpp similarity index 100% rename from boost/bimap/relation/support/value_type_of.hpp rename to boost_ext/boost/bimap/relation/support/value_type_of.hpp diff --git a/boost/bimap/relation/symmetrical_base.hpp b/boost_ext/boost/bimap/relation/symmetrical_base.hpp similarity index 100% rename from boost/bimap/relation/symmetrical_base.hpp rename to boost_ext/boost/bimap/relation/symmetrical_base.hpp diff --git a/boost/bimap/set_of.hpp b/boost_ext/boost/bimap/set_of.hpp similarity index 100% rename from boost/bimap/set_of.hpp rename to boost_ext/boost/bimap/set_of.hpp diff --git a/boost/bimap/support/data_type_by.hpp b/boost_ext/boost/bimap/support/data_type_by.hpp similarity index 100% rename from boost/bimap/support/data_type_by.hpp rename to boost_ext/boost/bimap/support/data_type_by.hpp diff --git a/boost/bimap/support/iterator_type_by.hpp b/boost_ext/boost/bimap/support/iterator_type_by.hpp similarity index 100% rename from boost/bimap/support/iterator_type_by.hpp rename to boost_ext/boost/bimap/support/iterator_type_by.hpp diff --git a/boost/bimap/support/key_type_by.hpp b/boost_ext/boost/bimap/support/key_type_by.hpp similarity index 100% rename from boost/bimap/support/key_type_by.hpp rename to boost_ext/boost/bimap/support/key_type_by.hpp diff --git a/boost/bimap/support/lambda.hpp b/boost_ext/boost/bimap/support/lambda.hpp similarity index 100% rename from boost/bimap/support/lambda.hpp rename to boost_ext/boost/bimap/support/lambda.hpp diff --git a/boost/bimap/support/map_by.hpp b/boost_ext/boost/bimap/support/map_by.hpp similarity index 100% rename from boost/bimap/support/map_by.hpp rename to boost_ext/boost/bimap/support/map_by.hpp diff --git a/boost/bimap/support/map_type_by.hpp b/boost_ext/boost/bimap/support/map_type_by.hpp similarity index 100% rename from boost/bimap/support/map_type_by.hpp rename to boost_ext/boost/bimap/support/map_type_by.hpp diff --git a/boost/bimap/support/value_type_by.hpp b/boost_ext/boost/bimap/support/value_type_by.hpp similarity index 100% rename from boost/bimap/support/value_type_by.hpp rename to boost_ext/boost/bimap/support/value_type_by.hpp diff --git a/boost/bimap/tags/support/apply_to_value_type.hpp b/boost_ext/boost/bimap/tags/support/apply_to_value_type.hpp similarity index 100% rename from boost/bimap/tags/support/apply_to_value_type.hpp rename to boost_ext/boost/bimap/tags/support/apply_to_value_type.hpp diff --git a/boost/bimap/tags/support/default_tagged.hpp b/boost_ext/boost/bimap/tags/support/default_tagged.hpp similarity index 100% rename from boost/bimap/tags/support/default_tagged.hpp rename to boost_ext/boost/bimap/tags/support/default_tagged.hpp diff --git a/boost/bimap/tags/support/is_tagged.hpp b/boost_ext/boost/bimap/tags/support/is_tagged.hpp similarity index 100% rename from boost/bimap/tags/support/is_tagged.hpp rename to boost_ext/boost/bimap/tags/support/is_tagged.hpp diff --git a/boost/bimap/tags/support/overwrite_tagged.hpp b/boost_ext/boost/bimap/tags/support/overwrite_tagged.hpp similarity index 100% rename from boost/bimap/tags/support/overwrite_tagged.hpp rename to boost_ext/boost/bimap/tags/support/overwrite_tagged.hpp diff --git a/boost/bimap/tags/support/tag_of.hpp b/boost_ext/boost/bimap/tags/support/tag_of.hpp similarity index 100% rename from boost/bimap/tags/support/tag_of.hpp rename to boost_ext/boost/bimap/tags/support/tag_of.hpp diff --git a/boost/bimap/tags/support/value_type_of.hpp b/boost_ext/boost/bimap/tags/support/value_type_of.hpp similarity index 100% rename from boost/bimap/tags/support/value_type_of.hpp rename to boost_ext/boost/bimap/tags/support/value_type_of.hpp diff --git a/boost/bimap/tags/tagged.hpp b/boost_ext/boost/bimap/tags/tagged.hpp similarity index 100% rename from boost/bimap/tags/tagged.hpp rename to boost_ext/boost/bimap/tags/tagged.hpp diff --git a/boost/bimap/unconstrained_set_of.hpp b/boost_ext/boost/bimap/unconstrained_set_of.hpp similarity index 100% rename from boost/bimap/unconstrained_set_of.hpp rename to boost_ext/boost/bimap/unconstrained_set_of.hpp diff --git a/boost/bimap/unordered_multiset_of.hpp b/boost_ext/boost/bimap/unordered_multiset_of.hpp similarity index 100% rename from boost/bimap/unordered_multiset_of.hpp rename to boost_ext/boost/bimap/unordered_multiset_of.hpp diff --git a/boost/bimap/unordered_set_of.hpp b/boost_ext/boost/bimap/unordered_set_of.hpp similarity index 100% rename from boost/bimap/unordered_set_of.hpp rename to boost_ext/boost/bimap/unordered_set_of.hpp diff --git a/boost/bimap/vector_of.hpp b/boost_ext/boost/bimap/vector_of.hpp similarity index 100% rename from boost/bimap/vector_of.hpp rename to boost_ext/boost/bimap/vector_of.hpp diff --git a/boost/bimap/views/list_map_view.hpp b/boost_ext/boost/bimap/views/list_map_view.hpp similarity index 100% rename from boost/bimap/views/list_map_view.hpp rename to boost_ext/boost/bimap/views/list_map_view.hpp diff --git a/boost/bimap/views/list_set_view.hpp b/boost_ext/boost/bimap/views/list_set_view.hpp similarity index 100% rename from boost/bimap/views/list_set_view.hpp rename to boost_ext/boost/bimap/views/list_set_view.hpp diff --git a/boost/bimap/views/map_view.hpp b/boost_ext/boost/bimap/views/map_view.hpp similarity index 100% rename from boost/bimap/views/map_view.hpp rename to boost_ext/boost/bimap/views/map_view.hpp diff --git a/boost/bimap/views/multimap_view.hpp b/boost_ext/boost/bimap/views/multimap_view.hpp similarity index 100% rename from boost/bimap/views/multimap_view.hpp rename to boost_ext/boost/bimap/views/multimap_view.hpp diff --git a/boost/bimap/views/multiset_view.hpp b/boost_ext/boost/bimap/views/multiset_view.hpp similarity index 100% rename from boost/bimap/views/multiset_view.hpp rename to boost_ext/boost/bimap/views/multiset_view.hpp diff --git a/boost/bimap/views/set_view.hpp b/boost_ext/boost/bimap/views/set_view.hpp similarity index 100% rename from boost/bimap/views/set_view.hpp rename to boost_ext/boost/bimap/views/set_view.hpp diff --git a/boost/bimap/views/unconstrained_map_view.hpp b/boost_ext/boost/bimap/views/unconstrained_map_view.hpp similarity index 100% rename from boost/bimap/views/unconstrained_map_view.hpp rename to boost_ext/boost/bimap/views/unconstrained_map_view.hpp diff --git a/boost/bimap/views/unconstrained_set_view.hpp b/boost_ext/boost/bimap/views/unconstrained_set_view.hpp similarity index 100% rename from boost/bimap/views/unconstrained_set_view.hpp rename to boost_ext/boost/bimap/views/unconstrained_set_view.hpp diff --git a/boost/bimap/views/unordered_map_view.hpp b/boost_ext/boost/bimap/views/unordered_map_view.hpp similarity index 100% rename from boost/bimap/views/unordered_map_view.hpp rename to boost_ext/boost/bimap/views/unordered_map_view.hpp diff --git a/boost/bimap/views/unordered_multimap_view.hpp b/boost_ext/boost/bimap/views/unordered_multimap_view.hpp similarity index 100% rename from boost/bimap/views/unordered_multimap_view.hpp rename to boost_ext/boost/bimap/views/unordered_multimap_view.hpp diff --git a/boost/bimap/views/unordered_multiset_view.hpp b/boost_ext/boost/bimap/views/unordered_multiset_view.hpp similarity index 100% rename from boost/bimap/views/unordered_multiset_view.hpp rename to boost_ext/boost/bimap/views/unordered_multiset_view.hpp diff --git a/boost/bimap/views/unordered_set_view.hpp b/boost_ext/boost/bimap/views/unordered_set_view.hpp similarity index 100% rename from boost/bimap/views/unordered_set_view.hpp rename to boost_ext/boost/bimap/views/unordered_set_view.hpp diff --git a/boost/bimap/views/vector_map_view.hpp b/boost_ext/boost/bimap/views/vector_map_view.hpp similarity index 100% rename from boost/bimap/views/vector_map_view.hpp rename to boost_ext/boost/bimap/views/vector_map_view.hpp diff --git a/boost/bimap/views/vector_set_view.hpp b/boost_ext/boost/bimap/views/vector_set_view.hpp similarity index 100% rename from boost/bimap/views/vector_set_view.hpp rename to boost_ext/boost/bimap/views/vector_set_view.hpp diff --git a/boost/multi_index/composite_key.hpp b/boost_ext/boost/multi_index/composite_key.hpp similarity index 100% rename from boost/multi_index/composite_key.hpp rename to boost_ext/boost/multi_index/composite_key.hpp diff --git a/boost/multi_index/detail/access_specifier.hpp b/boost_ext/boost/multi_index/detail/access_specifier.hpp similarity index 100% rename from boost/multi_index/detail/access_specifier.hpp rename to boost_ext/boost/multi_index/detail/access_specifier.hpp diff --git a/boost/multi_index/detail/adl_swap.hpp b/boost_ext/boost/multi_index/detail/adl_swap.hpp similarity index 100% rename from boost/multi_index/detail/adl_swap.hpp rename to boost_ext/boost/multi_index/detail/adl_swap.hpp diff --git a/boost/multi_index/detail/archive_constructed.hpp b/boost_ext/boost/multi_index/detail/archive_constructed.hpp similarity index 100% rename from boost/multi_index/detail/archive_constructed.hpp rename to boost_ext/boost/multi_index/detail/archive_constructed.hpp diff --git a/boost/multi_index/detail/auto_space.hpp b/boost_ext/boost/multi_index/detail/auto_space.hpp similarity index 100% rename from boost/multi_index/detail/auto_space.hpp rename to boost_ext/boost/multi_index/detail/auto_space.hpp diff --git a/boost/multi_index/detail/base_type.hpp b/boost_ext/boost/multi_index/detail/base_type.hpp similarity index 100% rename from boost/multi_index/detail/base_type.hpp rename to boost_ext/boost/multi_index/detail/base_type.hpp diff --git a/boost/multi_index/detail/bidir_node_iterator.hpp b/boost_ext/boost/multi_index/detail/bidir_node_iterator.hpp similarity index 100% rename from boost/multi_index/detail/bidir_node_iterator.hpp rename to boost_ext/boost/multi_index/detail/bidir_node_iterator.hpp diff --git a/boost/multi_index/detail/bucket_array.hpp b/boost_ext/boost/multi_index/detail/bucket_array.hpp similarity index 100% rename from boost/multi_index/detail/bucket_array.hpp rename to boost_ext/boost/multi_index/detail/bucket_array.hpp diff --git a/boost/multi_index/detail/converter.hpp b/boost_ext/boost/multi_index/detail/converter.hpp similarity index 100% rename from boost/multi_index/detail/converter.hpp rename to boost_ext/boost/multi_index/detail/converter.hpp diff --git a/boost/multi_index/detail/copy_map.hpp b/boost_ext/boost/multi_index/detail/copy_map.hpp similarity index 100% rename from boost/multi_index/detail/copy_map.hpp rename to boost_ext/boost/multi_index/detail/copy_map.hpp diff --git a/boost/multi_index/detail/duplicates_iterator.hpp b/boost_ext/boost/multi_index/detail/duplicates_iterator.hpp similarity index 100% rename from boost/multi_index/detail/duplicates_iterator.hpp rename to boost_ext/boost/multi_index/detail/duplicates_iterator.hpp diff --git a/boost/multi_index/detail/has_tag.hpp b/boost_ext/boost/multi_index/detail/has_tag.hpp similarity index 100% rename from boost/multi_index/detail/has_tag.hpp rename to boost_ext/boost/multi_index/detail/has_tag.hpp diff --git a/boost/multi_index/detail/hash_index_args.hpp b/boost_ext/boost/multi_index/detail/hash_index_args.hpp similarity index 100% rename from boost/multi_index/detail/hash_index_args.hpp rename to boost_ext/boost/multi_index/detail/hash_index_args.hpp diff --git a/boost/multi_index/detail/hash_index_iterator.hpp b/boost_ext/boost/multi_index/detail/hash_index_iterator.hpp similarity index 100% rename from boost/multi_index/detail/hash_index_iterator.hpp rename to boost_ext/boost/multi_index/detail/hash_index_iterator.hpp diff --git a/boost/multi_index/detail/hash_index_node.hpp b/boost_ext/boost/multi_index/detail/hash_index_node.hpp similarity index 100% rename from boost/multi_index/detail/hash_index_node.hpp rename to boost_ext/boost/multi_index/detail/hash_index_node.hpp diff --git a/boost/multi_index/detail/header_holder.hpp b/boost_ext/boost/multi_index/detail/header_holder.hpp similarity index 100% rename from boost/multi_index/detail/header_holder.hpp rename to boost_ext/boost/multi_index/detail/header_holder.hpp diff --git a/boost/multi_index/detail/index_base.hpp b/boost_ext/boost/multi_index/detail/index_base.hpp similarity index 100% rename from boost/multi_index/detail/index_base.hpp rename to boost_ext/boost/multi_index/detail/index_base.hpp diff --git a/boost/multi_index/detail/index_loader.hpp b/boost_ext/boost/multi_index/detail/index_loader.hpp similarity index 100% rename from boost/multi_index/detail/index_loader.hpp rename to boost_ext/boost/multi_index/detail/index_loader.hpp diff --git a/boost/multi_index/detail/index_matcher.hpp b/boost_ext/boost/multi_index/detail/index_matcher.hpp similarity index 100% rename from boost/multi_index/detail/index_matcher.hpp rename to boost_ext/boost/multi_index/detail/index_matcher.hpp diff --git a/boost/multi_index/detail/index_node_base.hpp b/boost_ext/boost/multi_index/detail/index_node_base.hpp similarity index 100% rename from boost/multi_index/detail/index_node_base.hpp rename to boost_ext/boost/multi_index/detail/index_node_base.hpp diff --git a/boost/multi_index/detail/index_saver.hpp b/boost_ext/boost/multi_index/detail/index_saver.hpp similarity index 100% rename from boost/multi_index/detail/index_saver.hpp rename to boost_ext/boost/multi_index/detail/index_saver.hpp diff --git a/boost/multi_index/detail/invariant_assert.hpp b/boost_ext/boost/multi_index/detail/invariant_assert.hpp similarity index 100% rename from boost/multi_index/detail/invariant_assert.hpp rename to boost_ext/boost/multi_index/detail/invariant_assert.hpp diff --git a/boost/multi_index/detail/is_index_list.hpp b/boost_ext/boost/multi_index/detail/is_index_list.hpp similarity index 100% rename from boost/multi_index/detail/is_index_list.hpp rename to boost_ext/boost/multi_index/detail/is_index_list.hpp diff --git a/boost/multi_index/detail/iter_adaptor.hpp b/boost_ext/boost/multi_index/detail/iter_adaptor.hpp similarity index 100% rename from boost/multi_index/detail/iter_adaptor.hpp rename to boost_ext/boost/multi_index/detail/iter_adaptor.hpp diff --git a/boost/multi_index/detail/modify_key_adaptor.hpp b/boost_ext/boost/multi_index/detail/modify_key_adaptor.hpp similarity index 100% rename from boost/multi_index/detail/modify_key_adaptor.hpp rename to boost_ext/boost/multi_index/detail/modify_key_adaptor.hpp diff --git a/boost/multi_index/detail/msvc_index_specifier.hpp b/boost_ext/boost/multi_index/detail/msvc_index_specifier.hpp similarity index 100% rename from boost/multi_index/detail/msvc_index_specifier.hpp rename to boost_ext/boost/multi_index/detail/msvc_index_specifier.hpp diff --git a/boost/multi_index/detail/no_duplicate_tags.hpp b/boost_ext/boost/multi_index/detail/no_duplicate_tags.hpp similarity index 100% rename from boost/multi_index/detail/no_duplicate_tags.hpp rename to boost_ext/boost/multi_index/detail/no_duplicate_tags.hpp diff --git a/boost/multi_index/detail/node_type.hpp b/boost_ext/boost/multi_index/detail/node_type.hpp similarity index 100% rename from boost/multi_index/detail/node_type.hpp rename to boost_ext/boost/multi_index/detail/node_type.hpp diff --git a/boost/multi_index/detail/ord_index_args.hpp b/boost_ext/boost/multi_index/detail/ord_index_args.hpp similarity index 100% rename from boost/multi_index/detail/ord_index_args.hpp rename to boost_ext/boost/multi_index/detail/ord_index_args.hpp diff --git a/boost/multi_index/detail/ord_index_node.hpp b/boost_ext/boost/multi_index/detail/ord_index_node.hpp similarity index 100% rename from boost/multi_index/detail/ord_index_node.hpp rename to boost_ext/boost/multi_index/detail/ord_index_node.hpp diff --git a/boost/multi_index/detail/ord_index_ops.hpp b/boost_ext/boost/multi_index/detail/ord_index_ops.hpp similarity index 100% rename from boost/multi_index/detail/ord_index_ops.hpp rename to boost_ext/boost/multi_index/detail/ord_index_ops.hpp diff --git a/boost/multi_index/detail/prevent_eti.hpp b/boost_ext/boost/multi_index/detail/prevent_eti.hpp similarity index 100% rename from boost/multi_index/detail/prevent_eti.hpp rename to boost_ext/boost/multi_index/detail/prevent_eti.hpp diff --git a/boost/multi_index/detail/rnd_index_loader.hpp b/boost_ext/boost/multi_index/detail/rnd_index_loader.hpp similarity index 100% rename from boost/multi_index/detail/rnd_index_loader.hpp rename to boost_ext/boost/multi_index/detail/rnd_index_loader.hpp diff --git a/boost/multi_index/detail/rnd_index_node.hpp b/boost_ext/boost/multi_index/detail/rnd_index_node.hpp similarity index 100% rename from boost/multi_index/detail/rnd_index_node.hpp rename to boost_ext/boost/multi_index/detail/rnd_index_node.hpp diff --git a/boost/multi_index/detail/rnd_index_ops.hpp b/boost_ext/boost/multi_index/detail/rnd_index_ops.hpp similarity index 100% rename from boost/multi_index/detail/rnd_index_ops.hpp rename to boost_ext/boost/multi_index/detail/rnd_index_ops.hpp diff --git a/boost/multi_index/detail/rnd_index_ptr_array.hpp b/boost_ext/boost/multi_index/detail/rnd_index_ptr_array.hpp similarity index 100% rename from boost/multi_index/detail/rnd_index_ptr_array.hpp rename to boost_ext/boost/multi_index/detail/rnd_index_ptr_array.hpp diff --git a/boost/multi_index/detail/rnd_node_iterator.hpp b/boost_ext/boost/multi_index/detail/rnd_node_iterator.hpp similarity index 100% rename from boost/multi_index/detail/rnd_node_iterator.hpp rename to boost_ext/boost/multi_index/detail/rnd_node_iterator.hpp diff --git a/boost/multi_index/detail/safe_ctr_proxy.hpp b/boost_ext/boost/multi_index/detail/safe_ctr_proxy.hpp similarity index 100% rename from boost/multi_index/detail/safe_ctr_proxy.hpp rename to boost_ext/boost/multi_index/detail/safe_ctr_proxy.hpp diff --git a/boost/multi_index/detail/safe_mode.hpp b/boost_ext/boost/multi_index/detail/safe_mode.hpp similarity index 100% rename from boost/multi_index/detail/safe_mode.hpp rename to boost_ext/boost/multi_index/detail/safe_mode.hpp diff --git a/boost/multi_index/detail/scope_guard.hpp b/boost_ext/boost/multi_index/detail/scope_guard.hpp similarity index 100% rename from boost/multi_index/detail/scope_guard.hpp rename to boost_ext/boost/multi_index/detail/scope_guard.hpp diff --git a/boost/multi_index/detail/seq_index_node.hpp b/boost_ext/boost/multi_index/detail/seq_index_node.hpp similarity index 100% rename from boost/multi_index/detail/seq_index_node.hpp rename to boost_ext/boost/multi_index/detail/seq_index_node.hpp diff --git a/boost/multi_index/detail/seq_index_ops.hpp b/boost_ext/boost/multi_index/detail/seq_index_ops.hpp similarity index 100% rename from boost/multi_index/detail/seq_index_ops.hpp rename to boost_ext/boost/multi_index/detail/seq_index_ops.hpp diff --git a/boost/multi_index/detail/uintptr_type.hpp b/boost_ext/boost/multi_index/detail/uintptr_type.hpp similarity index 100% rename from boost/multi_index/detail/uintptr_type.hpp rename to boost_ext/boost/multi_index/detail/uintptr_type.hpp diff --git a/boost/multi_index/detail/unbounded.hpp b/boost_ext/boost/multi_index/detail/unbounded.hpp similarity index 100% rename from boost/multi_index/detail/unbounded.hpp rename to boost_ext/boost/multi_index/detail/unbounded.hpp diff --git a/boost/multi_index/detail/value_compare.hpp b/boost_ext/boost/multi_index/detail/value_compare.hpp similarity index 100% rename from boost/multi_index/detail/value_compare.hpp rename to boost_ext/boost/multi_index/detail/value_compare.hpp diff --git a/boost/multi_index/global_fun.hpp b/boost_ext/boost/multi_index/global_fun.hpp similarity index 100% rename from boost/multi_index/global_fun.hpp rename to boost_ext/boost/multi_index/global_fun.hpp diff --git a/boost/multi_index/hashed_index.hpp b/boost_ext/boost/multi_index/hashed_index.hpp similarity index 100% rename from boost/multi_index/hashed_index.hpp rename to boost_ext/boost/multi_index/hashed_index.hpp diff --git a/boost/multi_index/hashed_index_fwd.hpp b/boost_ext/boost/multi_index/hashed_index_fwd.hpp similarity index 100% rename from boost/multi_index/hashed_index_fwd.hpp rename to boost_ext/boost/multi_index/hashed_index_fwd.hpp diff --git a/boost/multi_index/identity.hpp b/boost_ext/boost/multi_index/identity.hpp similarity index 100% rename from boost/multi_index/identity.hpp rename to boost_ext/boost/multi_index/identity.hpp diff --git a/boost/multi_index/identity_fwd.hpp b/boost_ext/boost/multi_index/identity_fwd.hpp similarity index 100% rename from boost/multi_index/identity_fwd.hpp rename to boost_ext/boost/multi_index/identity_fwd.hpp diff --git a/boost/multi_index/indexed_by.hpp b/boost_ext/boost/multi_index/indexed_by.hpp similarity index 100% rename from boost/multi_index/indexed_by.hpp rename to boost_ext/boost/multi_index/indexed_by.hpp diff --git a/boost/multi_index/key_extractors.hpp b/boost_ext/boost/multi_index/key_extractors.hpp similarity index 100% rename from boost/multi_index/key_extractors.hpp rename to boost_ext/boost/multi_index/key_extractors.hpp diff --git a/boost/multi_index/mem_fun.hpp b/boost_ext/boost/multi_index/mem_fun.hpp similarity index 100% rename from boost/multi_index/mem_fun.hpp rename to boost_ext/boost/multi_index/mem_fun.hpp diff --git a/boost/multi_index/member.hpp b/boost_ext/boost/multi_index/member.hpp similarity index 100% rename from boost/multi_index/member.hpp rename to boost_ext/boost/multi_index/member.hpp diff --git a/boost/multi_index/ordered_index.hpp b/boost_ext/boost/multi_index/ordered_index.hpp similarity index 100% rename from boost/multi_index/ordered_index.hpp rename to boost_ext/boost/multi_index/ordered_index.hpp diff --git a/boost/multi_index/ordered_index_fwd.hpp b/boost_ext/boost/multi_index/ordered_index_fwd.hpp similarity index 100% rename from boost/multi_index/ordered_index_fwd.hpp rename to boost_ext/boost/multi_index/ordered_index_fwd.hpp diff --git a/boost/multi_index/random_access_index.hpp b/boost_ext/boost/multi_index/random_access_index.hpp similarity index 100% rename from boost/multi_index/random_access_index.hpp rename to boost_ext/boost/multi_index/random_access_index.hpp diff --git a/boost/multi_index/random_access_index_fwd.hpp b/boost_ext/boost/multi_index/random_access_index_fwd.hpp similarity index 100% rename from boost/multi_index/random_access_index_fwd.hpp rename to boost_ext/boost/multi_index/random_access_index_fwd.hpp diff --git a/boost/multi_index/safe_mode_errors.hpp b/boost_ext/boost/multi_index/safe_mode_errors.hpp similarity index 100% rename from boost/multi_index/safe_mode_errors.hpp rename to boost_ext/boost/multi_index/safe_mode_errors.hpp diff --git a/boost/multi_index/sequenced_index.hpp b/boost_ext/boost/multi_index/sequenced_index.hpp similarity index 100% rename from boost/multi_index/sequenced_index.hpp rename to boost_ext/boost/multi_index/sequenced_index.hpp diff --git a/boost/multi_index/sequenced_index_fwd.hpp b/boost_ext/boost/multi_index/sequenced_index_fwd.hpp similarity index 100% rename from boost/multi_index/sequenced_index_fwd.hpp rename to boost_ext/boost/multi_index/sequenced_index_fwd.hpp diff --git a/boost/multi_index/tag.hpp b/boost_ext/boost/multi_index/tag.hpp similarity index 100% rename from boost/multi_index/tag.hpp rename to boost_ext/boost/multi_index/tag.hpp diff --git a/boost/multi_index_container.hpp b/boost_ext/boost/multi_index_container.hpp similarity index 100% rename from boost/multi_index_container.hpp rename to boost_ext/boost/multi_index_container.hpp diff --git a/boost/multi_index_container_fwd.hpp b/boost_ext/boost/multi_index_container_fwd.hpp similarity index 100% rename from boost/multi_index_container_fwd.hpp rename to boost_ext/boost/multi_index_container_fwd.hpp diff --git a/boost/parameter/aux_/arg_list.hpp b/boost_ext/boost/parameter/aux_/arg_list.hpp similarity index 100% rename from boost/parameter/aux_/arg_list.hpp rename to boost_ext/boost/parameter/aux_/arg_list.hpp diff --git a/boost/parameter/aux_/default.hpp b/boost_ext/boost/parameter/aux_/default.hpp similarity index 100% rename from boost/parameter/aux_/default.hpp rename to boost_ext/boost/parameter/aux_/default.hpp diff --git a/boost/parameter/aux_/overloads.hpp b/boost_ext/boost/parameter/aux_/overloads.hpp similarity index 100% rename from boost/parameter/aux_/overloads.hpp rename to boost_ext/boost/parameter/aux_/overloads.hpp diff --git a/boost/parameter/aux_/parameter_requirements.hpp b/boost_ext/boost/parameter/aux_/parameter_requirements.hpp similarity index 100% rename from boost/parameter/aux_/parameter_requirements.hpp rename to boost_ext/boost/parameter/aux_/parameter_requirements.hpp diff --git a/boost/parameter/aux_/result_of0.hpp b/boost_ext/boost/parameter/aux_/result_of0.hpp similarity index 100% rename from boost/parameter/aux_/result_of0.hpp rename to boost_ext/boost/parameter/aux_/result_of0.hpp diff --git a/boost/parameter/aux_/tag.hpp b/boost_ext/boost/parameter/aux_/tag.hpp similarity index 100% rename from boost/parameter/aux_/tag.hpp rename to boost_ext/boost/parameter/aux_/tag.hpp diff --git a/boost/parameter/aux_/tagged_argument.hpp b/boost_ext/boost/parameter/aux_/tagged_argument.hpp similarity index 100% rename from boost/parameter/aux_/tagged_argument.hpp rename to boost_ext/boost/parameter/aux_/tagged_argument.hpp diff --git a/boost/parameter/aux_/unwrap_cv_reference.hpp b/boost_ext/boost/parameter/aux_/unwrap_cv_reference.hpp similarity index 100% rename from boost/parameter/aux_/unwrap_cv_reference.hpp rename to boost_ext/boost/parameter/aux_/unwrap_cv_reference.hpp diff --git a/boost/parameter/aux_/void.hpp b/boost_ext/boost/parameter/aux_/void.hpp similarity index 100% rename from boost/parameter/aux_/void.hpp rename to boost_ext/boost/parameter/aux_/void.hpp diff --git a/boost/parameter/aux_/yesno.hpp b/boost_ext/boost/parameter/aux_/yesno.hpp similarity index 100% rename from boost/parameter/aux_/yesno.hpp rename to boost_ext/boost/parameter/aux_/yesno.hpp diff --git a/boost/parameter/binding.hpp b/boost_ext/boost/parameter/binding.hpp similarity index 100% rename from boost/parameter/binding.hpp rename to boost_ext/boost/parameter/binding.hpp diff --git a/boost/parameter/config.hpp b/boost_ext/boost/parameter/config.hpp similarity index 100% rename from boost/parameter/config.hpp rename to boost_ext/boost/parameter/config.hpp diff --git a/boost/parameter/keyword.hpp b/boost_ext/boost/parameter/keyword.hpp similarity index 100% rename from boost/parameter/keyword.hpp rename to boost_ext/boost/parameter/keyword.hpp diff --git a/boost/parameter/macros.hpp b/boost_ext/boost/parameter/macros.hpp similarity index 100% rename from boost/parameter/macros.hpp rename to boost_ext/boost/parameter/macros.hpp diff --git a/boost/parameter/match.hpp b/boost_ext/boost/parameter/match.hpp similarity index 100% rename from boost/parameter/match.hpp rename to boost_ext/boost/parameter/match.hpp diff --git a/boost/parameter/parameters.hpp b/boost_ext/boost/parameter/parameters.hpp similarity index 100% rename from boost/parameter/parameters.hpp rename to boost_ext/boost/parameter/parameters.hpp diff --git a/boost/typeof/encode_decode.hpp b/boost_ext/boost/typeof/encode_decode.hpp similarity index 100% rename from boost/typeof/encode_decode.hpp rename to boost_ext/boost/typeof/encode_decode.hpp diff --git a/boost/typeof/encode_decode_params.hpp b/boost_ext/boost/typeof/encode_decode_params.hpp similarity index 100% rename from boost/typeof/encode_decode_params.hpp rename to boost_ext/boost/typeof/encode_decode_params.hpp diff --git a/boost/typeof/incr_registration_group.hpp b/boost_ext/boost/typeof/incr_registration_group.hpp similarity index 100% rename from boost/typeof/incr_registration_group.hpp rename to boost_ext/boost/typeof/incr_registration_group.hpp diff --git a/boost/typeof/int_encoding.hpp b/boost_ext/boost/typeof/int_encoding.hpp similarity index 100% rename from boost/typeof/int_encoding.hpp rename to boost_ext/boost/typeof/int_encoding.hpp diff --git a/boost/typeof/integral_template_param.hpp b/boost_ext/boost/typeof/integral_template_param.hpp similarity index 100% rename from boost/typeof/integral_template_param.hpp rename to boost_ext/boost/typeof/integral_template_param.hpp diff --git a/boost/typeof/message.hpp b/boost_ext/boost/typeof/message.hpp similarity index 100% rename from boost/typeof/message.hpp rename to boost_ext/boost/typeof/message.hpp diff --git a/boost/typeof/modifiers.hpp b/boost_ext/boost/typeof/modifiers.hpp similarity index 100% rename from boost/typeof/modifiers.hpp rename to boost_ext/boost/typeof/modifiers.hpp diff --git a/boost/typeof/msvc/typeof_impl.hpp b/boost_ext/boost/typeof/msvc/typeof_impl.hpp similarity index 100% rename from boost/typeof/msvc/typeof_impl.hpp rename to boost_ext/boost/typeof/msvc/typeof_impl.hpp diff --git a/boost/typeof/native.hpp b/boost_ext/boost/typeof/native.hpp similarity index 100% rename from boost/typeof/native.hpp rename to boost_ext/boost/typeof/native.hpp diff --git a/boost/typeof/pointers_data_members.hpp b/boost_ext/boost/typeof/pointers_data_members.hpp similarity index 100% rename from boost/typeof/pointers_data_members.hpp rename to boost_ext/boost/typeof/pointers_data_members.hpp diff --git a/boost/typeof/register_functions.hpp b/boost_ext/boost/typeof/register_functions.hpp similarity index 100% rename from boost/typeof/register_functions.hpp rename to boost_ext/boost/typeof/register_functions.hpp diff --git a/boost/typeof/register_functions_iterate.hpp b/boost_ext/boost/typeof/register_functions_iterate.hpp similarity index 100% rename from boost/typeof/register_functions_iterate.hpp rename to boost_ext/boost/typeof/register_functions_iterate.hpp diff --git a/boost/typeof/register_fundamental.hpp b/boost_ext/boost/typeof/register_fundamental.hpp similarity index 100% rename from boost/typeof/register_fundamental.hpp rename to boost_ext/boost/typeof/register_fundamental.hpp diff --git a/boost/typeof/register_mem_functions.hpp b/boost_ext/boost/typeof/register_mem_functions.hpp similarity index 100% rename from boost/typeof/register_mem_functions.hpp rename to boost_ext/boost/typeof/register_mem_functions.hpp diff --git a/boost/typeof/std/bitset.hpp b/boost_ext/boost/typeof/std/bitset.hpp similarity index 100% rename from boost/typeof/std/bitset.hpp rename to boost_ext/boost/typeof/std/bitset.hpp diff --git a/boost/typeof/std/complex.hpp b/boost_ext/boost/typeof/std/complex.hpp similarity index 100% rename from boost/typeof/std/complex.hpp rename to boost_ext/boost/typeof/std/complex.hpp diff --git a/boost/typeof/std/deque.hpp b/boost_ext/boost/typeof/std/deque.hpp similarity index 100% rename from boost/typeof/std/deque.hpp rename to boost_ext/boost/typeof/std/deque.hpp diff --git a/boost/typeof/std/fstream.hpp b/boost_ext/boost/typeof/std/fstream.hpp similarity index 100% rename from boost/typeof/std/fstream.hpp rename to boost_ext/boost/typeof/std/fstream.hpp diff --git a/boost/typeof/std/functional.hpp b/boost_ext/boost/typeof/std/functional.hpp similarity index 100% rename from boost/typeof/std/functional.hpp rename to boost_ext/boost/typeof/std/functional.hpp diff --git a/boost/typeof/std/iostream.hpp b/boost_ext/boost/typeof/std/iostream.hpp similarity index 100% rename from boost/typeof/std/iostream.hpp rename to boost_ext/boost/typeof/std/iostream.hpp diff --git a/boost/typeof/std/istream.hpp b/boost_ext/boost/typeof/std/istream.hpp similarity index 100% rename from boost/typeof/std/istream.hpp rename to boost_ext/boost/typeof/std/istream.hpp diff --git a/boost/typeof/std/iterator.hpp b/boost_ext/boost/typeof/std/iterator.hpp similarity index 100% rename from boost/typeof/std/iterator.hpp rename to boost_ext/boost/typeof/std/iterator.hpp diff --git a/boost/typeof/std/list.hpp b/boost_ext/boost/typeof/std/list.hpp similarity index 100% rename from boost/typeof/std/list.hpp rename to boost_ext/boost/typeof/std/list.hpp diff --git a/boost/typeof/std/locale.hpp b/boost_ext/boost/typeof/std/locale.hpp similarity index 100% rename from boost/typeof/std/locale.hpp rename to boost_ext/boost/typeof/std/locale.hpp diff --git a/boost/typeof/std/map.hpp b/boost_ext/boost/typeof/std/map.hpp similarity index 100% rename from boost/typeof/std/map.hpp rename to boost_ext/boost/typeof/std/map.hpp diff --git a/boost/typeof/std/memory.hpp b/boost_ext/boost/typeof/std/memory.hpp similarity index 100% rename from boost/typeof/std/memory.hpp rename to boost_ext/boost/typeof/std/memory.hpp diff --git a/boost/typeof/std/ostream.hpp b/boost_ext/boost/typeof/std/ostream.hpp similarity index 100% rename from boost/typeof/std/ostream.hpp rename to boost_ext/boost/typeof/std/ostream.hpp diff --git a/boost/typeof/std/queue.hpp b/boost_ext/boost/typeof/std/queue.hpp similarity index 100% rename from boost/typeof/std/queue.hpp rename to boost_ext/boost/typeof/std/queue.hpp diff --git a/boost/typeof/std/set.hpp b/boost_ext/boost/typeof/std/set.hpp similarity index 100% rename from boost/typeof/std/set.hpp rename to boost_ext/boost/typeof/std/set.hpp diff --git a/boost/typeof/std/sstream.hpp b/boost_ext/boost/typeof/std/sstream.hpp similarity index 100% rename from boost/typeof/std/sstream.hpp rename to boost_ext/boost/typeof/std/sstream.hpp diff --git a/boost/typeof/std/stack.hpp b/boost_ext/boost/typeof/std/stack.hpp similarity index 100% rename from boost/typeof/std/stack.hpp rename to boost_ext/boost/typeof/std/stack.hpp diff --git a/boost/typeof/std/streambuf.hpp b/boost_ext/boost/typeof/std/streambuf.hpp similarity index 100% rename from boost/typeof/std/streambuf.hpp rename to boost_ext/boost/typeof/std/streambuf.hpp diff --git a/boost/typeof/std/string.hpp b/boost_ext/boost/typeof/std/string.hpp similarity index 100% rename from boost/typeof/std/string.hpp rename to boost_ext/boost/typeof/std/string.hpp diff --git a/boost/typeof/std/utility.hpp b/boost_ext/boost/typeof/std/utility.hpp similarity index 100% rename from boost/typeof/std/utility.hpp rename to boost_ext/boost/typeof/std/utility.hpp diff --git a/boost/typeof/std/valarray.hpp b/boost_ext/boost/typeof/std/valarray.hpp similarity index 100% rename from boost/typeof/std/valarray.hpp rename to boost_ext/boost/typeof/std/valarray.hpp diff --git a/boost/typeof/std/vector.hpp b/boost_ext/boost/typeof/std/vector.hpp similarity index 100% rename from boost/typeof/std/vector.hpp rename to boost_ext/boost/typeof/std/vector.hpp diff --git a/boost/typeof/template_encoding.hpp b/boost_ext/boost/typeof/template_encoding.hpp similarity index 100% rename from boost/typeof/template_encoding.hpp rename to boost_ext/boost/typeof/template_encoding.hpp diff --git a/boost/typeof/template_template_param.hpp b/boost_ext/boost/typeof/template_template_param.hpp similarity index 100% rename from boost/typeof/template_template_param.hpp rename to boost_ext/boost/typeof/template_template_param.hpp diff --git a/boost/typeof/type_encoding.hpp b/boost_ext/boost/typeof/type_encoding.hpp similarity index 100% rename from boost/typeof/type_encoding.hpp rename to boost_ext/boost/typeof/type_encoding.hpp diff --git a/boost/typeof/type_template_param.hpp b/boost_ext/boost/typeof/type_template_param.hpp similarity index 100% rename from boost/typeof/type_template_param.hpp rename to boost_ext/boost/typeof/type_template_param.hpp diff --git a/boost/typeof/typeof.hpp b/boost_ext/boost/typeof/typeof.hpp similarity index 100% rename from boost/typeof/typeof.hpp rename to boost_ext/boost/typeof/typeof.hpp diff --git a/boost/typeof/typeof_impl.hpp b/boost_ext/boost/typeof/typeof_impl.hpp similarity index 100% rename from boost/typeof/typeof_impl.hpp rename to boost_ext/boost/typeof/typeof_impl.hpp diff --git a/boost/typeof/vector.hpp b/boost_ext/boost/typeof/vector.hpp similarity index 100% rename from boost/typeof/vector.hpp rename to boost_ext/boost/typeof/vector.hpp diff --git a/boost/typeof/vector100.hpp b/boost_ext/boost/typeof/vector100.hpp similarity index 100% rename from boost/typeof/vector100.hpp rename to boost_ext/boost/typeof/vector100.hpp diff --git a/boost/typeof/vector150.hpp b/boost_ext/boost/typeof/vector150.hpp similarity index 100% rename from boost/typeof/vector150.hpp rename to boost_ext/boost/typeof/vector150.hpp diff --git a/boost/typeof/vector200.hpp b/boost_ext/boost/typeof/vector200.hpp similarity index 100% rename from boost/typeof/vector200.hpp rename to boost_ext/boost/typeof/vector200.hpp diff --git a/boost/typeof/vector50.hpp b/boost_ext/boost/typeof/vector50.hpp similarity index 100% rename from boost/typeof/vector50.hpp rename to boost_ext/boost/typeof/vector50.hpp diff --git a/site_scons/senfconf.py b/site_scons/senfconf.py new file mode 100644 index 0000000..bf32926 --- /dev/null +++ b/site_scons/senfconf.py @@ -0,0 +1,60 @@ +from __future__ import with_statement + +_configTests = {} + +def Tests(): + global _configTests + return _configTests + +def Test(func): + global _configTests + _configTests[func.__name__] = func + +class TemporaryContext: + def __init__(self, context): + self._context = context + self._env = self._context.env.Clone() + + def __enter__(self): + return None + + def __exit__(self,*args): + self._context.env.Replace(**self._env.Dictionary()) + return False + +@Test +def CheckBoostVersion(context): + context.Message( "Checking boost version... " ) + ret = context.TryRun("#include \n" + "#include \n" + "int main(int, char **) { std::cout << BOOST_LIB_VERSION << std::endl; }", + ".cc")[1].strip() + if not ret: + context.Result("no boost includes found") + return None + else: + context.Result(ret) + return ret + +@Test +def CheckBoostVariants(context, *variants): + useVariant = None + with TemporaryContext(context): + for variant in variants: + if variant : variantStr = "'%s'" % variant + else : variantStr = "default" + context.Message( "Checking boost %s variant... " % variantStr ) + context.env.Replace( BOOST_VARIANT=variant ) + context.env.Append( _LIBFLAGS = ' -Wl,-Bstatic -l$BOOSTTESTLIB -Wl,-Bdynamic' ) + ret = context.TryLink("#define BOOST_AUTO_TEST_MAIN\n" + "#include \n" + "#include \n" + "BOOST_AUTO_TEST_CASE(test) { BOOST_CHECK(true); }\n", + ".cc") + context.Result( ret ) + if ret and useVariant is None: + useVariant = variant + if useVariant is not None and not context.env.GetOption('no_progress'): + print "Using %s boost variant." % ( + useVariant and "'%s'" % useVariant or "default") + return useVariant diff --git a/site_scons/senfutil.py b/site_scons/senfutil.py index 275ea1d..38c82b6 100644 --- a/site_scons/senfutil.py +++ b/site_scons/senfutil.py @@ -1,5 +1,6 @@ import os.path, glob, site_tools.Yaptu from SCons.Script import * +import senfconf senfutildir = os.path.dirname(__file__) @@ -66,7 +67,8 @@ Special command line parameters: # This looks much more complicated than it is: We do three things here: # a) switch between final or debug options # b) parse the LOGLEVELS parameter into the correct SENF_LOG_CONF syntax -# c) check for a local SENF, set options accordingly and update that SENF if needed +# c) check for a local SENF, set options accordingly +# d) check, wether the boost extensions are needed def SetupForSENF(env, senf_path = []): global senfutildir @@ -75,9 +77,7 @@ def SetupForSENF(env, senf_path = []): loadTools(env) env.Append( - LIBS = [ 'senf', 'rt', '$BOOSTREGEXLIB', - '$BOOSTIOSTREAMSLIB', '$BOOSTSIGNALSLIB', - '$BOOSTFSLIB' ], + LIBS = [ 'rt' ], CXXFLAGS = [ '-Wno-long-long', '$CXXFLAGS_' ], CXXFLAGS_ = BuildTypeOptions('CXXFLAGS'), @@ -156,6 +156,15 @@ def SetupForSENF(env, senf_path = []): if not env.GetOption('no_progress'): print "\nSENF library not found .. trying build anyway !!\n" + Configure(env) + + # Only add senf after all configure checks have run + env.Append( + CPPPATH = '${NEED_BOOST_EXT and "$SENFDIR/boost_ext" or None}', + LIBS = [ 'senf', '$BOOSTREGEXLIB', '$BOOSTIOSTREAMSLIB', '$BOOSTSIGNALSLIB', + '$BOOSTFSLIB' ], + ) + env.Alias('all', '#') @@ -169,10 +178,6 @@ def DefaultOptions(env): LINKFLAGS_normal = [ '-Wl,-S' ], LINKFLAGS_debug = [ '-g' ], ) - # ugly hack for ubuntu karmic - # ToDo: auto-configure alike support - if os.path.exists('/usr/lib/libboost_regex-mt.so'): - env.Append( BOOST_VARIANT = '-mt' ) def Glob(env, exclude=[], subdirs=[]): @@ -189,6 +194,17 @@ def Glob(env, exclude=[], subdirs=[]): testSources.sort() return (sources, testSources) + +def Configure(env): + conf = env.Configure(clean=False, help=False, custom_tests = senfconf.Tests()) + env.Replace( + BOOST_VERSION = conf.CheckBoostVersion(), + BOOST_VARIANT = conf.CheckBoostVariants( '', 'mt' ), + NEED_BOOST_EXT = not conf.CheckCXXHeader("boost/bimap.hpp"), + ) + conf.Finish() + + tagfiles = None def Doxygen(env, doxyheader=None, doxyfooter=None, doxycss=None, mydoxyfile=False, senfdoc_path=[], diff --git a/site_scons/site_tools/Boost.py b/site_scons/site_tools/Boost.py index c0dbce4..8df9c6b 100644 --- a/site_scons/site_tools/Boost.py +++ b/site_scons/site_tools/Boost.py @@ -119,12 +119,13 @@ def NopAction(env, target, source): def generate(env): env.SetDefault( BOOST_VARIANT = '', + _BOOST_VARIANT = '${BOOST_VARIANT and "-" or None}$BOOST_VARIANT', - BOOSTTESTLIB = 'boost_unit_test_framework$BOOST_VARIANT', - BOOSTREGEXLIB = 'boost_regex$BOOST_VARIANT', - BOOSTFSLIB = 'boost_filesystem$BOOST_VARIANT', - BOOSTIOSTREAMSLIB = 'boost_iostreams$BOOST_VARIANT', - BOOSTSIGNALSLIB = 'boost_signals$BOOST_VARIANT', + BOOSTTESTLIB = 'boost_unit_test_framework$_BOOST_VARIANT', + BOOSTREGEXLIB = 'boost_regex$_BOOST_VARIANT', + BOOSTFSLIB = 'boost_filesystem$_BOOST_VARIANT', + BOOSTIOSTREAMSLIB = 'boost_iostreams$_BOOST_VARIANT', + BOOSTSIGNALSLIB = 'boost_signals$_BOOST_VARIANT', BOOSTTESTARGS = [ '--build_info=yes', '--log_level=test_suite' ], )