aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2006-03-06 06:58:37 +0000
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2006-03-06 06:58:37 +0000
commit394b093d08acab7c9f6cdb8caa83480c9d9af06d (patch)
tree05ffe1c414336e6574d2b62641ca402cee043cbc
parenta92006811222394f20ca317ebb337c2c57b25cfd (diff)
downloadpaludis-394b093d08acab7c9f6cdb8caa83480c9d9af06d.tar.gz
paludis-394b093d08acab7c9f6cdb8caa83480c9d9af06d.tar.xz
Move everything around, and probably break lots of stuff.
-rwxr-xr-xautogen.bash6
-rw-r--r--configure.ac3
-rw-r--r--paludis/Makefile.am.m49
-rw-r--r--paludis/about_TEST.cc2
-rw-r--r--paludis/args/Makefile.am3
-rw-r--r--paludis/args/args_dumper.hh5
-rw-r--r--paludis/args/args_error.hh2
-rw-r--r--paludis/args/args_handler.cc2
-rw-r--r--paludis/args/args_handler.hh2
-rw-r--r--paludis/args/args_option.hh2
-rw-r--r--paludis/args/args_visitor.cc4
-rw-r--r--paludis/args/args_visitor.hh2
-rw-r--r--paludis/category_name_part.cc2
-rw-r--r--paludis/category_name_part.hh8
-rw-r--r--paludis/category_name_part_TEST.cc2
-rw-r--r--paludis/config_file.cc8
-rw-r--r--paludis/config_file.hh4
-rw-r--r--paludis/config_file_TEST.cc6
-rw-r--r--paludis/default_config.cc26
-rw-r--r--paludis/default_config.hh10
-rw-r--r--paludis/default_environment.cc12
-rw-r--r--paludis/default_environment.hh2
-rw-r--r--paludis/dep_atom.cc2
-rw-r--r--paludis/dep_atom.hh10
-rw-r--r--paludis/dep_atom_TEST.cc2
-rw-r--r--paludis/dep_atom_dumper.cc4
-rw-r--r--paludis/dep_atom_dumper.hh2
-rw-r--r--paludis/dep_atom_dumper_TEST.cc4
-rw-r--r--paludis/dep_atom_flattener.cc4
-rw-r--r--paludis/dep_atom_flattener.hh6
-rw-r--r--paludis/dep_atom_pretty_printer.cc6
-rw-r--r--paludis/dep_lexer.cc8
-rw-r--r--paludis/dep_lexer.hh4
-rw-r--r--paludis/dep_lexer_TEST.cc2
-rw-r--r--paludis/dep_list.cc26
-rw-r--r--paludis/dep_list.hh8
-rw-r--r--paludis/dep_list_TEST.cc2
-rw-r--r--paludis/dep_parser.cc10
-rw-r--r--paludis/dep_parser.hh6
-rw-r--r--paludis/dep_parser_TEST.cc2
-rw-r--r--paludis/environment.cc4
-rw-r--r--paludis/environment.hh4
-rw-r--r--paludis/fake_repository.cc6
-rw-r--r--paludis/fake_repository.hh2
-rw-r--r--paludis/files.m434
-rw-r--r--paludis/hashed_containers.hh.in2
-rw-r--r--paludis/key_value_config_file.cc2
-rw-r--r--paludis/key_value_config_file_TEST.cc6
-rw-r--r--paludis/keyword_name.cc2
-rw-r--r--paludis/keyword_name.hh6
-rw-r--r--paludis/line_config_file.cc2
-rw-r--r--paludis/line_config_file_TEST.cc2
-rw-r--r--paludis/mask_reasons.cc2
-rw-r--r--paludis/match_package.cc2
-rw-r--r--paludis/match_package.hh2
-rw-r--r--paludis/match_sequence.cc2
-rw-r--r--paludis/match_sequence.hh2
-rw-r--r--paludis/match_sequence_TEST.cc2
-rw-r--r--paludis/package_database.cc10
-rw-r--r--paludis/package_database.hh14
-rw-r--r--paludis/package_database_TEST.cc2
-rw-r--r--paludis/package_dep_atom_TEST.cc2
-rw-r--r--paludis/package_name_part.cc2
-rw-r--r--paludis/package_name_part.hh8
-rw-r--r--paludis/package_name_part_TEST.cc2
-rw-r--r--paludis/paludis.cc2
-rw-r--r--paludis/portage_repository.cc40
-rw-r--r--paludis/portage_repository.hh4
-rw-r--r--paludis/qa/Makefile.am.m48
-rw-r--r--paludis/qa/changelog_check.cc4
-rw-r--r--paludis/qa/check.cc2
-rw-r--r--paludis/qa/check.hh2
-rw-r--r--paludis/qa/check_result.cc2
-rw-r--r--paludis/qa/check_result.hh2
-rw-r--r--paludis/qa/check_result_TEST.cc2
-rw-r--r--paludis/qa/create_metadata_check.cc2
-rw-r--r--paludis/qa/defaults_check.cc4
-rw-r--r--paludis/qa/dep_any_check.cc6
-rw-r--r--paludis/qa/dep_flags_check.cc2
-rw-r--r--paludis/qa/dep_packages_check.cc2
-rw-r--r--paludis/qa/deps_exist_check.cc4
-rw-r--r--paludis/qa/deps_visible_check.cc2
-rw-r--r--paludis/qa/description_check.cc2
-rw-r--r--paludis/qa/digest_collisions_check.cc10
-rw-r--r--paludis/qa/ebuild_check.cc2
-rw-r--r--paludis/qa/ebuild_check.hh8
-rw-r--r--paludis/qa/ebuild_count.cc6
-rw-r--r--paludis/qa/environment.cc2
-rw-r--r--paludis/qa/environment.hh2
-rw-r--r--paludis/qa/extract_check.cc4
-rw-r--r--paludis/qa/file_check.cc2
-rw-r--r--paludis/qa/file_check.hh8
-rw-r--r--paludis/qa/file_name_check.cc2
-rw-r--r--paludis/qa/file_permissions_check.cc2
-rw-r--r--paludis/qa/file_permissions_check_TEST.cc2
-rw-r--r--paludis/qa/files_dir_size_check.cc6
-rw-r--r--paludis/qa/glep_31_check.cc2
-rw-r--r--paludis/qa/glep_31_check_TEST.cc2
-rw-r--r--paludis/qa/has_ebuilds_check.cc6
-rw-r--r--paludis/qa/has_ebuilds_check_TEST.cc2
-rw-r--r--paludis/qa/has_misc_files_check.cc6
-rw-r--r--paludis/qa/has_misc_files_check_TEST.cc2
-rw-r--r--paludis/qa/homepage_check.cc2
-rw-r--r--paludis/qa/inherits_check.cc6
-rw-r--r--paludis/qa/iuse_check.cc2
-rw-r--r--paludis/qa/keywords_check.cc2
-rw-r--r--paludis/qa/license_check.cc4
-rw-r--r--paludis/qa/message.cc2
-rw-r--r--paludis/qa/message.hh2
-rw-r--r--paludis/qa/message_TEST.cc2
-rw-r--r--paludis/qa/metadata_check.cc6
-rw-r--r--paludis/qa/package_dir_check.cc2
-rw-r--r--paludis/qa/package_dir_check.hh8
-rw-r--r--paludis/qa/package_name_check.cc2
-rw-r--r--paludis/qa/package_name_check_TEST.cc2
-rw-r--r--paludis/qa/parse_deps_check.cc2
-rw-r--r--paludis/qa/pdepend_overlap_check.cc4
-rw-r--r--paludis/qa/qa.cc2
-rw-r--r--paludis/qa/restrict_check.cc4
-rw-r--r--paludis/qa/slot_check.cc2
-rw-r--r--paludis/qa/src_uri_check.cc4
-rw-r--r--paludis/qa/whitespace_check.cc4
-rw-r--r--paludis/qualified_package_name.cc4
-rw-r--r--paludis/qualified_package_name.hh6
-rw-r--r--paludis/qualified_package_name_TEST.cc4
-rw-r--r--paludis/repository.cc2
-rw-r--r--paludis/repository.hh8
-rw-r--r--paludis/repository_name.cc2
-rw-r--r--paludis/repository_name.hh8
-rw-r--r--paludis/slot_name.cc2
-rw-r--r--paludis/slot_name.hh6
-rw-r--r--paludis/test_environment.cc2
-rw-r--r--paludis/test_environment.hh2
-rw-r--r--paludis/test_extras.cc8
-rw-r--r--paludis/use_flag_name.cc2
-rw-r--r--paludis/use_flag_name.hh6
-rw-r--r--paludis/use_flag_state.cc2
-rw-r--r--paludis/util/Makefile.am.m462
-rw-r--r--paludis/util/attributes.cc (renamed from paludis/attributes.cc)2
-rw-r--r--paludis/util/attributes.hh (renamed from paludis/attributes.hh)0
-rw-r--r--paludis/util/compare.cc (renamed from paludis/compare.cc)2
-rw-r--r--paludis/util/compare.hh (renamed from paludis/compare.hh)4
-rw-r--r--paludis/util/comparison_policy.cc (renamed from paludis/comparison_policy.cc)2
-rw-r--r--paludis/util/comparison_policy.hh.m4 (renamed from paludis/comparison_policy.hh.m4)0
-rw-r--r--paludis/util/comparison_policy_TEST.cc (renamed from paludis/comparison_policy_TEST.cc)2
-rw-r--r--paludis/util/composite_pattern.cc (renamed from paludis/composite_pattern.cc)2
-rw-r--r--paludis/util/composite_pattern.hh (renamed from paludis/composite_pattern.hh)0
-rw-r--r--paludis/util/container_entry.cc (renamed from paludis/container_entry.cc)2
-rw-r--r--paludis/util/container_entry.hh (renamed from paludis/container_entry.hh)0
-rw-r--r--paludis/util/container_entry_TEST.cc (renamed from paludis/container_entry_TEST.cc)2
-rw-r--r--paludis/util/counted_ptr.cc (renamed from paludis/counted_ptr.cc)2
-rw-r--r--paludis/util/counted_ptr.hh (renamed from paludis/counted_ptr.hh)8
-rw-r--r--paludis/util/counted_ptr_TEST.cc (renamed from paludis/counted_ptr_TEST.cc)2
-rw-r--r--paludis/util/create_insert_iterator.cc (renamed from paludis/create_insert_iterator.cc)2
-rw-r--r--paludis/util/create_insert_iterator.hh (renamed from paludis/create_insert_iterator.hh)0
-rw-r--r--paludis/util/create_insert_iterator_TEST.cc (renamed from paludis/create_insert_iterator_TEST.cc)2
-rw-r--r--paludis/util/deleter.cc (renamed from paludis/deleter.cc)2
-rw-r--r--paludis/util/deleter.hh (renamed from paludis/deleter.hh)0
-rw-r--r--paludis/util/deleter_TEST.cc (renamed from paludis/deleter_TEST.cc)2
-rw-r--r--paludis/util/destringify.cc (renamed from paludis/destringify.cc)2
-rw-r--r--paludis/util/destringify.hh (renamed from paludis/destringify.hh)2
-rw-r--r--paludis/util/destringify_TEST.cc (renamed from paludis/destringify_TEST.cc)2
-rw-r--r--paludis/util/dir_iterator.cc (renamed from paludis/dir_iterator.cc)4
-rw-r--r--paludis/util/dir_iterator.hh (renamed from paludis/dir_iterator.hh)4
-rw-r--r--paludis/util/dir_iterator_TEST.cc (renamed from paludis/dir_iterator_TEST.cc)2
-rwxr-xr-xpaludis/util/dir_iterator_TEST_cleanup.sh (renamed from paludis/dir_iterator_TEST_cleanup.sh)0
-rwxr-xr-xpaludis/util/dir_iterator_TEST_setup.sh (renamed from paludis/dir_iterator_TEST_setup.sh)0
-rw-r--r--paludis/util/exception.cc (renamed from paludis/exception.cc)2
-rw-r--r--paludis/util/exception.hh (renamed from paludis/exception.hh)4
-rw-r--r--paludis/util/files.m446
-rw-r--r--paludis/util/filter_insert_iterator.cc (renamed from paludis/filter_insert_iterator.cc)2
-rw-r--r--paludis/util/filter_insert_iterator.hh (renamed from paludis/filter_insert_iterator.hh)0
-rw-r--r--paludis/util/filter_insert_iterator_TEST.cc (renamed from paludis/filter_insert_iterator_TEST.cc)2
-rw-r--r--paludis/util/fs_entry.cc (renamed from paludis/fs_entry.cc)6
-rw-r--r--paludis/util/fs_entry.hh (renamed from paludis/fs_entry.hh)6
-rw-r--r--paludis/util/fs_entry_TEST.cc (renamed from paludis/fs_entry_TEST.cc)2
-rwxr-xr-xpaludis/util/fs_entry_TEST_cleanup.sh (renamed from paludis/fs_entry_TEST_cleanup.sh)0
-rwxr-xr-xpaludis/util/fs_entry_TEST_setup.sh (renamed from paludis/fs_entry_TEST_setup.sh)0
-rw-r--r--paludis/util/getenv.cc (renamed from paludis/getenv.cc)2
-rw-r--r--paludis/util/getenv.hh (renamed from paludis/getenv.hh)2
-rw-r--r--paludis/util/getenv_TEST.cc (renamed from paludis/getenv_TEST.cc)2
-rw-r--r--paludis/util/indirect_iterator.cc (renamed from paludis/indirect_iterator.cc)2
-rw-r--r--paludis/util/indirect_iterator.hh (renamed from paludis/indirect_iterator.hh)4
-rw-r--r--paludis/util/indirect_iterator_TEST.cc (renamed from paludis/indirect_iterator_TEST.cc)6
-rw-r--r--paludis/util/instantiation_policy.cc (renamed from paludis/instantiation_policy.cc)2
-rw-r--r--paludis/util/instantiation_policy.hh (renamed from paludis/instantiation_policy.hh)2
-rw-r--r--paludis/util/instantiation_policy_TEST.cc (renamed from paludis/instantiation_policy_TEST.cc)2
-rw-r--r--paludis/util/is_const.cc (renamed from paludis/is_const.cc)2
-rw-r--r--paludis/util/is_const.hh (renamed from paludis/is_const.hh)0
-rw-r--r--paludis/util/is_const_TEST.cc (renamed from paludis/is_const_TEST.cc)2
-rw-r--r--paludis/util/is_file_with_extension.cc (renamed from paludis/is_file_with_extension.cc)2
-rw-r--r--paludis/util/is_file_with_extension.hh (renamed from paludis/is_file_with_extension.hh)2
-rw-r--r--paludis/util/is_file_with_extension_TEST.cc (renamed from paludis/is_file_with_extension_TEST.cc)2
-rwxr-xr-xpaludis/util/is_file_with_extension_TEST_cleanup.sh (renamed from paludis/is_file_with_extension_TEST_cleanup.sh)0
-rwxr-xr-xpaludis/util/is_file_with_extension_TEST_setup.sh (renamed from paludis/is_file_with_extension_TEST_setup.sh)0
-rw-r--r--paludis/util/iterator_utilities.cc (renamed from paludis/iterator_utilities.cc)2
-rw-r--r--paludis/util/iterator_utilities.hh (renamed from paludis/iterator_utilities.hh)0
-rw-r--r--paludis/util/iterator_utilities_TEST.cc (renamed from paludis/iterator_utilities_TEST.cc)2
-rw-r--r--paludis/util/join.cc (renamed from paludis/join.cc)2
-rw-r--r--paludis/util/join.hh (renamed from paludis/join.hh)2
-rw-r--r--paludis/util/join_TEST.cc (renamed from paludis/join_TEST.cc)2
-rw-r--r--paludis/util/log.cc (renamed from paludis/log.cc)2
-rw-r--r--paludis/util/log.hh (renamed from paludis/log.hh)4
-rw-r--r--paludis/util/log_TEST.cc (renamed from paludis/log_TEST.cc)2
-rw-r--r--paludis/util/private_implementation_pattern.cc (renamed from paludis/private_implementation_pattern.cc)2
-rw-r--r--paludis/util/private_implementation_pattern.hh (renamed from paludis/private_implementation_pattern.hh)4
-rw-r--r--paludis/util/pstream.cc (renamed from paludis/pstream.cc)4
-rw-r--r--paludis/util/pstream.hh (renamed from paludis/pstream.hh)4
-rw-r--r--paludis/util/pstream_TEST.cc (renamed from paludis/pstream_TEST.cc)2
-rw-r--r--paludis/util/save.cc (renamed from paludis/save.cc)2
-rw-r--r--paludis/util/save.hh (renamed from paludis/save.hh)2
-rw-r--r--paludis/util/save_TEST.cc (renamed from paludis/save_TEST.cc)2
-rw-r--r--paludis/util/sequential_collection.cc (renamed from paludis/sequential_collection.cc)2
-rw-r--r--paludis/util/sequential_collection.hh (renamed from paludis/sequential_collection.hh)4
-rw-r--r--paludis/util/smart_record.cc (renamed from paludis/smart_record.cc)2
-rw-r--r--paludis/util/smart_record.hh.m4 (renamed from paludis/smart_record.hh.m4)6
-rw-r--r--paludis/util/smart_record_TEST.cc (renamed from paludis/smart_record_TEST.cc)2
-rw-r--r--paludis/util/sorted_collection.cc (renamed from paludis/sorted_collection.cc)2
-rw-r--r--paludis/util/sorted_collection.hh (renamed from paludis/sorted_collection.hh)4
-rw-r--r--paludis/util/stringify.cc (renamed from paludis/stringify.cc)2
-rw-r--r--paludis/util/stringify.hh (renamed from paludis/stringify.hh)0
-rw-r--r--paludis/util/stringify_TEST.cc (renamed from paludis/stringify_TEST.cc)2
-rw-r--r--paludis/util/strip.cc (renamed from paludis/strip.cc)4
-rw-r--r--paludis/util/strip.hh (renamed from paludis/strip.hh)0
-rw-r--r--paludis/util/strip_TEST.cc (renamed from paludis/strip_TEST.cc)2
-rw-r--r--paludis/util/test_extras.cc58
-rw-r--r--paludis/util/tokeniser.cc (renamed from paludis/tokeniser.cc)2
-rw-r--r--paludis/util/tokeniser.hh (renamed from paludis/tokeniser.hh)2
-rw-r--r--paludis/util/tokeniser_TEST.cc (renamed from paludis/tokeniser_TEST.cc)2
-rw-r--r--paludis/util/transform_insert_iterator.cc (renamed from paludis/transform_insert_iterator.cc)2
-rw-r--r--paludis/util/transform_insert_iterator.hh (renamed from paludis/transform_insert_iterator.hh)0
-rw-r--r--paludis/util/transform_insert_iterator_TEST.cc (renamed from paludis/transform_insert_iterator_TEST.cc)2
-rw-r--r--paludis/util/util.hh.m442
-rw-r--r--paludis/util/validated.cc (renamed from paludis/validated.cc)2
-rw-r--r--paludis/util/validated.hh (renamed from paludis/validated.hh)2
-rw-r--r--paludis/util/validated_TEST.cc (renamed from paludis/validated_TEST.cc)2
-rw-r--r--paludis/util/virtual_constructor.cc (renamed from paludis/virtual_constructor.cc)2
-rw-r--r--paludis/util/virtual_constructor.hh (renamed from paludis/virtual_constructor.hh)8
-rw-r--r--paludis/util/virtual_constructor_TEST.cc (renamed from paludis/virtual_constructor_TEST.cc)4
-rw-r--r--paludis/util/visitor.cc (renamed from paludis/visitor.cc)2
-rw-r--r--paludis/util/visitor.hh (renamed from paludis/visitor.hh)0
-rw-r--r--paludis/util/visitor_TEST.cc (renamed from paludis/visitor_TEST.cc)6
-rw-r--r--paludis/version_metadata.cc8
-rw-r--r--paludis/version_metadata.hh4
-rw-r--r--paludis/version_operator.cc4
-rw-r--r--paludis/version_operator.hh4
-rw-r--r--paludis/version_operator_TEST.cc2
-rw-r--r--paludis/version_spec.cc4
-rw-r--r--paludis/version_spec.hh8
-rw-r--r--paludis/version_spec_TEST.cc2
-rw-r--r--src/Makefile.am3
-rw-r--r--src/colour.cc2
-rw-r--r--src/colour.hh2
-rw-r--r--src/command_line.hh2
-rw-r--r--src/qualudis/Makefile.am1
-rw-r--r--src/qualudis/qualudis.cc1
-rw-r--r--src/qualudis/qualudis_command_line.hh2
-rw-r--r--test/test_framework.cc2
-rw-r--r--test/test_framework.hh2
-rw-r--r--test/test_runner.cc2
-rw-r--r--test/test_runner.hh2
261 files changed, 662 insertions, 475 deletions
diff --git a/autogen.bash b/autogen.bash
index 9030cb2bc..4a8233d5a 100755
--- a/autogen.bash
+++ b/autogen.bash
@@ -29,8 +29,10 @@ misc/do_m4.bash paludis/Makefile.am || exit $?
misc/do_m4.bash paludis/paludis.hh || exit $?
misc/do_m4.bash paludis/qa/Makefile.am || exit $?
misc/do_m4.bash paludis/qa/qa.hh || exit $?
-misc/do_m4.bash paludis/smart_record.hh || exit $?
-misc/do_m4.bash paludis/comparison_policy.hh || exit $?
+misc/do_m4.bash paludis/util/util.hh || exit $?
+misc/do_m4.bash paludis/util/Makefile.am || exit $?
+misc/do_m4.bash paludis/util/smart_record.hh || exit $?
+misc/do_m4.bash paludis/util/comparison_policy.hh || exit $?
run mkdir -p config
run $(get libtoolize 1.5 ) --copy --force --automake
rm -f config.cache
diff --git a/configure.ac b/configure.ac
index 815687cf7..9c1e99045 100644
--- a/configure.ac
+++ b/configure.ac
@@ -330,9 +330,10 @@ AC_OUTPUT(
misc/svn-version-filter-data.bash
paludis/Makefile
paludis/about.hh
- paludis/hashed_containers.hh
paludis/args/Makefile
+ paludis/hashed_containers.hh
paludis/qa/Makefile
+ paludis/util/Makefile
src/Makefile
src/qualudis/Makefile
test/Makefile
diff --git a/paludis/Makefile.am.m4 b/paludis/Makefile.am.m4
index 026a08bb9..a5e1226e6 100644
--- a/paludis/Makefile.am.m4
+++ b/paludis/Makefile.am.m4
@@ -8,7 +8,10 @@ define(`testlist', `')dnl
define(`testscriptlist', `')dnl
define(`addtest', `define(`testlist', testlist `$1_TEST')dnl
$1_TEST_SOURCES = $1_TEST.cc
-$1_TEST_LDADD = test_extras.o $(top_builddir)/test/libtest.a libpaludis.a
+$1_TEST_LDADD = $(top_builddir)/paludis/util/test_extras.o \
+ $(top_builddir)/test/libtest.a \
+ libpaludis.a \
+ $(top_builddir)/paludis/util/libpaludisutil.a
$1_TEST_CXXFLAGS = -I$(top_srcdir)
')dnl
define(`addtestscript', `define(`testscriptlist', testscriptlist `$1_TEST_setup.sh $1_TEST_cleanup.sh')')dnl
@@ -32,8 +35,8 @@ MAINTAINERCLEANFILES = Makefile.in Makefile.am about.hh paludis.hh smart_record.
AM_CXXFLAGS = -I$(top_srcdir)
DEFS=-DSYSCONFDIR=\"$(sysconfdir)\" -DLIBEXECDIR=\"$(libexecdir)\"
EXTRA_DIST = about.hh.in Makefile.am.m4 paludis.hh.m4 files.m4 smart_record.hh.m4 \
- comparison_policy.hh.m4 hashed_containers.hh.in testscriptlist test_extras.cc
-SUBDIRS = . args qa
+ comparison_policy.hh.m4 hashed_containers.hh.in testscriptlist
+SUBDIRS = util . args qa
libpaludis_a_SOURCES = filelist
diff --git a/paludis/about_TEST.cc b/paludis/about_TEST.cc
index 66b7c0b1c..27882c33f 100644
--- a/paludis/about_TEST.cc
+++ b/paludis/about_TEST.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "about.hh"
+#include <paludis/about.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
diff --git a/paludis/args/Makefile.am b/paludis/args/Makefile.am
index 6dfa2aa23..734f0b306 100644
--- a/paludis/args/Makefile.am
+++ b/paludis/args/Makefile.am
@@ -24,7 +24,8 @@ check_PROGRAMS = $(TESTS)
test_ldadd = \
$(top_builddir)/test/libtest.a \
libpaludisargs.a \
- $(top_builddir)/paludis/libpaludis.a
+ $(top_builddir)/paludis/libpaludis.a \
+ $(top_builddir)/paludis/util/libpaludisutil.a
args_TEST_SOURCES = args_TEST.cc
args_TEST_LDADD = $(test_ldadd)
diff --git a/paludis/args/args_dumper.hh b/paludis/args/args_dumper.hh
index 1c2a45ff1..1db182abb 100644
--- a/paludis/args/args_dumper.hh
+++ b/paludis/args/args_dumper.hh
@@ -21,11 +21,10 @@
#ifndef PALUDIS_GUARD_PALUDIS_ARGS_ARGS_DUMPER_HH
#define PALUDIS_GUARD_PALUDIS_ARGS_ARGS_DUMPER_HH 1
-#include <paludis/visitor.hh>
+#include <paludis/util/visitor.hh>
+#include <paludis/args/args_visitor.hh>
#include <ostream>
-#include "args_visitor.hh"
-
namespace paludis
{
namespace args
diff --git a/paludis/args/args_error.hh b/paludis/args/args_error.hh
index ee0685132..f7fb5a09b 100644
--- a/paludis/args/args_error.hh
+++ b/paludis/args/args_error.hh
@@ -20,7 +20,7 @@
#ifndef PALUDIS_GUARD_ARGS_ARGS_ERROR_HH
#define PALUDIS_GUARD_ARGS_ARGS_ERROR_HH 1
-#include <paludis/exception.hh>
+#include <paludis/util/exception.hh>
#include <string>
/** \file
diff --git a/paludis/args/args_handler.cc b/paludis/args/args_handler.cc
index 7aa1f2bfd..59009e36a 100644
--- a/paludis/args/args_handler.cc
+++ b/paludis/args/args_handler.cc
@@ -19,7 +19,7 @@
#include "args.hh"
#include "args_dumper.hh"
-#include <paludis/getenv.hh>
+#include <paludis/util/getenv.hh>
#include <algorithm>
/** \file
diff --git a/paludis/args/args_handler.hh b/paludis/args/args_handler.hh
index 9203d0e88..cce3a7a8b 100644
--- a/paludis/args/args_handler.hh
+++ b/paludis/args/args_handler.hh
@@ -21,7 +21,7 @@
#define PALUDIS_GUARD_ARGS_ARGS_HANDLER_HH 1
#include <paludis/args/args_group.hh>
-#include <paludis/instantiation_policy.hh>
+#include <paludis/util/instantiation_policy.hh>
#include <string>
#include <ostream>
#include <map>
diff --git a/paludis/args/args_option.hh b/paludis/args/args_option.hh
index 251360a56..ff3cb7430 100644
--- a/paludis/args/args_option.hh
+++ b/paludis/args/args_option.hh
@@ -21,10 +21,10 @@
#ifndef PALUDIS_GUARD_ARGS_ARGS_OPTION_HH
#define PALUDIS_GUARD_ARGS_ARGS_OPTION_HH 1
+#include <paludis/args/args_visitor.hh>
#include <string>
#include <set>
#include <vector>
-#include "args_visitor.hh"
/** \file
* Declaration for ArgsOption.
diff --git a/paludis/args/args_visitor.cc b/paludis/args/args_visitor.cc
index ac5332e60..fcbd241f2 100644
--- a/paludis/args/args_visitor.cc
+++ b/paludis/args/args_visitor.cc
@@ -16,12 +16,12 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "args_visitor.hh"
+#include <paludis/util/visitor.hh>
#include "args_option.hh"
#include "bad_value.hh"
#include "missing_value.hh"
-#include <paludis/destringify.hh>
+#include <paludis/util/destringify.hh>
#include <sstream>
diff --git a/paludis/args/args_visitor.hh b/paludis/args/args_visitor.hh
index 18564c279..155d7c10f 100644
--- a/paludis/args/args_visitor.hh
+++ b/paludis/args/args_visitor.hh
@@ -23,7 +23,7 @@
#include <list>
#include <string>
-#include <paludis/visitor.hh>
+#include <paludis/util/visitor.hh>
/** \file
* Declaration for ArgsVisitor
diff --git a/paludis/category_name_part.cc b/paludis/category_name_part.cc
index 8ec49a136..185dd860e 100644
--- a/paludis/category_name_part.cc
+++ b/paludis/category_name_part.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "category_name_part.hh"
+#include <paludis/category_name_part.hh>
using namespace paludis;
diff --git a/paludis/category_name_part.hh b/paludis/category_name_part.hh
index f4be7ce99..0dfc348c2 100644
--- a/paludis/category_name_part.hh
+++ b/paludis/category_name_part.hh
@@ -20,10 +20,10 @@
#ifndef PALUDIS_GUARD_PALUDIS_CATEGORY_NAME_PART_HH
#define PALUDIS_GUARD_PALUDIS_CATEGORY_NAME_PART_HH 1
-#include <paludis/validated.hh>
-#include <paludis/exception.hh>
-#include <paludis/private_implementation_pattern.hh>
-#include <paludis/sorted_collection.hh>
+#include <paludis/util/validated.hh>
+#include <paludis/util/exception.hh>
+#include <paludis/util/private_implementation_pattern.hh>
+#include <paludis/util/sorted_collection.hh>
#include <string>
/** \file
diff --git a/paludis/category_name_part_TEST.cc b/paludis/category_name_part_TEST.cc
index 8adeaa906..a26f7a70a 100644
--- a/paludis/category_name_part_TEST.cc
+++ b/paludis/category_name_part_TEST.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "category_name_part.hh"
+#include <paludis/category_name_part.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
#include <string>
diff --git a/paludis/config_file.cc b/paludis/config_file.cc
index a7d240f28..2438682d2 100644
--- a/paludis/config_file.cc
+++ b/paludis/config_file.cc
@@ -17,10 +17,10 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "config_file.hh"
-#include "strip.hh"
-#include "exception.hh"
-#include "stringify.hh"
+#include <paludis/config_file.hh>
+#include <paludis/util/strip.hh>
+#include <paludis/util/exception.hh>
+#include <paludis/util/stringify.hh>
#include <fstream>
using namespace paludis;
diff --git a/paludis/config_file.hh b/paludis/config_file.hh
index 0b34f3e2e..dfd59138f 100644
--- a/paludis/config_file.hh
+++ b/paludis/config_file.hh
@@ -20,8 +20,8 @@
#ifndef PALUDIS_GUARD_PALUDIS_CONFIG_FILE_HH
#define PALUDIS_GUARD_PALUDIS_CONFIG_FILE_HH 1
-#include <paludis/instantiation_policy.hh>
-#include <paludis/exception.hh>
+#include <paludis/util/instantiation_policy.hh>
+#include <paludis/util/exception.hh>
#include <istream>
#include <list>
#include <string>
diff --git a/paludis/config_file_TEST.cc b/paludis/config_file_TEST.cc
index e368d0a11..a6027d41a 100644
--- a/paludis/config_file_TEST.cc
+++ b/paludis/config_file_TEST.cc
@@ -17,9 +17,9 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "stringify.hh"
-#include "config_file.hh"
-#include "fs_entry.hh"
+#include <paludis/util/stringify.hh>
+#include <paludis/config_file.hh>
+#include <paludis/util/fs_entry.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
#include <sstream>
diff --git a/paludis/default_config.cc b/paludis/default_config.cc
index c789581d7..b7dcf71d4 100644
--- a/paludis/default_config.cc
+++ b/paludis/default_config.cc
@@ -17,19 +17,19 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "create_insert_iterator.hh"
-#include "default_config.hh"
-#include "destringify.hh"
-#include "dir_iterator.hh"
-#include "filter_insert_iterator.hh"
-#include "fs_entry.hh"
-#include "getenv.hh"
-#include "is_file_with_extension.hh"
-#include "iterator_utilities.hh"
-#include "key_value_config_file.hh"
-#include "line_config_file.hh"
-#include "stringify.hh"
-#include "tokeniser.hh"
+#include <paludis/default_config.hh>
+#include <paludis/key_value_config_file.hh>
+#include <paludis/line_config_file.hh>
+#include <paludis/util/create_insert_iterator.hh>
+#include <paludis/util/destringify.hh>
+#include <paludis/util/dir_iterator.hh>
+#include <paludis/util/filter_insert_iterator.hh>
+#include <paludis/util/fs_entry.hh>
+#include <paludis/util/getenv.hh>
+#include <paludis/util/is_file_with_extension.hh>
+#include <paludis/util/iterator_utilities.hh>
+#include <paludis/util/stringify.hh>
+#include <paludis/util/tokeniser.hh>
#include <fstream>
#include <algorithm>
#include <sstream>
diff --git a/paludis/default_config.hh b/paludis/default_config.hh
index 04bed9fb7..be619a370 100644
--- a/paludis/default_config.hh
+++ b/paludis/default_config.hh
@@ -20,14 +20,14 @@
#ifndef PALUDIS_GUARD_PALUDIS_DEFAULT_CONFIG_HH
#define PALUDIS_GUARD_PALUDIS_DEFAULT_CONFIG_HH 1
-#include <paludis/exception.hh>
-#include <paludis/fs_entry.hh>
-#include <paludis/indirect_iterator.hh>
-#include <paludis/instantiation_policy.hh>
+#include <paludis/util/exception.hh>
+#include <paludis/util/fs_entry.hh>
+#include <paludis/util/indirect_iterator.hh>
+#include <paludis/util/instantiation_policy.hh>
#include <paludis/keyword_name.hh>
#include <paludis/dep_atom.hh>
#include <paludis/qualified_package_name.hh>
-#include <paludis/smart_record.hh>
+#include <paludis/util/smart_record.hh>
#include <paludis/use_flag_name.hh>
#include <paludis/use_flag_state.hh>
diff --git a/paludis/default_environment.cc b/paludis/default_environment.cc
index 1fbf83111..6bab4fb78 100644
--- a/paludis/default_environment.cc
+++ b/paludis/default_environment.cc
@@ -17,12 +17,12 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "default_environment.hh"
-#include "package_database.hh"
-#include "repository.hh"
-#include "default_config.hh"
-#include "stringify.hh"
-#include "match_package.hh"
+#include <paludis/default_environment.hh>
+#include <paludis/package_database.hh>
+#include <paludis/repository.hh>
+#include <paludis/default_config.hh>
+#include <paludis/util/stringify.hh>
+#include <paludis/match_package.hh>
#include <list>
#include <vector>
diff --git a/paludis/default_environment.hh b/paludis/default_environment.hh
index c63d29b8c..daa6be508 100644
--- a/paludis/default_environment.hh
+++ b/paludis/default_environment.hh
@@ -20,7 +20,7 @@
#ifndef PALUDIS_GUARD_PALUDIS_DEFAULT_ENVIRONMENT_HH
#define PALUDIS_GUARD_PALUDIS_DEFAULT_ENVIRONMENT_HH 1
-#include <paludis/environment.hh>
+#include <paludis/qa/environment.hh>
#include <paludis/package_database.hh>
/** \file
diff --git a/paludis/dep_atom.cc b/paludis/dep_atom.cc
index 6b9392069..4ea3fc613 100644
--- a/paludis/dep_atom.cc
+++ b/paludis/dep_atom.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "dep_atom.hh"
+#include <paludis/dep_atom.hh>
using namespace paludis;
diff --git a/paludis/dep_atom.hh b/paludis/dep_atom.hh
index 3cfedf413..bc1d39c3d 100644
--- a/paludis/dep_atom.hh
+++ b/paludis/dep_atom.hh
@@ -20,16 +20,16 @@
#ifndef PALUDIS_GUARD_PALUDIS_DEP_ATOM_HH
#define PALUDIS_GUARD_PALUDIS_DEP_ATOM_HH 1
-#include <paludis/attributes.hh>
-#include <paludis/composite_pattern.hh>
-#include <paludis/counted_ptr.hh>
-#include <paludis/instantiation_policy.hh>
+#include <paludis/util/attributes.hh>
+#include <paludis/util/composite_pattern.hh>
+#include <paludis/util/counted_ptr.hh>
+#include <paludis/util/instantiation_policy.hh>
#include <paludis/qualified_package_name.hh>
#include <paludis/slot_name.hh>
#include <paludis/use_flag_name.hh>
#include <paludis/version_operator.hh>
#include <paludis/version_spec.hh>
-#include <paludis/visitor.hh>
+#include <paludis/util/visitor.hh>
#include <list>
/** \file
diff --git a/paludis/dep_atom_TEST.cc b/paludis/dep_atom_TEST.cc
index 3bb28193e..d7db769b3 100644
--- a/paludis/dep_atom_TEST.cc
+++ b/paludis/dep_atom_TEST.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "dep_atom.hh"
+#include <paludis/dep_atom.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
diff --git a/paludis/dep_atom_dumper.cc b/paludis/dep_atom_dumper.cc
index f066fd828..51d675376 100644
--- a/paludis/dep_atom_dumper.cc
+++ b/paludis/dep_atom_dumper.cc
@@ -17,8 +17,8 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "dep_atom.hh"
-#include "dep_atom_dumper.hh"
+#include <paludis/dep_atom.hh>
+#include <paludis/dep_atom_dumper.hh>
#include <algorithm>
using namespace paludis;
diff --git a/paludis/dep_atom_dumper.hh b/paludis/dep_atom_dumper.hh
index cefbe9b2e..05cc81a46 100644
--- a/paludis/dep_atom_dumper.hh
+++ b/paludis/dep_atom_dumper.hh
@@ -20,7 +20,7 @@
#ifndef PALUDIS_GUARD_PALUDIS_DEP_ATOM_DUMPER_HH
#define PALUDIS_GUARD_PALUDIS_DEP_ATOM_DUMPER_HH 1
-#include <paludis/instantiation_policy.hh>
+#include <paludis/util/instantiation_policy.hh>
#include <ostream>
/** \file
diff --git a/paludis/dep_atom_dumper_TEST.cc b/paludis/dep_atom_dumper_TEST.cc
index a122968b5..0f5547698 100644
--- a/paludis/dep_atom_dumper_TEST.cc
+++ b/paludis/dep_atom_dumper_TEST.cc
@@ -19,8 +19,8 @@
#include <test/test_framework.hh>
#include <test/test_runner.hh>
-#include "dep_atom.hh"
-#include "dep_atom_dumper.hh"
+#include <paludis/dep_atom.hh>
+#include <paludis/dep_atom_dumper.hh>
#include <sstream>
using namespace test;
diff --git a/paludis/dep_atom_flattener.cc b/paludis/dep_atom_flattener.cc
index 16850936e..7565428b9 100644
--- a/paludis/dep_atom_flattener.cc
+++ b/paludis/dep_atom_flattener.cc
@@ -17,8 +17,8 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "dep_atom_flattener.hh"
-#include "dep_atom.hh"
+#include <paludis/dep_atom_flattener.hh>
+#include <paludis/dep_atom.hh>
using namespace paludis;
diff --git a/paludis/dep_atom_flattener.hh b/paludis/dep_atom_flattener.hh
index 60956dc78..000d27bf1 100644
--- a/paludis/dep_atom_flattener.hh
+++ b/paludis/dep_atom_flattener.hh
@@ -20,10 +20,10 @@
#ifndef PALUDIS_GUARD_PALUDIS_DEP_ATOM_FLATTENER_HH
#define PALUDIS_GUARD_PALUDIS_DEP_ATOM_FLATTENER_HH 1
-#include <paludis/attributes.hh>
+#include <paludis/util/attributes.hh>
#include <paludis/dep_atom.hh>
-#include <paludis/environment.hh>
-#include <paludis/instantiation_policy.hh>
+#include <paludis/qa/environment.hh>
+#include <paludis/util/instantiation_policy.hh>
#include <paludis/package_database.hh>
#include <list>
diff --git a/paludis/dep_atom_pretty_printer.cc b/paludis/dep_atom_pretty_printer.cc
index 2afa38b96..23e461994 100644
--- a/paludis/dep_atom_pretty_printer.cc
+++ b/paludis/dep_atom_pretty_printer.cc
@@ -17,9 +17,9 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "dep_atom_pretty_printer.hh"
-#include "dep_atom.hh"
-#include "save.hh"
+#include <paludis/dep_atom_pretty_printer.hh>
+#include <paludis/dep_atom.hh>
+#include <paludis/util/save.hh>
#include <algorithm>
using namespace paludis;
diff --git a/paludis/dep_lexer.cc b/paludis/dep_lexer.cc
index 9741d41c4..b3b46e962 100644
--- a/paludis/dep_lexer.cc
+++ b/paludis/dep_lexer.cc
@@ -17,10 +17,10 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "dep_atom.hh"
-#include "dep_lexer.hh"
-#include "exception.hh"
-#include "tokeniser.hh"
+#include <paludis/dep_atom.hh>
+#include <paludis/dep_lexer.hh>
+#include <paludis/util/exception.hh>
+#include <paludis/util/tokeniser.hh>
#include <vector>
using namespace paludis;
diff --git a/paludis/dep_lexer.hh b/paludis/dep_lexer.hh
index 77ea48e6c..7c70fa045 100644
--- a/paludis/dep_lexer.hh
+++ b/paludis/dep_lexer.hh
@@ -20,8 +20,8 @@
#ifndef PALUDIS_GUARD_PALUDIS_DEP_PARSER_LEXER_HH
#define PALUDIS_GUARD_PALUDIS_DEP_PARSER_LEXER_HH 1
-#include <paludis/instantiation_policy.hh>
-#include <paludis/exception.hh>
+#include <paludis/util/instantiation_policy.hh>
+#include <paludis/util/exception.hh>
#include <list>
#include <string>
diff --git a/paludis/dep_lexer_TEST.cc b/paludis/dep_lexer_TEST.cc
index 742391e82..c130f9f5c 100644
--- a/paludis/dep_lexer_TEST.cc
+++ b/paludis/dep_lexer_TEST.cc
@@ -19,7 +19,7 @@
#include <test/test_framework.hh>
#include <test/test_runner.hh>
-#include "dep_lexer.hh"
+#include <paludis/dep_lexer.hh>
#include <sstream>
using namespace test;
diff --git a/paludis/dep_list.cc b/paludis/dep_list.cc
index 920725d7c..1ffd771c7 100644
--- a/paludis/dep_list.cc
+++ b/paludis/dep_list.cc
@@ -17,19 +17,19 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "container_entry.hh"
-#include "dep_atom.hh"
-#include "dep_atom_flattener.hh"
-#include "dep_list.hh"
-#include "dep_parser.hh"
-#include "filter_insert_iterator.hh"
-#include "indirect_iterator.hh"
-#include "iterator_utilities.hh"
-#include "join.hh"
-#include "log.hh"
-#include "match_package.hh"
-#include "save.hh"
-#include "stringify.hh"
+#include <paludis/util/container_entry.hh>
+#include <paludis/dep_atom.hh>
+#include <paludis/dep_atom_flattener.hh>
+#include <paludis/dep_list.hh>
+#include <paludis/dep_parser.hh>
+#include <paludis/util/filter_insert_iterator.hh>
+#include <paludis/util/indirect_iterator.hh>
+#include <paludis/util/iterator_utilities.hh>
+#include <paludis/util/join.hh>
+#include <paludis/util/log.hh>
+#include <paludis/match_package.hh>
+#include <paludis/util/save.hh>
+#include <paludis/util/stringify.hh>
#include <algorithm>
#include <functional>
diff --git a/paludis/dep_list.hh b/paludis/dep_list.hh
index 490a48a9e..e626ed6e6 100644
--- a/paludis/dep_list.hh
+++ b/paludis/dep_list.hh
@@ -21,13 +21,13 @@
#define PALUDIS_GUARD_PALUDIS_DEP_LIST_HH 1
#include <paludis/dep_atom.hh>
-#include <paludis/environment.hh>
-#include <paludis/instantiation_policy.hh>
-#include <paludis/private_implementation_pattern.hh>
+#include <paludis/qa/environment.hh>
+#include <paludis/util/instantiation_policy.hh>
+#include <paludis/util/private_implementation_pattern.hh>
#include <paludis/qualified_package_name.hh>
#include <paludis/repository_name.hh>
#include <paludis/slot_name.hh>
-#include <paludis/smart_record.hh>
+#include <paludis/util/smart_record.hh>
#include <paludis/version_spec.hh>
#include <ostream>
#include <list>
diff --git a/paludis/dep_list_TEST.cc b/paludis/dep_list_TEST.cc
index bb388fafb..f455856dd 100644
--- a/paludis/dep_list_TEST.cc
+++ b/paludis/dep_list_TEST.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "paludis.hh"
+#include <paludis/paludis.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
#include <deque>
diff --git a/paludis/dep_parser.cc b/paludis/dep_parser.cc
index 2e04c0d98..c85c638dc 100644
--- a/paludis/dep_parser.cc
+++ b/paludis/dep_parser.cc
@@ -17,11 +17,11 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "exception.hh"
-#include "stringify.hh"
-#include "dep_atom.hh"
-#include "dep_parser.hh"
-#include "dep_lexer.hh"
+#include <paludis/util/exception.hh>
+#include <paludis/util/stringify.hh>
+#include <paludis/dep_atom.hh>
+#include <paludis/dep_parser.hh>
+#include <paludis/dep_lexer.hh>
#include <stack>
using namespace paludis;
diff --git a/paludis/dep_parser.hh b/paludis/dep_parser.hh
index 5f5ede15c..85caa528a 100644
--- a/paludis/dep_parser.hh
+++ b/paludis/dep_parser.hh
@@ -21,9 +21,9 @@
#define PALUDIS_GUARD_PALUDIS_DEP_PARSER_HH 1
#include <paludis/dep_atom.hh>
-#include <paludis/counted_ptr.hh>
-#include <paludis/instantiation_policy.hh>
-#include <paludis/exception.hh>
+#include <paludis/util/counted_ptr.hh>
+#include <paludis/util/instantiation_policy.hh>
+#include <paludis/util/exception.hh>
#include <paludis/dep_lexer.hh>
#include <string>
diff --git a/paludis/dep_parser_TEST.cc b/paludis/dep_parser_TEST.cc
index da88d67af..4466dba4d 100644
--- a/paludis/dep_parser_TEST.cc
+++ b/paludis/dep_parser_TEST.cc
@@ -19,7 +19,7 @@
#include <test/test_framework.hh>
#include <test/test_runner.hh>
-#include "paludis.hh"
+#include <paludis/paludis.hh>
#include <sstream>
using namespace test;
diff --git a/paludis/environment.cc b/paludis/environment.cc
index 79c51e08c..7d9d861ef 100644
--- a/paludis/environment.cc
+++ b/paludis/environment.cc
@@ -17,8 +17,8 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "package_database.hh"
-#include "environment.hh"
+#include <paludis/package_database.hh>
+#include <paludis/qa/environment.hh>
using namespace paludis;
diff --git a/paludis/environment.hh b/paludis/environment.hh
index 85023942c..b7d7b7190 100644
--- a/paludis/environment.hh
+++ b/paludis/environment.hh
@@ -23,8 +23,8 @@
#include <paludis/package_database.hh>
#include <paludis/use_flag_name.hh>
#include <paludis/keyword_name.hh>
-#include <paludis/instantiation_policy.hh>
-#include <paludis/counted_ptr.hh>
+#include <paludis/util/instantiation_policy.hh>
+#include <paludis/util/counted_ptr.hh>
#include <paludis/mask_reasons.hh>
/** \file
diff --git a/paludis/fake_repository.cc b/paludis/fake_repository.cc
index f95cac72b..70a48d15d 100644
--- a/paludis/fake_repository.cc
+++ b/paludis/fake_repository.cc
@@ -17,9 +17,9 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "fake_repository.hh"
-#include "version_metadata.hh"
-#include "stringify.hh"
+#include <paludis/fake_repository.hh>
+#include <paludis/version_metadata.hh>
+#include <paludis/util/stringify.hh>
#include <map>
using namespace paludis;
diff --git a/paludis/fake_repository.hh b/paludis/fake_repository.hh
index 93a63df05..1ff754f2d 100644
--- a/paludis/fake_repository.hh
+++ b/paludis/fake_repository.hh
@@ -21,7 +21,7 @@
#define PALUDIS_GUARD_PALUDIS_FAKE_REPOSITORY_HH 1
#include <paludis/repository.hh>
-#include <paludis/private_implementation_pattern.hh>
+#include <paludis/util/private_implementation_pattern.hh>
/** \file
* Declarations for the FakeRepository class.
diff --git a/paludis/files.m4 b/paludis/files.m4
index f9666771a..e73d75825 100644
--- a/paludis/files.m4
+++ b/paludis/files.m4
@@ -9,18 +9,10 @@ dnl `test', `impl', `testscript'. Note that there isn't much error checking done
dnl on this file at present...
add(`about', `hh', `test')
-add(`attributes', `hh', `cc')
add(`category_name_part', `hh', `cc', `test')
-add(`compare', `hh', `cc')
-add(`comparison_policy', `hh', `cc', `test')
-add(`composite_pattern', `hh', `cc')
add(`config_file', `hh', `cc', `test', `testscript')
-add(`container_entry', `hh', `cc', `test')
-add(`counted_ptr', `hh', `cc', `test')
-add(`create_insert_iterator', `hh', `cc', `test')
add(`default_config', `hh', `cc')
add(`default_environment', `hh', `cc')
-add(`deleter', `hh', `cc', `test')
add(`dep_atom', `hh', `cc', `test')
add(`dep_atom_dumper', `hh', `cc', `test')
add(`dep_atom_flattener', `hh', `cc')
@@ -28,25 +20,12 @@ add(`dep_atom_pretty_printer', `hh', `cc')
add(`dep_lexer', `hh', `cc', `test')
add(`dep_list', `hh', `cc', `test')
add(`dep_parser', `hh', `cc', `test')
-add(`destringify', `hh', `cc', `test')
-add(`dir_iterator', `hh', `cc', `test', `testscript')
add(`environment', `hh', `cc')
-add(`exception', `hh', `cc')
add(`fake_repository', `hh', `cc')
-add(`filter_insert_iterator', `hh', `cc', `test')
-add(`fs_entry', `hh', `cc', `test', `testscript')
-add(`getenv', `hh', `cc', `test')
add(`hashed_containers', `hh', `cc', `test')
-add(`indirect_iterator', `hh', `cc', `test')
-add(`instantiation_policy', `hh', `cc', `test')
-add(`is_const', `hh', `cc', `test')
-add(`is_file_with_extension', `hh', `cc', `test', `testscript')
-add(`iterator_utilities', `hh', `cc', `test')
-add(`join', `hh', `cc', `test')
add(`key_value_config_file', `hh', `cc', `test')
add(`keyword_name', `hh', `cc')
add(`line_config_file', `hh', `cc', `test')
-add(`log', `hh', `cc', `test')
add(`mask_reasons', `hh', `cc')
add(`match_package', `hh', `cc')
add(`match_sequence', `hh', `cc', `test')
@@ -54,26 +33,13 @@ add(`package_database', `hh', `cc', `test')
add(`package_name_part', `hh', `cc', `test')
add(`paludis', `hh', `cc')
add(`portage_repository', `hh', `cc')
-add(`private_implementation_pattern', `hh', `cc')
-add(`pstream', `hh', `cc', `test')
add(`qualified_package_name', `hh', `cc', `test')
add(`repository', `hh', `cc')
add(`repository_name', `hh', `cc')
-add(`save', `hh', `cc', `test')
-add(`sequential_collection', `hh', `cc')
-add(`smart_record', `hh', `cc', `test')
add(`slot_name', `hh', `cc')
-add(`sorted_collection', `hh', `cc')
-add(`stringify', `hh', `cc', `test')
-add(`strip', `hh', `cc', `test')
-add(`tokeniser', `hh', `cc', `test')
add(`test_environment', `hh', `cc')
-add(`transform_insert_iterator', `hh', `cc', `test')
add(`use_flag_name', `hh', `cc')
add(`use_flag_state', `hh', `cc')
-add(`validated', `hh', `cc', `test')
add(`version_metadata', `hh', `cc')
add(`version_operator', `hh', `cc', `test')
add(`version_spec', `hh', `cc', `test')
-add(`virtual_constructor', `hh', `cc', `test')
-add(`visitor', `hh', `cc', `test')
diff --git a/paludis/hashed_containers.hh.in b/paludis/hashed_containers.hh.in
index 1c7c6aebb..b9ae6c71d 100644
--- a/paludis/hashed_containers.hh.in
+++ b/paludis/hashed_containers.hh.in
@@ -28,7 +28,7 @@
#include <paludis/qualified_package_name.hh>
#include <paludis/version_spec.hh>
-#include <paludis/validated.hh>
+#include <paludis/util/validated.hh>
#if PALUDIS_HAVE_TR1_HASHES
# include <tr1/unordered_set>
diff --git a/paludis/key_value_config_file.cc b/paludis/key_value_config_file.cc
index dd49fefc6..9203315fe 100644
--- a/paludis/key_value_config_file.cc
+++ b/paludis/key_value_config_file.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "key_value_config_file.hh"
+#include <paludis/key_value_config_file.hh>
using namespace paludis;
diff --git a/paludis/key_value_config_file_TEST.cc b/paludis/key_value_config_file_TEST.cc
index f190c9734..db4428ecc 100644
--- a/paludis/key_value_config_file_TEST.cc
+++ b/paludis/key_value_config_file_TEST.cc
@@ -17,9 +17,9 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "stringify.hh"
-#include "key_value_config_file.hh"
-#include "exception.hh"
+#include <paludis/util/stringify.hh>
+#include <paludis/key_value_config_file.hh>
+#include <paludis/util/exception.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
#include <vector>
diff --git a/paludis/keyword_name.cc b/paludis/keyword_name.cc
index 2ea2694c6..701a90f0a 100644
--- a/paludis/keyword_name.cc
+++ b/paludis/keyword_name.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "keyword_name.hh"
+#include <paludis/keyword_name.hh>
using namespace paludis;
diff --git a/paludis/keyword_name.hh b/paludis/keyword_name.hh
index 2c7919dc0..a7fbe1c73 100644
--- a/paludis/keyword_name.hh
+++ b/paludis/keyword_name.hh
@@ -20,9 +20,9 @@
#ifndef PALUDIS_GUARD_PALUDIS_KEYWORD_NAME_HH
#define PALUDIS_GUARD_PALUDIS_KEYWORD_NAME_HH 1
-#include <paludis/exception.hh>
-#include <paludis/instantiation_policy.hh>
-#include <paludis/validated.hh>
+#include <paludis/util/exception.hh>
+#include <paludis/util/instantiation_policy.hh>
+#include <paludis/util/validated.hh>
#include <string>
diff --git a/paludis/line_config_file.cc b/paludis/line_config_file.cc
index fc6248b87..8525d5936 100644
--- a/paludis/line_config_file.cc
+++ b/paludis/line_config_file.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "line_config_file.hh"
+#include <paludis/line_config_file.hh>
using namespace paludis;
diff --git a/paludis/line_config_file_TEST.cc b/paludis/line_config_file_TEST.cc
index 885919ec6..9ea8b3a9f 100644
--- a/paludis/line_config_file_TEST.cc
+++ b/paludis/line_config_file_TEST.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "line_config_file.hh"
+#include <paludis/line_config_file.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
#include <sstream>
diff --git a/paludis/mask_reasons.cc b/paludis/mask_reasons.cc
index 0e53a31cc..c66ff2f53 100644
--- a/paludis/mask_reasons.cc
+++ b/paludis/mask_reasons.cc
@@ -18,5 +18,5 @@
*/
-#include "mask_reasons.hh"
+#include <paludis/mask_reasons.hh>
diff --git a/paludis/match_package.cc b/paludis/match_package.cc
index 6d345e5cd..30fcadb90 100644
--- a/paludis/match_package.cc
+++ b/paludis/match_package.cc
@@ -1,6 +1,6 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
-#include "match_package.hh"
+#include <paludis/match_package.hh>
using namespace paludis;
diff --git a/paludis/match_package.hh b/paludis/match_package.hh
index afbfe17df..da708beeb 100644
--- a/paludis/match_package.hh
+++ b/paludis/match_package.hh
@@ -11,7 +11,7 @@
* possible.
*/
-#include <paludis/attributes.hh>
+#include <paludis/util/attributes.hh>
#include <paludis/dep_atom.hh>
#include <paludis/dep_list.hh>
#include <paludis/package_database.hh>
diff --git a/paludis/match_sequence.cc b/paludis/match_sequence.cc
index 00e8c402a..d416cabd5 100644
--- a/paludis/match_sequence.cc
+++ b/paludis/match_sequence.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "match_sequence.hh"
+#include <paludis/match_sequence.hh>
using namespace paludis;
diff --git a/paludis/match_sequence.hh b/paludis/match_sequence.hh
index fa462d6f8..d6f02e3bc 100644
--- a/paludis/match_sequence.hh
+++ b/paludis/match_sequence.hh
@@ -21,7 +21,7 @@
#define PALUDIS_GUARD_PALUDIS_MATCH_SEQUENCE_HH 1
#include <string>
-#include <paludis/counted_ptr.hh>
+#include <paludis/util/counted_ptr.hh>
namespace paludis
{
diff --git a/paludis/match_sequence_TEST.cc b/paludis/match_sequence_TEST.cc
index 179fd2970..a20bd15e8 100644
--- a/paludis/match_sequence_TEST.cc
+++ b/paludis/match_sequence_TEST.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "match_sequence.hh"
+#include <paludis/match_sequence.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
diff --git a/paludis/package_database.cc b/paludis/package_database.cc
index 8eb39a937..f22b853d6 100644
--- a/paludis/package_database.cc
+++ b/paludis/package_database.cc
@@ -17,11 +17,11 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "dep_atom.hh"
-#include "package_database.hh"
-#include "indirect_iterator.hh"
-#include "stringify.hh"
-#include "match_package.hh"
+#include <paludis/dep_atom.hh>
+#include <paludis/package_database.hh>
+#include <paludis/util/indirect_iterator.hh>
+#include <paludis/util/stringify.hh>
+#include <paludis/match_package.hh>
#include <list>
#include <map>
diff --git a/paludis/package_database.hh b/paludis/package_database.hh
index b27a5d28b..69ec702bb 100644
--- a/paludis/package_database.hh
+++ b/paludis/package_database.hh
@@ -20,16 +20,16 @@
#ifndef PALUDIS_GUARD_PALUDIS_PACKAGE_DATABASE_HH
#define PALUDIS_GUARD_PALUDIS_PACKAGE_DATABASE_HH 1
-#include <paludis/counted_ptr.hh>
+#include <paludis/util/counted_ptr.hh>
#include <paludis/dep_atom.hh>
-#include <paludis/exception.hh>
-#include <paludis/instantiation_policy.hh>
-#include <paludis/join.hh>
-#include <paludis/private_implementation_pattern.hh>
+#include <paludis/util/exception.hh>
+#include <paludis/util/instantiation_policy.hh>
+#include <paludis/util/join.hh>
+#include <paludis/util/private_implementation_pattern.hh>
#include <paludis/qualified_package_name.hh>
#include <paludis/repository.hh>
-#include <paludis/smart_record.hh>
-#include <paludis/sorted_collection.hh>
+#include <paludis/util/smart_record.hh>
+#include <paludis/util/sorted_collection.hh>
#include <paludis/version_metadata.hh>
#include <paludis/version_spec.hh>
diff --git a/paludis/package_database_TEST.cc b/paludis/package_database_TEST.cc
index a0d2a9368..92bde5c9a 100644
--- a/paludis/package_database_TEST.cc
+++ b/paludis/package_database_TEST.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "paludis.hh"
+#include <paludis/paludis.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
diff --git a/paludis/package_dep_atom_TEST.cc b/paludis/package_dep_atom_TEST.cc
index b64811674..d7db769b3 100644
--- a/paludis/package_dep_atom_TEST.cc
+++ b/paludis/package_dep_atom_TEST.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "package_dep_atom.hh"
+#include <paludis/dep_atom.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
diff --git a/paludis/package_name_part.cc b/paludis/package_name_part.cc
index 2ab49cc02..2f3bc7c9c 100644
--- a/paludis/package_name_part.cc
+++ b/paludis/package_name_part.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "package_name_part.hh"
+#include <paludis/package_name_part.hh>
using namespace paludis;
diff --git a/paludis/package_name_part.hh b/paludis/package_name_part.hh
index 5002e1d56..ff79d9257 100644
--- a/paludis/package_name_part.hh
+++ b/paludis/package_name_part.hh
@@ -20,10 +20,10 @@
#ifndef PALUDIS_GUARD_PALUDIS_PACKAGE_NAME_PART_HH
#define PALUDIS_GUARD_PALUDIS_PACKAGE_NAME_PART_HH 1
-#include <paludis/validated.hh>
-#include <paludis/exception.hh>
-#include <paludis/private_implementation_pattern.hh>
-#include <paludis/sorted_collection.hh>
+#include <paludis/util/validated.hh>
+#include <paludis/util/exception.hh>
+#include <paludis/util/private_implementation_pattern.hh>
+#include <paludis/util/sorted_collection.hh>
#include <string>
/** \file
diff --git a/paludis/package_name_part_TEST.cc b/paludis/package_name_part_TEST.cc
index f771703a3..80f2c1c11 100644
--- a/paludis/package_name_part_TEST.cc
+++ b/paludis/package_name_part_TEST.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "package_name_part.hh"
+#include <paludis/package_name_part.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
#include <string>
diff --git a/paludis/paludis.cc b/paludis/paludis.cc
index e3727c57c..2078d7851 100644
--- a/paludis/paludis.cc
+++ b/paludis/paludis.cc
@@ -17,5 +17,5 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "paludis.hh"
+#include <paludis/paludis.hh>
diff --git a/paludis/portage_repository.cc b/paludis/portage_repository.cc
index 2b83b5b58..33dbc12d1 100644
--- a/paludis/portage_repository.cc
+++ b/paludis/portage_repository.cc
@@ -19,26 +19,26 @@
#include "config.h"
-#include "create_insert_iterator.hh"
-#include "dir_iterator.hh"
-#include "dep_atom.hh"
-#include "filter_insert_iterator.hh"
-#include "fs_entry.hh"
-#include "getenv.hh"
-#include "hashed_containers.hh"
-#include "indirect_iterator.hh"
-#include "is_file_with_extension.hh"
-#include "key_value_config_file.hh"
-#include "line_config_file.hh"
-#include "log.hh"
-#include "match_package.hh"
-#include "package_database.hh"
-#include "portage_repository.hh"
-#include "pstream.hh"
-#include "stringify.hh"
-#include "strip.hh"
-#include "tokeniser.hh"
-#include "transform_insert_iterator.hh"
+#include <paludis/util/create_insert_iterator.hh>
+#include <paludis/util/dir_iterator.hh>
+#include <paludis/dep_atom.hh>
+#include <paludis/util/filter_insert_iterator.hh>
+#include <paludis/util/fs_entry.hh>
+#include <paludis/util/getenv.hh>
+#include <paludis/hashed_containers.hh>
+#include <paludis/util/indirect_iterator.hh>
+#include <paludis/util/is_file_with_extension.hh>
+#include <paludis/line_config_file.hh>
+#include <paludis/key_value_config_file.hh>
+#include <paludis/util/log.hh>
+#include <paludis/match_package.hh>
+#include <paludis/package_database.hh>
+#include <paludis/portage_repository.hh>
+#include <paludis/util/pstream.hh>
+#include <paludis/util/stringify.hh>
+#include <paludis/util/strip.hh>
+#include <paludis/util/tokeniser.hh>
+#include <paludis/util/transform_insert_iterator.hh>
#include <map>
#include <fstream>
diff --git a/paludis/portage_repository.hh b/paludis/portage_repository.hh
index 1a3f12f27..ac3177f48 100644
--- a/paludis/portage_repository.hh
+++ b/paludis/portage_repository.hh
@@ -21,8 +21,8 @@
#define PALUDIS_GUARD_PALUDIS_PORTAGE_REPOSITORY_HH 1
#include <paludis/repository.hh>
-#include <paludis/fs_entry.hh>
-#include <paludis/private_implementation_pattern.hh>
+#include <paludis/util/fs_entry.hh>
+#include <paludis/util/private_implementation_pattern.hh>
#include <map>
#include <string>
diff --git a/paludis/qa/Makefile.am.m4 b/paludis/qa/Makefile.am.m4
index cf81a16e4..664d1f6aa 100644
--- a/paludis/qa/Makefile.am.m4
+++ b/paludis/qa/Makefile.am.m4
@@ -8,8 +8,12 @@ define(`testlist', `')dnl
define(`testscriptlist', `')dnl
define(`addtest', `define(`testlist', testlist `$1_TEST')dnl
$1_TEST_SOURCES = $1_TEST.cc
-$1_TEST_LDADD = $(top_builddir)/paludis/test_extras.o $(top_builddir)/test/libtest.a \
- libpaludisqa.a $(top_builddir)/paludis/libpaludis.a
+$1_TEST_LDADD = \
+ $(top_builddir)/paludis/util/test_extras.o \
+ $(top_builddir)/test/libtest.a \
+ libpaludisqa.a \
+ $(top_builddir)/paludis/libpaludis.a \
+ $(top_builddir)/paludis/util/libpaludisutil.a
$1_TEST_CXXFLAGS = -I$(top_srcdir)
')dnl
define(`addtestscript', `define(`testscriptlist', testscriptlist `$1_TEST_setup.sh $1_TEST_cleanup.sh')')dnl
diff --git a/paludis/qa/changelog_check.cc b/paludis/qa/changelog_check.cc
index ae5b00de2..e3a45ff1a 100644
--- a/paludis/qa/changelog_check.cc
+++ b/paludis/qa/changelog_check.cc
@@ -17,8 +17,8 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "changelog_check.hh"
-#include <paludis/pstream.hh>
+#include <paludis/qa/changelog_check.hh>
+#include <paludis/util/pstream.hh>
#include <fstream>
using namespace paludis;
diff --git a/paludis/qa/check.cc b/paludis/qa/check.cc
index 45af1a28c..0e03b98c7 100644
--- a/paludis/qa/check.cc
+++ b/paludis/qa/check.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "check.hh"
+#include <paludis/qa/check.hh>
using namespace paludis;
using namespace paludis::qa;
diff --git a/paludis/qa/check.hh b/paludis/qa/check.hh
index 5ebb06859..095d1303d 100644
--- a/paludis/qa/check.hh
+++ b/paludis/qa/check.hh
@@ -20,7 +20,7 @@
#ifndef PALUDIS_GUARD_PALUDIS_QA_CHECK_HH
#define PALUDIS_GUARD_PALUDIS_QA_CHECK_HH 1
-#include <paludis/instantiation_policy.hh>
+#include <paludis/util/instantiation_policy.hh>
#include <string>
/** \file
diff --git a/paludis/qa/check_result.cc b/paludis/qa/check_result.cc
index eb1b5c1c4..312886042 100644
--- a/paludis/qa/check_result.cc
+++ b/paludis/qa/check_result.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "check_result.hh"
+#include <paludis/qa/check_result.hh>
using namespace paludis;
using namespace paludis::qa;
diff --git a/paludis/qa/check_result.hh b/paludis/qa/check_result.hh
index 12e079995..c028e9035 100644
--- a/paludis/qa/check_result.hh
+++ b/paludis/qa/check_result.hh
@@ -20,7 +20,7 @@
#ifndef PALUDIS_GUARD_PALUDIS_QA_CHECK_RESULT_HH
#define PALUDIS_GUARD_PALUDIS_QA_CHECK_RESULT_HH 1
-#include <paludis/fs_entry.hh>
+#include <paludis/util/fs_entry.hh>
#include <paludis/qa/message.hh>
#include <list>
diff --git a/paludis/qa/check_result_TEST.cc b/paludis/qa/check_result_TEST.cc
index 68a408a2a..e454306f6 100644
--- a/paludis/qa/check_result_TEST.cc
+++ b/paludis/qa/check_result_TEST.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "check_result.hh"
+#include <paludis/qa/check_result.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
diff --git a/paludis/qa/create_metadata_check.cc b/paludis/qa/create_metadata_check.cc
index 1a9eb1255..826681c52 100644
--- a/paludis/qa/create_metadata_check.cc
+++ b/paludis/qa/create_metadata_check.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "create_metadata_check.hh"
+#include <paludis/qa/create_metadata_check.hh>
using namespace paludis;
using namespace paludis::qa;
diff --git a/paludis/qa/defaults_check.cc b/paludis/qa/defaults_check.cc
index f76785c53..64e9717c9 100644
--- a/paludis/qa/defaults_check.cc
+++ b/paludis/qa/defaults_check.cc
@@ -17,9 +17,9 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "defaults_check.hh"
+#include <paludis/qa/defaults_check.hh>
#include <paludis/match_sequence.hh>
-#include <paludis/is_file_with_extension.hh>
+#include <paludis/util/is_file_with_extension.hh>
#include <fstream>
using namespace paludis;
diff --git a/paludis/qa/dep_any_check.cc b/paludis/qa/dep_any_check.cc
index c43a83974..0969384a9 100644
--- a/paludis/qa/dep_any_check.cc
+++ b/paludis/qa/dep_any_check.cc
@@ -17,12 +17,12 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "dep_any_check.hh"
+#include <paludis/qa/dep_any_check.hh>
#include <paludis/dep_parser.hh>
#include <paludis/dep_atom.hh>
-#include <paludis/iterator_utilities.hh>
-#include <paludis/save.hh>
+#include <paludis/util/iterator_utilities.hh>
+#include <paludis/util/save.hh>
using namespace paludis;
using namespace paludis::qa;
diff --git a/paludis/qa/dep_flags_check.cc b/paludis/qa/dep_flags_check.cc
index 62dda0320..2f105c91e 100644
--- a/paludis/qa/dep_flags_check.cc
+++ b/paludis/qa/dep_flags_check.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "dep_flags_check.hh"
+#include <paludis/qa/dep_flags_check.hh>
#include <paludis/dep_parser.hh>
#include <paludis/dep_atom.hh>
#include <paludis/dep_parser.hh>
diff --git a/paludis/qa/dep_packages_check.cc b/paludis/qa/dep_packages_check.cc
index 002f5580a..70756a217 100644
--- a/paludis/qa/dep_packages_check.cc
+++ b/paludis/qa/dep_packages_check.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "dep_packages_check.hh"
+#include <paludis/qa/dep_packages_check.hh>
#include <paludis/dep_parser.hh>
#include <paludis/dep_atom.hh>
diff --git a/paludis/qa/deps_exist_check.cc b/paludis/qa/deps_exist_check.cc
index 0ae614931..b0780db63 100644
--- a/paludis/qa/deps_exist_check.cc
+++ b/paludis/qa/deps_exist_check.cc
@@ -17,10 +17,10 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "deps_exist_check.hh"
+#include <paludis/qa/deps_exist_check.hh>
#include <paludis/dep_parser.hh>
#include <paludis/dep_atom.hh>
-#include <paludis/save.hh>
+#include <paludis/util/save.hh>
using namespace paludis;
using namespace paludis::qa;
diff --git a/paludis/qa/deps_visible_check.cc b/paludis/qa/deps_visible_check.cc
index 8a10e75e4..8dd5fe645 100644
--- a/paludis/qa/deps_visible_check.cc
+++ b/paludis/qa/deps_visible_check.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "deps_visible_check.hh"
+#include <paludis/qa/deps_visible_check.hh>
#include <paludis/dep_parser.hh>
#include <paludis/dep_atom.hh>
diff --git a/paludis/qa/description_check.cc b/paludis/qa/description_check.cc
index 50c4c4da4..4bc3a0749 100644
--- a/paludis/qa/description_check.cc
+++ b/paludis/qa/description_check.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "description_check.hh"
+#include <paludis/qa/description_check.hh>
#include <strings.h>
using namespace paludis;
diff --git a/paludis/qa/digest_collisions_check.cc b/paludis/qa/digest_collisions_check.cc
index 89daf41bd..382319765 100644
--- a/paludis/qa/digest_collisions_check.cc
+++ b/paludis/qa/digest_collisions_check.cc
@@ -17,11 +17,11 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "digest_collisions_check.hh"
-#include <paludis/is_file_with_extension.hh>
-#include <paludis/dir_iterator.hh>
-#include <paludis/smart_record.hh>
-#include <paludis/tokeniser.hh>
+#include <paludis/qa/digest_collisions_check.hh>
+#include <paludis/util/is_file_with_extension.hh>
+#include <paludis/util/dir_iterator.hh>
+#include <paludis/util/smart_record.hh>
+#include <paludis/util/tokeniser.hh>
#include <paludis/hashed_containers.hh>
#include <map>
#include <fstream>
diff --git a/paludis/qa/ebuild_check.cc b/paludis/qa/ebuild_check.cc
index 7d08908e8..38cd49528 100644
--- a/paludis/qa/ebuild_check.cc
+++ b/paludis/qa/ebuild_check.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "ebuild_check.hh"
+#include <paludis/qa/ebuild_check.hh>
using namespace paludis;
using namespace paludis::qa;
diff --git a/paludis/qa/ebuild_check.hh b/paludis/qa/ebuild_check.hh
index 096b1c882..4cb3e3894 100644
--- a/paludis/qa/ebuild_check.hh
+++ b/paludis/qa/ebuild_check.hh
@@ -20,12 +20,12 @@
#ifndef PALUDIS_GUARD_PALUDIS_QA_EBUILD_CHECK_HH
#define PALUDIS_GUARD_PALUDIS_QA_EBUILD_CHECK_HH 1
-#include <paludis/counted_ptr.hh>
+#include <paludis/util/counted_ptr.hh>
#include <paludis/qualified_package_name.hh>
#include <paludis/version_spec.hh>
-#include <paludis/virtual_constructor.hh>
-#include <paludis/smart_record.hh>
-#include <paludis/environment.hh>
+#include <paludis/util/virtual_constructor.hh>
+#include <paludis/util/smart_record.hh>
+#include <paludis/qa/environment.hh>
#include <paludis/qa/check.hh>
#include <paludis/qa/check_result.hh>
diff --git a/paludis/qa/ebuild_count.cc b/paludis/qa/ebuild_count.cc
index 510d13d60..be26ac6b7 100644
--- a/paludis/qa/ebuild_count.cc
+++ b/paludis/qa/ebuild_count.cc
@@ -17,9 +17,9 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "ebuild_count.hh"
-#include <paludis/is_file_with_extension.hh>
-#include <paludis/dir_iterator.hh>
+#include <paludis/qa/ebuild_count.hh>
+#include <paludis/util/is_file_with_extension.hh>
+#include <paludis/util/dir_iterator.hh>
#include <algorithm>
using namespace paludis;
diff --git a/paludis/qa/environment.cc b/paludis/qa/environment.cc
index c62b28375..353a949d7 100644
--- a/paludis/qa/environment.cc
+++ b/paludis/qa/environment.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "environment.hh"
+#include <paludis/qa/environment.hh>
#include <map>
using namespace paludis;
diff --git a/paludis/qa/environment.hh b/paludis/qa/environment.hh
index df9b27b9d..bc373c462 100644
--- a/paludis/qa/environment.hh
+++ b/paludis/qa/environment.hh
@@ -22,7 +22,7 @@
#include <paludis/environment.hh>
#include <paludis/package_database.hh>
-#include <paludis/fs_entry.hh>
+#include <paludis/util/fs_entry.hh>
/** \file
* Declarations for the QAEnvironment class.
diff --git a/paludis/qa/extract_check.cc b/paludis/qa/extract_check.cc
index 2148f8e38..6bb6a0a88 100644
--- a/paludis/qa/extract_check.cc
+++ b/paludis/qa/extract_check.cc
@@ -17,10 +17,10 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "extract_check.hh"
+#include <paludis/qa/extract_check.hh>
#include <paludis/dep_atom.hh>
#include <paludis/dep_parser.hh>
-#include <paludis/tokeniser.hh>
+#include <paludis/util/tokeniser.hh>
using namespace paludis;
using namespace paludis::qa;
diff --git a/paludis/qa/file_check.cc b/paludis/qa/file_check.cc
index 18405bcd9..342bd0645 100644
--- a/paludis/qa/file_check.cc
+++ b/paludis/qa/file_check.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "file_check.hh"
+#include <paludis/qa/file_check.hh>
using namespace paludis;
using namespace paludis::qa;
diff --git a/paludis/qa/file_check.hh b/paludis/qa/file_check.hh
index 9f235a324..39769f606 100644
--- a/paludis/qa/file_check.hh
+++ b/paludis/qa/file_check.hh
@@ -20,10 +20,10 @@
#ifndef PALUDIS_GUARD_PALUDIS_QA_FILE_CHECK_HH
#define PALUDIS_GUARD_PALUDIS_QA_FILE_CHECK_HH 1
-#include <paludis/exception.hh>
-#include <paludis/fs_entry.hh>
-#include <paludis/counted_ptr.hh>
-#include <paludis/virtual_constructor.hh>
+#include <paludis/util/exception.hh>
+#include <paludis/util/fs_entry.hh>
+#include <paludis/util/counted_ptr.hh>
+#include <paludis/util/virtual_constructor.hh>
#include <paludis/qa/check.hh>
#include <paludis/qa/check_result.hh>
diff --git a/paludis/qa/file_name_check.cc b/paludis/qa/file_name_check.cc
index aae508460..f1e596e88 100644
--- a/paludis/qa/file_name_check.cc
+++ b/paludis/qa/file_name_check.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "file_name_check.hh"
+#include <paludis/qa/file_name_check.hh>
using namespace paludis;
using namespace paludis::qa;
diff --git a/paludis/qa/file_permissions_check.cc b/paludis/qa/file_permissions_check.cc
index 4f48d78d8..4a06f66d6 100644
--- a/paludis/qa/file_permissions_check.cc
+++ b/paludis/qa/file_permissions_check.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "file_permissions_check.hh"
+#include <paludis/qa/file_permissions_check.hh>
using namespace paludis;
using namespace paludis::qa;
diff --git a/paludis/qa/file_permissions_check_TEST.cc b/paludis/qa/file_permissions_check_TEST.cc
index 85e0f6c2f..ca0355788 100644
--- a/paludis/qa/file_permissions_check_TEST.cc
+++ b/paludis/qa/file_permissions_check_TEST.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "file_permissions_check.hh"
+#include <paludis/qa/file_permissions_check.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
diff --git a/paludis/qa/files_dir_size_check.cc b/paludis/qa/files_dir_size_check.cc
index 747a14eb0..213333de1 100644
--- a/paludis/qa/files_dir_size_check.cc
+++ b/paludis/qa/files_dir_size_check.cc
@@ -17,10 +17,10 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "files_dir_size_check.hh"
+#include <paludis/qa/files_dir_size_check.hh>
-#include <paludis/is_file_with_extension.hh>
-#include <paludis/dir_iterator.hh>
+#include <paludis/util/is_file_with_extension.hh>
+#include <paludis/util/dir_iterator.hh>
using namespace paludis;
using namespace paludis::qa;
diff --git a/paludis/qa/glep_31_check.cc b/paludis/qa/glep_31_check.cc
index 9992508ca..51439722f 100644
--- a/paludis/qa/glep_31_check.cc
+++ b/paludis/qa/glep_31_check.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "glep_31_check.hh"
+#include <paludis/qa/glep_31_check.hh>
#include <fstream>
using namespace paludis;
diff --git a/paludis/qa/glep_31_check_TEST.cc b/paludis/qa/glep_31_check_TEST.cc
index ecf48c8d5..07ac1cf6b 100644
--- a/paludis/qa/glep_31_check_TEST.cc
+++ b/paludis/qa/glep_31_check_TEST.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "glep_31_check.hh"
+#include <paludis/qa/glep_31_check.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
#include <sstream>
diff --git a/paludis/qa/has_ebuilds_check.cc b/paludis/qa/has_ebuilds_check.cc
index ec899a6dc..e4982cba4 100644
--- a/paludis/qa/has_ebuilds_check.cc
+++ b/paludis/qa/has_ebuilds_check.cc
@@ -17,9 +17,9 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "has_ebuilds_check.hh"
-#include <paludis/is_file_with_extension.hh>
-#include <paludis/dir_iterator.hh>
+#include <paludis/qa/has_ebuilds_check.hh>
+#include <paludis/util/is_file_with_extension.hh>
+#include <paludis/util/dir_iterator.hh>
#include <algorithm>
using namespace paludis;
diff --git a/paludis/qa/has_ebuilds_check_TEST.cc b/paludis/qa/has_ebuilds_check_TEST.cc
index e38bc4595..56d0bc144 100644
--- a/paludis/qa/has_ebuilds_check_TEST.cc
+++ b/paludis/qa/has_ebuilds_check_TEST.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "has_ebuilds_check.hh"
+#include <paludis/qa/has_ebuilds_check.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
diff --git a/paludis/qa/has_misc_files_check.cc b/paludis/qa/has_misc_files_check.cc
index 8ba5e18f8..ef5106ff8 100644
--- a/paludis/qa/has_misc_files_check.cc
+++ b/paludis/qa/has_misc_files_check.cc
@@ -17,9 +17,9 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "has_misc_files_check.hh"
-#include <paludis/is_file_with_extension.hh>
-#include <paludis/dir_iterator.hh>
+#include <paludis/qa/has_misc_files_check.hh>
+#include <paludis/util/is_file_with_extension.hh>
+#include <paludis/util/dir_iterator.hh>
using namespace paludis;
using namespace paludis::qa;
diff --git a/paludis/qa/has_misc_files_check_TEST.cc b/paludis/qa/has_misc_files_check_TEST.cc
index be8cac4d0..509098883 100644
--- a/paludis/qa/has_misc_files_check_TEST.cc
+++ b/paludis/qa/has_misc_files_check_TEST.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "has_misc_files_check.hh"
+#include <paludis/qa/has_misc_files_check.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
diff --git a/paludis/qa/homepage_check.cc b/paludis/qa/homepage_check.cc
index 1626480b8..150121ec1 100644
--- a/paludis/qa/homepage_check.cc
+++ b/paludis/qa/homepage_check.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "homepage_check.hh"
+#include <paludis/qa/homepage_check.hh>
using namespace paludis;
using namespace paludis::qa;
diff --git a/paludis/qa/inherits_check.cc b/paludis/qa/inherits_check.cc
index d94422adb..b8148dd9e 100644
--- a/paludis/qa/inherits_check.cc
+++ b/paludis/qa/inherits_check.cc
@@ -17,9 +17,9 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "inherits_check.hh"
-#include <paludis/tokeniser.hh>
-#include <paludis/join.hh>
+#include <paludis/qa/inherits_check.hh>
+#include <paludis/util/tokeniser.hh>
+#include <paludis/util/join.hh>
#include <set>
#include <algorithm>
#include <iterator>
diff --git a/paludis/qa/iuse_check.cc b/paludis/qa/iuse_check.cc
index 184e5dbef..c06609670 100644
--- a/paludis/qa/iuse_check.cc
+++ b/paludis/qa/iuse_check.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "iuse_check.hh"
+#include <paludis/qa/iuse_check.hh>
#include <set>
using namespace paludis;
diff --git a/paludis/qa/keywords_check.cc b/paludis/qa/keywords_check.cc
index 82f4ee98c..84dd97b4b 100644
--- a/paludis/qa/keywords_check.cc
+++ b/paludis/qa/keywords_check.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "keywords_check.hh"
+#include <paludis/qa/keywords_check.hh>
using namespace paludis;
using namespace paludis::qa;
diff --git a/paludis/qa/license_check.cc b/paludis/qa/license_check.cc
index 2e6a050e4..eb8c90770 100644
--- a/paludis/qa/license_check.cc
+++ b/paludis/qa/license_check.cc
@@ -17,10 +17,10 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "license_check.hh"
+#include <paludis/qa/license_check.hh>
#include <paludis/dep_atom.hh>
#include <paludis/dep_parser.hh>
-#include <paludis/tokeniser.hh>
+#include <paludis/util/tokeniser.hh>
using namespace paludis;
using namespace paludis::qa;
diff --git a/paludis/qa/message.cc b/paludis/qa/message.cc
index cd959dc7f..11ee74c13 100644
--- a/paludis/qa/message.cc
+++ b/paludis/qa/message.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "message.hh"
+#include <paludis/qa/message.hh>
using namespace paludis;
using namespace paludis::qa;
diff --git a/paludis/qa/message.hh b/paludis/qa/message.hh
index 8047c964d..cd28a3851 100644
--- a/paludis/qa/message.hh
+++ b/paludis/qa/message.hh
@@ -20,7 +20,7 @@
#ifndef PALUDIS_GUARD_PALUDIS_QA_MESSAGE_HH
#define PALUDIS_GUARD_PALUDIS_QA_MESSAGE_HH 1
-#include <paludis/smart_record.hh>
+#include <paludis/util/smart_record.hh>
#include <string>
/** \file
diff --git a/paludis/qa/message_TEST.cc b/paludis/qa/message_TEST.cc
index 9c0559365..6ac0d03fa 100644
--- a/paludis/qa/message_TEST.cc
+++ b/paludis/qa/message_TEST.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "message.hh"
+#include <paludis/qa/message.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
diff --git a/paludis/qa/metadata_check.cc b/paludis/qa/metadata_check.cc
index 4f0b3ce1a..9a8d6ac6d 100644
--- a/paludis/qa/metadata_check.cc
+++ b/paludis/qa/metadata_check.cc
@@ -17,9 +17,9 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "metadata_check.hh"
-#include <paludis/pstream.hh>
-#include <paludis/getenv.hh>
+#include <paludis/qa/metadata_check.hh>
+#include <paludis/util/pstream.hh>
+#include <paludis/util/getenv.hh>
#include <ctime>
#include <fstream>
diff --git a/paludis/qa/package_dir_check.cc b/paludis/qa/package_dir_check.cc
index 5c0c17920..e87e33562 100644
--- a/paludis/qa/package_dir_check.cc
+++ b/paludis/qa/package_dir_check.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "package_dir_check.hh"
+#include <paludis/qa/package_dir_check.hh>
using namespace paludis;
using namespace paludis::qa;
diff --git a/paludis/qa/package_dir_check.hh b/paludis/qa/package_dir_check.hh
index 30f690aa1..659475efe 100644
--- a/paludis/qa/package_dir_check.hh
+++ b/paludis/qa/package_dir_check.hh
@@ -20,10 +20,10 @@
#ifndef PALUDIS_GUARD_PALUDIS_QA_PACKAGE_DIR_CHECK_HH
#define PALUDIS_GUARD_PALUDIS_QA_PACKAGE_DIR_CHECK_HH 1
-#include <paludis/exception.hh>
-#include <paludis/fs_entry.hh>
-#include <paludis/counted_ptr.hh>
-#include <paludis/virtual_constructor.hh>
+#include <paludis/util/exception.hh>
+#include <paludis/util/fs_entry.hh>
+#include <paludis/util/counted_ptr.hh>
+#include <paludis/util/virtual_constructor.hh>
#include <paludis/qa/check.hh>
#include <paludis/qa/check_result.hh>
diff --git a/paludis/qa/package_name_check.cc b/paludis/qa/package_name_check.cc
index 9d0c272a8..6f6cd0a96 100644
--- a/paludis/qa/package_name_check.cc
+++ b/paludis/qa/package_name_check.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "package_name_check.hh"
+#include <paludis/qa/package_name_check.hh>
#include <paludis/qualified_package_name.hh>
using namespace paludis;
diff --git a/paludis/qa/package_name_check_TEST.cc b/paludis/qa/package_name_check_TEST.cc
index 65799e53a..6f044f5c2 100644
--- a/paludis/qa/package_name_check_TEST.cc
+++ b/paludis/qa/package_name_check_TEST.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "package_name_check.hh"
+#include <paludis/qa/package_name_check.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
diff --git a/paludis/qa/parse_deps_check.cc b/paludis/qa/parse_deps_check.cc
index 929c6a794..c9243444a 100644
--- a/paludis/qa/parse_deps_check.cc
+++ b/paludis/qa/parse_deps_check.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "parse_deps_check.hh"
+#include <paludis/qa/parse_deps_check.hh>
#include <paludis/dep_parser.hh>
using namespace paludis;
diff --git a/paludis/qa/pdepend_overlap_check.cc b/paludis/qa/pdepend_overlap_check.cc
index 88aa070b1..54bd99b4a 100644
--- a/paludis/qa/pdepend_overlap_check.cc
+++ b/paludis/qa/pdepend_overlap_check.cc
@@ -17,10 +17,10 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "pdepend_overlap_check.hh"
+#include <paludis/qa/pdepend_overlap_check.hh>
#include <paludis/dep_parser.hh>
#include <paludis/dep_atom.hh>
-#include <paludis/join.hh>
+#include <paludis/util/join.hh>
using namespace paludis;
using namespace paludis::qa;
diff --git a/paludis/qa/qa.cc b/paludis/qa/qa.cc
index e10ff1c5b..32524f4ad 100644
--- a/paludis/qa/qa.cc
+++ b/paludis/qa/qa.cc
@@ -17,5 +17,5 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "qa.hh"
+#include <paludis/qa/qa.hh>
diff --git a/paludis/qa/restrict_check.cc b/paludis/qa/restrict_check.cc
index e8b1f9242..efd9988f8 100644
--- a/paludis/qa/restrict_check.cc
+++ b/paludis/qa/restrict_check.cc
@@ -17,8 +17,8 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "restrict_check.hh"
-#include <paludis/tokeniser.hh>
+#include <paludis/qa/restrict_check.hh>
+#include <paludis/util/tokeniser.hh>
#include <algorithm>
#include <set>
#include <iterator>
diff --git a/paludis/qa/slot_check.cc b/paludis/qa/slot_check.cc
index 7e2678241..5ac983492 100644
--- a/paludis/qa/slot_check.cc
+++ b/paludis/qa/slot_check.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "slot_check.hh"
+#include <paludis/qa/slot_check.hh>
using namespace paludis;
using namespace paludis::qa;
diff --git a/paludis/qa/src_uri_check.cc b/paludis/qa/src_uri_check.cc
index 2bcce8095..724ab513a 100644
--- a/paludis/qa/src_uri_check.cc
+++ b/paludis/qa/src_uri_check.cc
@@ -17,10 +17,10 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "src_uri_check.hh"
+#include <paludis/qa/src_uri_check.hh>
#include <paludis/dep_atom.hh>
#include <paludis/dep_parser.hh>
-#include <paludis/tokeniser.hh>
+#include <paludis/util/tokeniser.hh>
using namespace paludis;
using namespace paludis::qa;
diff --git a/paludis/qa/whitespace_check.cc b/paludis/qa/whitespace_check.cc
index 56de60860..421f7b709 100644
--- a/paludis/qa/whitespace_check.cc
+++ b/paludis/qa/whitespace_check.cc
@@ -17,8 +17,8 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "whitespace_check.hh"
-#include <paludis/is_file_with_extension.hh>
+#include <paludis/qa/whitespace_check.hh>
+#include <paludis/util/is_file_with_extension.hh>
#include <fstream>
using namespace paludis;
diff --git a/paludis/qualified_package_name.cc b/paludis/qualified_package_name.cc
index e58b2705f..030dadda1 100644
--- a/paludis/qualified_package_name.cc
+++ b/paludis/qualified_package_name.cc
@@ -17,8 +17,8 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "qualified_package_name.hh"
-#include "stringify.hh"
+#include <paludis/qualified_package_name.hh>
+#include <paludis/util/stringify.hh>
using namespace paludis;
diff --git a/paludis/qualified_package_name.hh b/paludis/qualified_package_name.hh
index 037323a1a..174534ca7 100644
--- a/paludis/qualified_package_name.hh
+++ b/paludis/qualified_package_name.hh
@@ -22,9 +22,9 @@
#include <paludis/package_name_part.hh>
#include <paludis/category_name_part.hh>
-#include <paludis/smart_record.hh>
-#include <paludis/sorted_collection.hh>
-#include <paludis/exception.hh>
+#include <paludis/util/smart_record.hh>
+#include <paludis/util/sorted_collection.hh>
+#include <paludis/util/exception.hh>
#include <ostream>
namespace paludis
diff --git a/paludis/qualified_package_name_TEST.cc b/paludis/qualified_package_name_TEST.cc
index e77ed258d..23ea440c7 100644
--- a/paludis/qualified_package_name_TEST.cc
+++ b/paludis/qualified_package_name_TEST.cc
@@ -17,8 +17,8 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "qualified_package_name.hh"
-#include "exception.hh"
+#include <paludis/qualified_package_name.hh>
+#include <paludis/util/exception.hh>
#include <test/test_runner.hh>
#include <test/test_framework.hh>
diff --git a/paludis/repository.cc b/paludis/repository.cc
index 3f6cfddfc..5868c8e35 100644
--- a/paludis/repository.cc
+++ b/paludis/repository.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "repository.hh"
+#include <paludis/repository.hh>
using namespace paludis;
diff --git a/paludis/repository.hh b/paludis/repository.hh
index d3c774889..127e4f68d 100644
--- a/paludis/repository.hh
+++ b/paludis/repository.hh
@@ -20,16 +20,16 @@
#ifndef PALUDIS_GUARD_PALUDIS_REPOSITORY_HH
#define PALUDIS_GUARD_PALUDIS_REPOSITORY_HH 1
-#include <paludis/attributes.hh>
+#include <paludis/util/attributes.hh>
#include <paludis/category_name_part.hh>
-#include <paludis/counted_ptr.hh>
-#include <paludis/exception.hh>
+#include <paludis/util/counted_ptr.hh>
+#include <paludis/util/exception.hh>
#include <paludis/package_name_part.hh>
#include <paludis/repository_name.hh>
#include <paludis/use_flag_state.hh>
#include <paludis/version_metadata.hh>
#include <paludis/version_spec.hh>
-#include <paludis/virtual_constructor.hh>
+#include <paludis/util/virtual_constructor.hh>
#include <map>
#include <string>
diff --git a/paludis/repository_name.cc b/paludis/repository_name.cc
index 14e8b13f7..25390a85b 100644
--- a/paludis/repository_name.cc
+++ b/paludis/repository_name.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "repository_name.hh"
+#include <paludis/repository_name.hh>
using namespace paludis;
diff --git a/paludis/repository_name.hh b/paludis/repository_name.hh
index f698bf2f1..5e8eca401 100644
--- a/paludis/repository_name.hh
+++ b/paludis/repository_name.hh
@@ -20,10 +20,10 @@
#ifndef PALUDIS_GUARD_PALUDIS_REPOSITORY_NAME_HH
#define PALUDIS_GUARD_PALUDIS_REPOSITORY_NAME_HH 1
-#include <paludis/exception.hh>
-#include <paludis/private_implementation_pattern.hh>
-#include <paludis/sequential_collection.hh>
-#include <paludis/validated.hh>
+#include <paludis/util/exception.hh>
+#include <paludis/util/private_implementation_pattern.hh>
+#include <paludis/util/sequential_collection.hh>
+#include <paludis/util/validated.hh>
#include <string>
diff --git a/paludis/slot_name.cc b/paludis/slot_name.cc
index 2e7a92c1c..ea5842611 100644
--- a/paludis/slot_name.cc
+++ b/paludis/slot_name.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "slot_name.hh"
+#include <paludis/slot_name.hh>
using namespace paludis;
diff --git a/paludis/slot_name.hh b/paludis/slot_name.hh
index b32396482..ce69513b9 100644
--- a/paludis/slot_name.hh
+++ b/paludis/slot_name.hh
@@ -20,9 +20,9 @@
#ifndef PALUDIS_GUARD_PALUDIS_SLOT_NAME_HH
#define PALUDIS_GUARD_PALUDIS_SLOT_NAME_HH 1
-#include <paludis/validated.hh>
-#include <paludis/exception.hh>
-#include <paludis/instantiation_policy.hh>
+#include <paludis/util/validated.hh>
+#include <paludis/util/exception.hh>
+#include <paludis/util/instantiation_policy.hh>
#include <string>
/** \file
diff --git a/paludis/test_environment.cc b/paludis/test_environment.cc
index 6933b3412..0de1ab22f 100644
--- a/paludis/test_environment.cc
+++ b/paludis/test_environment.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "test_environment.hh"
+#include <paludis/test_environment.hh>
using namespace paludis;
diff --git a/paludis/test_environment.hh b/paludis/test_environment.hh
index 7abb2d175..2c9f51cea 100644
--- a/paludis/test_environment.hh
+++ b/paludis/test_environment.hh
@@ -21,7 +21,7 @@
#define PALUDIS_GUARD_PALUDIS_TEST_ENVIRONMENT_HH 1
#include <paludis/package_database.hh>
-#include <paludis/environment.hh>
+#include <paludis/qa/environment.hh>
namespace paludis
{
diff --git a/paludis/test_extras.cc b/paludis/test_extras.cc
index 9332fe694..357731279 100644
--- a/paludis/test_extras.cc
+++ b/paludis/test_extras.cc
@@ -18,10 +18,10 @@
*/
#include <test/test_framework.hh>
-#include <paludis/stringify.hh>
-#include <paludis/exception.hh>
-#include <paludis/attributes.hh>
-#include <paludis/log.hh>
+#include <paludis/util/stringify.hh>
+#include <paludis/util/exception.hh>
+#include <paludis/util/attributes.hh>
+#include <paludis/util/log.hh>
#include <exception>
#include <sstream>
diff --git a/paludis/use_flag_name.cc b/paludis/use_flag_name.cc
index f6f189c0d..acf01bea7 100644
--- a/paludis/use_flag_name.cc
+++ b/paludis/use_flag_name.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "use_flag_name.hh"
+#include <paludis/use_flag_name.hh>
using namespace paludis;
diff --git a/paludis/use_flag_name.hh b/paludis/use_flag_name.hh
index 686226154..6f6cf3599 100644
--- a/paludis/use_flag_name.hh
+++ b/paludis/use_flag_name.hh
@@ -20,9 +20,9 @@
#ifndef PALUDIS_GUARD_PALUDIS_USE_FLAG_NAME_HH
#define PALUDIS_GUARD_PALUDIS_USE_FLAG_NAME_HH 1
-#include <paludis/validated.hh>
-#include <paludis/exception.hh>
-#include <paludis/instantiation_policy.hh>
+#include <paludis/util/validated.hh>
+#include <paludis/util/exception.hh>
+#include <paludis/util/instantiation_policy.hh>
#include <string>
/** \file
diff --git a/paludis/use_flag_state.cc b/paludis/use_flag_state.cc
index aafd50cb8..05326359d 100644
--- a/paludis/use_flag_state.cc
+++ b/paludis/use_flag_state.cc
@@ -17,5 +17,5 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "use_flag_state.hh"
+#include <paludis/use_flag_state.hh>
diff --git a/paludis/util/Makefile.am.m4 b/paludis/util/Makefile.am.m4
new file mode 100644
index 000000000..d20e1d3e3
--- /dev/null
+++ b/paludis/util/Makefile.am.m4
@@ -0,0 +1,62 @@
+ifdef(`__gnu__',`',`errprint(`This is not GNU m4...
+')m4exit(1)') include(`misc/generated-file.txt')
+
+dnl vim: set ft=m4 noet :
+
+define(`filelist', `')dnl
+define(`testlist', `')dnl
+define(`testscriptlist', `')dnl
+define(`addtest', `define(`testlist', testlist `$1_TEST')dnl
+$1_TEST_SOURCES = $1_TEST.cc
+$1_TEST_LDADD = test_extras.o $(top_builddir)/test/libtest.a libpaludisutil.a
+$1_TEST_CXXFLAGS = -I$(top_srcdir)
+')dnl
+define(`addtestscript', `define(`testscriptlist', testscriptlist `$1_TEST_setup.sh $1_TEST_cleanup.sh')')dnl
+define(`addhh', `define(`filelist', filelist `$1.hh')')dnl
+define(`addcc', `define(`filelist', filelist `$1.cc')')dnl
+define(`addimpl', `define(`filelist', filelist `$1-impl.hh')')dnl
+define(`addthis', `dnl
+ifelse(`$2', `hh', `addhh(`$1')', `')dnl
+ifelse(`$2', `cc', `addcc(`$1')', `')dnl
+ifelse(`$2', `impl', `addimpl(`$1')', `')dnl
+ifelse(`$2', `test', `addtest(`$1')', `')dnl
+ifelse(`$2', `testscript', `addtestscript(`$1')', `')')dnl
+define(`add', `addthis(`$1',`$2')addthis(`$1',`$3')addthis(`$1',`$4')dnl
+addthis(`$1',`$5')addthis(`$1',`$6')')dnl
+
+include(`paludis/util/files.m4')
+
+CLEANFILES = *~
+MAINTAINERCLEANFILES = Makefile.in Makefile.am about.hh paludis.hh smart_record.hh \
+ hashed_containers.hh comparison_policy.hh
+AM_CXXFLAGS = -I$(top_srcdir)
+DEFS=-DSYSCONFDIR=\"$(sysconfdir)\" -DLIBEXECDIR=\"$(libexecdir)\"
+EXTRA_DIST = util.hh.m4 about.hh.in Makefile.am.m4 files.m4 smart_record.hh.m4 \
+ comparison_policy.hh.m4 hashed_containers.hh.in testscriptlist test_extras.cc
+SUBDIRS = .
+
+libpaludisutil_a_SOURCES = filelist
+
+TESTS = testlist
+
+TESTS_ENVIRONMENT = env \
+ PALUDIS_EBUILD_DIR="$(srcdir)/ebuild/" \
+ TEST_SCRIPT_DIR="$(srcdir)/" \
+ $(SHELL) $(top_srcdir)/test/run_test.sh
+
+check_PROGRAMS = $(TESTS)
+check_SCRIPTS = testscriptlist
+noinst_LIBRARIES = libpaludisutil.a
+
+Makefile.am : Makefile.am.m4 files.m4
+ $(top_srcdir)/misc/do_m4.bash Makefile.am
+
+smart_record.hh : smart_record.hh.m4
+ $(top_srcdir)/misc/do_m4.bash smart_record.hh
+
+comparison_policy.hh : comparison_policy.hh.m4
+ $(top_srcdir)/misc/do_m4.bash comparison_policy.hh.m4
+
+util.hh : util.hh.m4 files.m4
+ $(top_srcdir)/misc/do_m4.bash util.hh
+
diff --git a/paludis/attributes.cc b/paludis/util/attributes.cc
index c6b5791b3..075e4655c 100644
--- a/paludis/attributes.cc
+++ b/paludis/util/attributes.cc
@@ -17,5 +17,5 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "attributes.hh"
+#include <paludis/util/attributes.hh>
diff --git a/paludis/attributes.hh b/paludis/util/attributes.hh
index bae079e20..bae079e20 100644
--- a/paludis/attributes.hh
+++ b/paludis/util/attributes.hh
diff --git a/paludis/compare.cc b/paludis/util/compare.cc
index 53b2d12d3..7101107eb 100644
--- a/paludis/compare.cc
+++ b/paludis/util/compare.cc
@@ -1,4 +1,4 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
-#include "compare.hh"
+#include <paludis/util/compare.hh>
diff --git a/paludis/compare.hh b/paludis/util/compare.hh
index 32cb363b8..b209e6eb6 100644
--- a/paludis/compare.hh
+++ b/paludis/util/compare.hh
@@ -3,8 +3,8 @@
#ifndef PALUDIS_GUARD_PALUDIS_COMPARE_HH
#define PALUDIS_GUARD_PALUDIS_COMPARE_HH 1
-#include <paludis/attributes.hh>
-#include <paludis/validated.hh>
+#include <paludis/util/attributes.hh>
+#include <paludis/util/validated.hh>
#include <string>
namespace paludis
diff --git a/paludis/comparison_policy.cc b/paludis/util/comparison_policy.cc
index c12356641..f61918fa1 100644
--- a/paludis/comparison_policy.cc
+++ b/paludis/util/comparison_policy.cc
@@ -17,5 +17,5 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "comparison_policy.hh"
+#include <paludis/util/comparison_policy.hh>
diff --git a/paludis/comparison_policy.hh.m4 b/paludis/util/comparison_policy.hh.m4
index b33f2f847..b33f2f847 100644
--- a/paludis/comparison_policy.hh.m4
+++ b/paludis/util/comparison_policy.hh.m4
diff --git a/paludis/comparison_policy_TEST.cc b/paludis/util/comparison_policy_TEST.cc
index 1bdbe1ca7..a3ec30320 100644
--- a/paludis/comparison_policy_TEST.cc
+++ b/paludis/util/comparison_policy_TEST.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "comparison_policy.hh"
+#include <paludis/util/comparison_policy.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
diff --git a/paludis/composite_pattern.cc b/paludis/util/composite_pattern.cc
index 986fb5540..9b9bdf3eb 100644
--- a/paludis/composite_pattern.cc
+++ b/paludis/util/composite_pattern.cc
@@ -17,5 +17,5 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "composite_pattern.hh"
+#include <paludis/util/composite_pattern.hh>
diff --git a/paludis/composite_pattern.hh b/paludis/util/composite_pattern.hh
index fecb47c44..fecb47c44 100644
--- a/paludis/composite_pattern.hh
+++ b/paludis/util/composite_pattern.hh
diff --git a/paludis/container_entry.cc b/paludis/util/container_entry.cc
index 99bd3fb94..928ec7c42 100644
--- a/paludis/container_entry.cc
+++ b/paludis/util/container_entry.cc
@@ -17,5 +17,5 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "container_entry.hh"
+#include <paludis/util/container_entry.hh>
diff --git a/paludis/container_entry.hh b/paludis/util/container_entry.hh
index 9533e5159..9533e5159 100644
--- a/paludis/container_entry.hh
+++ b/paludis/util/container_entry.hh
diff --git a/paludis/container_entry_TEST.cc b/paludis/util/container_entry_TEST.cc
index cfaff4449..19be4aa26 100644
--- a/paludis/container_entry_TEST.cc
+++ b/paludis/util/container_entry_TEST.cc
@@ -19,7 +19,7 @@
#include <test/test_framework.hh>
#include <test/test_runner.hh>
-#include "container_entry.hh"
+#include <paludis/util/container_entry.hh>
#include <algorithm>
using namespace test;
diff --git a/paludis/counted_ptr.cc b/paludis/util/counted_ptr.cc
index cd7daf85d..15eba3d17 100644
--- a/paludis/counted_ptr.cc
+++ b/paludis/util/counted_ptr.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "counted_ptr.hh"
+#include <paludis/util/counted_ptr.hh>
using namespace paludis;
diff --git a/paludis/counted_ptr.hh b/paludis/util/counted_ptr.hh
index 5f5c5ade9..636987063 100644
--- a/paludis/counted_ptr.hh
+++ b/paludis/util/counted_ptr.hh
@@ -20,9 +20,9 @@
#ifndef PALUDIS_GUARD_PALUDIS_COUNTED_PTR_HH
#define PALUDIS_GUARD_PALUDIS_COUNTED_PTR_HH 1
-#include <paludis/attributes.hh>
-#include <paludis/comparison_policy.hh>
-#include <paludis/exception.hh>
+#include <paludis/util/attributes.hh>
+#include <paludis/util/comparison_policy.hh>
+#include <paludis/util/exception.hh>
/** \file
* Declaration for the CountedPtr template class.
@@ -542,7 +542,7 @@ namespace paludis
};
}
-#include <paludis/instantiation_policy.hh>
+#include <paludis/util/instantiation_policy.hh>
namespace paludis
{
diff --git a/paludis/counted_ptr_TEST.cc b/paludis/util/counted_ptr_TEST.cc
index 5e2c9a0e5..acdca8177 100644
--- a/paludis/counted_ptr_TEST.cc
+++ b/paludis/util/counted_ptr_TEST.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "counted_ptr.hh"
+#include <paludis/util/counted_ptr.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
#include <string>
diff --git a/paludis/create_insert_iterator.cc b/paludis/util/create_insert_iterator.cc
index 370609eeb..fdd742b39 100644
--- a/paludis/create_insert_iterator.cc
+++ b/paludis/util/create_insert_iterator.cc
@@ -17,5 +17,5 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "create_insert_iterator.hh"
+#include <paludis/util/create_insert_iterator.hh>
diff --git a/paludis/create_insert_iterator.hh b/paludis/util/create_insert_iterator.hh
index 2e5fd0567..2e5fd0567 100644
--- a/paludis/create_insert_iterator.hh
+++ b/paludis/util/create_insert_iterator.hh
diff --git a/paludis/create_insert_iterator_TEST.cc b/paludis/util/create_insert_iterator_TEST.cc
index e64d24495..c7c47adec 100644
--- a/paludis/create_insert_iterator_TEST.cc
+++ b/paludis/util/create_insert_iterator_TEST.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "create_insert_iterator.hh"
+#include <paludis/util/create_insert_iterator.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
#include <vector>
diff --git a/paludis/deleter.cc b/paludis/util/deleter.cc
index 9775a35c2..a71629731 100644
--- a/paludis/deleter.cc
+++ b/paludis/util/deleter.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "deleter.hh"
+#include <paludis/util/deleter.hh>
using namespace paludis;
diff --git a/paludis/deleter.hh b/paludis/util/deleter.hh
index 21dc4aeb7..21dc4aeb7 100644
--- a/paludis/deleter.hh
+++ b/paludis/util/deleter.hh
diff --git a/paludis/deleter_TEST.cc b/paludis/util/deleter_TEST.cc
index 7ae46457e..4f4568c1c 100644
--- a/paludis/deleter_TEST.cc
+++ b/paludis/util/deleter_TEST.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "deleter.hh"
+#include <paludis/util/deleter.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
#include <algorithm>
diff --git a/paludis/destringify.cc b/paludis/util/destringify.cc
index 27399ff27..0037ef6a8 100644
--- a/paludis/destringify.cc
+++ b/paludis/util/destringify.cc
@@ -18,7 +18,7 @@
*/
-#include "destringify.hh"
+#include <paludis/util/destringify.hh>
using namespace paludis;
diff --git a/paludis/destringify.hh b/paludis/util/destringify.hh
index 0db27a434..5c3f32712 100644
--- a/paludis/destringify.hh
+++ b/paludis/util/destringify.hh
@@ -22,7 +22,7 @@
#include <string>
#include <sstream>
-#include <paludis/exception.hh>
+#include <paludis/util/exception.hh>
/** \file
* Destringify functions.
diff --git a/paludis/destringify_TEST.cc b/paludis/util/destringify_TEST.cc
index 51e2e0a0a..24e357bfd 100644
--- a/paludis/destringify_TEST.cc
+++ b/paludis/util/destringify_TEST.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "destringify.hh"
+#include <paludis/util/destringify.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
#include <string>
diff --git a/paludis/dir_iterator.cc b/paludis/util/dir_iterator.cc
index cfb69f6f8..8d7fee83a 100644
--- a/paludis/dir_iterator.cc
+++ b/paludis/util/dir_iterator.cc
@@ -17,8 +17,8 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "dir_iterator.hh"
-#include "stringify.hh"
+#include <paludis/util/dir_iterator.hh>
+#include <paludis/util/stringify.hh>
#include <sys/types.h>
#include <dirent.h>
#include <errno.h>
diff --git a/paludis/dir_iterator.hh b/paludis/util/dir_iterator.hh
index 826e0911a..627120e59 100644
--- a/paludis/dir_iterator.hh
+++ b/paludis/util/dir_iterator.hh
@@ -20,8 +20,8 @@
#ifndef PALUDIS_GUARD_PALUDIS_DIR_ITERATOR_HH
#define PALUDIS_GUARD_PALUDIS_DIR_ITERATOR_HH 1
-#include <paludis/fs_entry.hh>
-#include <paludis/counted_ptr.hh>
+#include <paludis/util/fs_entry.hh>
+#include <paludis/util/counted_ptr.hh>
#include <iterator>
#include <set>
diff --git a/paludis/dir_iterator_TEST.cc b/paludis/util/dir_iterator_TEST.cc
index 6bad1391e..3b1c4ed0a 100644
--- a/paludis/dir_iterator_TEST.cc
+++ b/paludis/util/dir_iterator_TEST.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "dir_iterator.hh"
+#include <paludis/util/dir_iterator.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
diff --git a/paludis/dir_iterator_TEST_cleanup.sh b/paludis/util/dir_iterator_TEST_cleanup.sh
index 8d6e8ba70..8d6e8ba70 100755
--- a/paludis/dir_iterator_TEST_cleanup.sh
+++ b/paludis/util/dir_iterator_TEST_cleanup.sh
diff --git a/paludis/dir_iterator_TEST_setup.sh b/paludis/util/dir_iterator_TEST_setup.sh
index 9fa425eb5..9fa425eb5 100755
--- a/paludis/dir_iterator_TEST_setup.sh
+++ b/paludis/util/dir_iterator_TEST_setup.sh
diff --git a/paludis/exception.cc b/paludis/util/exception.cc
index 9104969c9..62d246044 100644
--- a/paludis/exception.cc
+++ b/paludis/util/exception.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "exception.hh"
+#include <paludis/util/exception.hh>
using namespace paludis;
diff --git a/paludis/exception.hh b/paludis/util/exception.hh
index e017a8a3d..63d83544b 100644
--- a/paludis/exception.hh
+++ b/paludis/util/exception.hh
@@ -20,8 +20,8 @@
#ifndef PALUDIS_GUARD_PALUDIS_EXCEPTION_HH
#define PALUDIS_GUARD_PALUDIS_EXCEPTION_HH 1
-#include <paludis/attributes.hh>
-#include <paludis/stringify.hh>
+#include <paludis/util/attributes.hh>
+#include <paludis/util/stringify.hh>
#include <string>
#include <exception>
diff --git a/paludis/util/files.m4 b/paludis/util/files.m4
new file mode 100644
index 000000000..ef390c6e2
--- /dev/null
+++ b/paludis/util/files.m4
@@ -0,0 +1,46 @@
+dnl vim: set ft=m4 et :
+dnl This file is used by Makefile.am.m4. You should use the provided
+dnl autogen.bash script to do all the hard work.
+dnl
+dnl This file is used to avoid having to make lots of repetitive changes in
+dnl Makefile.am every time we add a source or test file. The first parameter is
+dnl the base filename with no extension; later parameters can be `hh', `cc',
+dnl `test', `impl', `testscript'. Note that there isn't much error checking done
+dnl on this file at present...
+
+add(`attributes', `hh', `cc')
+add(`compare', `hh', `cc')
+add(`comparison_policy', `hh', `cc', `test')
+add(`composite_pattern', `hh', `cc')
+add(`container_entry', `hh', `cc', `test')
+add(`counted_ptr', `hh', `cc', `test')
+add(`create_insert_iterator', `hh', `cc', `test')
+add(`deleter', `hh', `cc', `test')
+add(`destringify', `hh', `cc', `test')
+add(`dir_iterator', `hh', `cc', `test', `testscript')
+add(`exception', `hh', `cc')
+add(`filter_insert_iterator', `hh', `cc', `test')
+add(`fs_entry', `hh', `cc', `test', `testscript')
+add(`getenv', `hh', `cc', `test')
+add(`indirect_iterator', `hh', `cc', `test')
+add(`instantiation_policy', `hh', `cc', `test')
+add(`is_const', `hh', `cc', `test')
+add(`is_file_with_extension', `hh', `cc', `test', `testscript')
+add(`iterator_utilities', `hh', `cc', `test')
+add(`join', `hh', `cc', `test')
+add(`log', `hh', `cc', `test')
+add(`private_implementation_pattern', `hh', `cc')
+add(`pstream', `hh', `cc', `test')
+add(`save', `hh', `cc', `test')
+add(`sequential_collection', `hh', `cc')
+add(`smart_record', `hh', `cc', `test')
+add(`sorted_collection', `hh', `cc')
+add(`stringify', `hh', `cc', `test')
+add(`strip', `hh', `cc', `test')
+add(`tokeniser', `hh', `cc', `test')
+add(`transform_insert_iterator', `hh', `cc', `test')
+add(`util', `hh')
+add(`validated', `hh', `cc', `test')
+add(`virtual_constructor', `hh', `cc', `test')
+add(`visitor', `hh', `cc', `test')
+
diff --git a/paludis/filter_insert_iterator.cc b/paludis/util/filter_insert_iterator.cc
index 63c6671b0..95bdd5993 100644
--- a/paludis/filter_insert_iterator.cc
+++ b/paludis/util/filter_insert_iterator.cc
@@ -18,5 +18,5 @@
*/
-#include "filter_insert_iterator.hh"
+#include <paludis/util/filter_insert_iterator.hh>
diff --git a/paludis/filter_insert_iterator.hh b/paludis/util/filter_insert_iterator.hh
index bf3a64bda..bf3a64bda 100644
--- a/paludis/filter_insert_iterator.hh
+++ b/paludis/util/filter_insert_iterator.hh
diff --git a/paludis/filter_insert_iterator_TEST.cc b/paludis/util/filter_insert_iterator_TEST.cc
index 50c421a36..ba7ea98bc 100644
--- a/paludis/filter_insert_iterator_TEST.cc
+++ b/paludis/util/filter_insert_iterator_TEST.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "filter_insert_iterator.hh"
+#include <paludis/util/filter_insert_iterator.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
#include <set>
diff --git a/paludis/fs_entry.cc b/paludis/util/fs_entry.cc
index 7f9b03dfb..f959b4b67 100644
--- a/paludis/fs_entry.cc
+++ b/paludis/util/fs_entry.cc
@@ -18,9 +18,9 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "fs_entry.hh"
-#include "exception.hh"
-#include "stringify.hh"
+#include <paludis/util/fs_entry.hh>
+#include <paludis/util/exception.hh>
+#include <paludis/util/stringify.hh>
#include <sys/stat.h>
#include <unistd.h>
diff --git a/paludis/fs_entry.hh b/paludis/util/fs_entry.hh
index 800018031..936df8786 100644
--- a/paludis/fs_entry.hh
+++ b/paludis/util/fs_entry.hh
@@ -23,9 +23,9 @@
#include <string>
#include <ostream>
-#include <paludis/comparison_policy.hh>
-#include <paludis/exception.hh>
-#include <paludis/counted_ptr.hh>
+#include <paludis/util/comparison_policy.hh>
+#include <paludis/util/exception.hh>
+#include <paludis/util/counted_ptr.hh>
#include <sys/stat.h>
/** \file
diff --git a/paludis/fs_entry_TEST.cc b/paludis/util/fs_entry_TEST.cc
index 68c7f61ac..a04a20cf7 100644
--- a/paludis/fs_entry_TEST.cc
+++ b/paludis/util/fs_entry_TEST.cc
@@ -18,7 +18,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "fs_entry.hh"
+#include <paludis/util/fs_entry.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
#include <ctime>
diff --git a/paludis/fs_entry_TEST_cleanup.sh b/paludis/util/fs_entry_TEST_cleanup.sh
index 894b1f7e5..894b1f7e5 100755
--- a/paludis/fs_entry_TEST_cleanup.sh
+++ b/paludis/util/fs_entry_TEST_cleanup.sh
diff --git a/paludis/fs_entry_TEST_setup.sh b/paludis/util/fs_entry_TEST_setup.sh
index 6945a78b2..6945a78b2 100755
--- a/paludis/fs_entry_TEST_setup.sh
+++ b/paludis/util/fs_entry_TEST_setup.sh
diff --git a/paludis/getenv.cc b/paludis/util/getenv.cc
index 0d9ef3652..c2c37316e 100644
--- a/paludis/getenv.cc
+++ b/paludis/util/getenv.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "getenv.hh"
+#include <paludis/util/getenv.hh>
#include <cstdlib>
using namespace paludis;
diff --git a/paludis/getenv.hh b/paludis/util/getenv.hh
index 6d4dae8c5..a88c3375b 100644
--- a/paludis/getenv.hh
+++ b/paludis/util/getenv.hh
@@ -20,7 +20,7 @@
#ifndef PALUDIS_GUARD_PALUDIS_GETENV_HH
#define PALUDIS_GUARD_PALUDIS_GETENV_HH 1
-#include <paludis/exception.hh>
+#include <paludis/util/exception.hh>
#include <string>
namespace paludis
diff --git a/paludis/getenv_TEST.cc b/paludis/util/getenv_TEST.cc
index 880b62d02..74162c5ea 100644
--- a/paludis/getenv_TEST.cc
+++ b/paludis/util/getenv_TEST.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "getenv.hh"
+#include <paludis/util/getenv.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
diff --git a/paludis/indirect_iterator.cc b/paludis/util/indirect_iterator.cc
index cac202df2..6f05e2785 100644
--- a/paludis/indirect_iterator.cc
+++ b/paludis/util/indirect_iterator.cc
@@ -17,5 +17,5 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "indirect_iterator.hh"
+#include <paludis/util/indirect_iterator.hh>
diff --git a/paludis/indirect_iterator.hh b/paludis/util/indirect_iterator.hh
index cfe553af7..a57aec49f 100644
--- a/paludis/indirect_iterator.hh
+++ b/paludis/util/indirect_iterator.hh
@@ -21,8 +21,8 @@
#define PALUDIS_GUARD_PALUDIS_INDIRECT_ITERATOR_HH 1
#include <iterator>
-#include <paludis/instantiation_policy.hh>
-#include <paludis/comparison_policy.hh>
+#include <paludis/util/instantiation_policy.hh>
+#include <paludis/util/comparison_policy.hh>
namespace paludis
{
diff --git a/paludis/indirect_iterator_TEST.cc b/paludis/util/indirect_iterator_TEST.cc
index 121daec37..c0e4b661c 100644
--- a/paludis/indirect_iterator_TEST.cc
+++ b/paludis/util/indirect_iterator_TEST.cc
@@ -17,9 +17,9 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "indirect_iterator.hh"
-#include "counted_ptr.hh"
-#include "deleter.hh"
+#include <paludis/util/indirect_iterator.hh>
+#include <paludis/util/counted_ptr.hh>
+#include <paludis/util/deleter.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
#include <vector>
diff --git a/paludis/instantiation_policy.cc b/paludis/util/instantiation_policy.cc
index 9e2c0da58..ec45ae6de 100644
--- a/paludis/instantiation_policy.cc
+++ b/paludis/util/instantiation_policy.cc
@@ -17,5 +17,5 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "instantiation_policy.hh"
+#include <paludis/util/instantiation_policy.hh>
diff --git a/paludis/instantiation_policy.hh b/paludis/util/instantiation_policy.hh
index 9d083fced..74367767d 100644
--- a/paludis/instantiation_policy.hh
+++ b/paludis/util/instantiation_policy.hh
@@ -112,7 +112,7 @@ namespace paludis
};
}
-#include <paludis/counted_ptr.hh>
+#include <paludis/util/counted_ptr.hh>
namespace paludis
{
diff --git a/paludis/instantiation_policy_TEST.cc b/paludis/util/instantiation_policy_TEST.cc
index d47ff513d..23211748f 100644
--- a/paludis/instantiation_policy_TEST.cc
+++ b/paludis/util/instantiation_policy_TEST.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "instantiation_policy.hh"
+#include <paludis/util/instantiation_policy.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
#include <string>
diff --git a/paludis/is_const.cc b/paludis/util/is_const.cc
index ddfee6076..83ff93415 100644
--- a/paludis/is_const.cc
+++ b/paludis/util/is_const.cc
@@ -17,5 +17,5 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "is_const.hh"
+#include <paludis/util/is_const.hh>
diff --git a/paludis/is_const.hh b/paludis/util/is_const.hh
index 67e6d8fc7..67e6d8fc7 100644
--- a/paludis/is_const.hh
+++ b/paludis/util/is_const.hh
diff --git a/paludis/is_const_TEST.cc b/paludis/util/is_const_TEST.cc
index da4a8cd5a..40e67ca69 100644
--- a/paludis/is_const_TEST.cc
+++ b/paludis/util/is_const_TEST.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "is_const.hh"
+#include <paludis/util/is_const.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
#include <string>
diff --git a/paludis/is_file_with_extension.cc b/paludis/util/is_file_with_extension.cc
index 1635108ce..83697f490 100644
--- a/paludis/is_file_with_extension.cc
+++ b/paludis/util/is_file_with_extension.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "is_file_with_extension.hh"
+#include <paludis/util/is_file_with_extension.hh>
using namespace paludis;
diff --git a/paludis/is_file_with_extension.hh b/paludis/util/is_file_with_extension.hh
index d387225a8..e850d54bc 100644
--- a/paludis/is_file_with_extension.hh
+++ b/paludis/util/is_file_with_extension.hh
@@ -20,7 +20,7 @@
#ifndef PALUDIS_GUARD_PALUDIS_IS_FILE_WITH_EXTENSION_HH
#define PALUDIS_GUARD_PALUDIS_IS_FILE_WITH_EXTENSION_HH 1
-#include <paludis/fs_entry.hh>
+#include <paludis/util/fs_entry.hh>
#include <string>
#include <functional>
diff --git a/paludis/is_file_with_extension_TEST.cc b/paludis/util/is_file_with_extension_TEST.cc
index 0ef879ed9..44956cff3 100644
--- a/paludis/is_file_with_extension_TEST.cc
+++ b/paludis/util/is_file_with_extension_TEST.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "is_file_with_extension.hh"
+#include <paludis/util/is_file_with_extension.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
#include <vector>
diff --git a/paludis/is_file_with_extension_TEST_cleanup.sh b/paludis/util/is_file_with_extension_TEST_cleanup.sh
index 19f12d6cf..19f12d6cf 100755
--- a/paludis/is_file_with_extension_TEST_cleanup.sh
+++ b/paludis/util/is_file_with_extension_TEST_cleanup.sh
diff --git a/paludis/is_file_with_extension_TEST_setup.sh b/paludis/util/is_file_with_extension_TEST_setup.sh
index e5c8b5999..e5c8b5999 100755
--- a/paludis/is_file_with_extension_TEST_setup.sh
+++ b/paludis/util/is_file_with_extension_TEST_setup.sh
diff --git a/paludis/iterator_utilities.cc b/paludis/util/iterator_utilities.cc
index 787e3de0f..97fd20245 100644
--- a/paludis/iterator_utilities.cc
+++ b/paludis/util/iterator_utilities.cc
@@ -17,5 +17,5 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "iterator_utilities.hh"
+#include <paludis/util/iterator_utilities.hh>
diff --git a/paludis/iterator_utilities.hh b/paludis/util/iterator_utilities.hh
index b24447e92..b24447e92 100644
--- a/paludis/iterator_utilities.hh
+++ b/paludis/util/iterator_utilities.hh
diff --git a/paludis/iterator_utilities_TEST.cc b/paludis/util/iterator_utilities_TEST.cc
index 4fd6642c3..6752bb3d2 100644
--- a/paludis/iterator_utilities_TEST.cc
+++ b/paludis/util/iterator_utilities_TEST.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "iterator_utilities.hh"
+#include <paludis/util/iterator_utilities.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
#include <string>
diff --git a/paludis/join.cc b/paludis/util/join.cc
index ea1844df4..447764030 100644
--- a/paludis/join.cc
+++ b/paludis/util/join.cc
@@ -17,5 +17,5 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "join.hh"
+#include <paludis/util/join.hh>
diff --git a/paludis/join.hh b/paludis/util/join.hh
index 523018330..4faec1ea2 100644
--- a/paludis/join.hh
+++ b/paludis/util/join.hh
@@ -21,7 +21,7 @@
#define PALUDIS_GUARD_PALUDIS_JOIN_HH 1
#include <string>
-#include <paludis/stringify.hh>
+#include <paludis/util/stringify.hh>
namespace paludis
{
diff --git a/paludis/join_TEST.cc b/paludis/util/join_TEST.cc
index 9badb1e08..245c99ae9 100644
--- a/paludis/join_TEST.cc
+++ b/paludis/util/join_TEST.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "join.hh"
+#include <paludis/util/join.hh>
#include <test/test_runner.hh>
#include <test/test_framework.hh>
#include <vector>
diff --git a/paludis/log.cc b/paludis/util/log.cc
index 38c18c3b1..f42c7f6ec 100644
--- a/paludis/log.cc
+++ b/paludis/util/log.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "log.hh"
+#include <paludis/util/log.hh>
#include <iostream>
using namespace paludis;
diff --git a/paludis/log.hh b/paludis/util/log.hh
index 63d8031d2..be1b24614 100644
--- a/paludis/log.hh
+++ b/paludis/util/log.hh
@@ -20,8 +20,8 @@
#ifndef PALUDIS_GUARD_PALUDIS_LOG_HH
#define PALUDIS_GUARD_PALUDIS_LOG_HH 1
-#include <paludis/instantiation_policy.hh>
-#include <paludis/private_implementation_pattern.hh>
+#include <paludis/util/instantiation_policy.hh>
+#include <paludis/util/private_implementation_pattern.hh>
#include <iosfwd>
namespace paludis
diff --git a/paludis/log_TEST.cc b/paludis/util/log_TEST.cc
index 31e51f7f9..491e5e6bb 100644
--- a/paludis/log_TEST.cc
+++ b/paludis/util/log_TEST.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "log.hh"
+#include <paludis/util/log.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
#include <sstream>
diff --git a/paludis/private_implementation_pattern.cc b/paludis/util/private_implementation_pattern.cc
index 0f145ba87..b979de3ae 100644
--- a/paludis/private_implementation_pattern.cc
+++ b/paludis/util/private_implementation_pattern.cc
@@ -17,5 +17,5 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "private_implementation_pattern.hh"
+#include <paludis/util/private_implementation_pattern.hh>
diff --git a/paludis/private_implementation_pattern.hh b/paludis/util/private_implementation_pattern.hh
index 112fa8d03..1a3298296 100644
--- a/paludis/private_implementation_pattern.hh
+++ b/paludis/util/private_implementation_pattern.hh
@@ -20,8 +20,8 @@
#ifndef PALUDIS_GUARD_PALUDIS_PRIVATE_IMPLEMENTATION_PATTERN_HH
#define PALUDIS_GUARD_PALUDIS_PRIVATE_IMPLEMENTATION_PATTERN_HH 1
-#include <paludis/counted_ptr.hh>
-#include <paludis/instantiation_policy.hh>
+#include <paludis/util/counted_ptr.hh>
+#include <paludis/util/instantiation_policy.hh>
namespace paludis
{
diff --git a/paludis/pstream.cc b/paludis/util/pstream.cc
index 41a6e09af..9e075a9f2 100644
--- a/paludis/pstream.cc
+++ b/paludis/util/pstream.cc
@@ -17,8 +17,8 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "pstream.hh"
-#include "log.hh"
+#include <paludis/util/pstream.hh>
+#include <paludis/util/log.hh>
#include <errno.h>
#include <cstring>
diff --git a/paludis/pstream.hh b/paludis/util/pstream.hh
index bb429aa98..633b7f69b 100644
--- a/paludis/pstream.hh
+++ b/paludis/util/pstream.hh
@@ -20,8 +20,8 @@
#ifndef PALUDIS_GUARD_PALUDIS_PSTREAM_HH
#define PALUDIS_GUARD_PALUDIS_PSTREAM_HH 1
-#include <paludis/instantiation_policy.hh>
-#include <paludis/exception.hh>
+#include <paludis/util/instantiation_policy.hh>
+#include <paludis/util/exception.hh>
#include <streambuf>
#include <limits>
#include <string>
diff --git a/paludis/pstream_TEST.cc b/paludis/util/pstream_TEST.cc
index 7abda78c5..992729f68 100644
--- a/paludis/pstream_TEST.cc
+++ b/paludis/util/pstream_TEST.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "pstream.hh"
+#include <paludis/util/pstream.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
diff --git a/paludis/save.cc b/paludis/util/save.cc
index 496098f0b..08b7724c4 100644
--- a/paludis/save.cc
+++ b/paludis/util/save.cc
@@ -17,5 +17,5 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "save.hh"
+#include <paludis/util/save.hh>
diff --git a/paludis/save.hh b/paludis/util/save.hh
index 54c1759fb..6c65bbc23 100644
--- a/paludis/save.hh
+++ b/paludis/util/save.hh
@@ -20,7 +20,7 @@
#ifndef PALUDIS_GUARD_PALUDIS_SAVE_HH
#define PALUDIS_GUARD_PALUDIS_SAVE_HH 1
-#include <paludis/instantiation_policy.hh>
+#include <paludis/util/instantiation_policy.hh>
/** \file
* Declarations for the Save class.
diff --git a/paludis/save_TEST.cc b/paludis/util/save_TEST.cc
index aabca5363..38bd4ed4a 100644
--- a/paludis/save_TEST.cc
+++ b/paludis/util/save_TEST.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "save.hh"
+#include <paludis/util/save.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
diff --git a/paludis/sequential_collection.cc b/paludis/util/sequential_collection.cc
index 76aceaba2..d802b8f28 100644
--- a/paludis/sequential_collection.cc
+++ b/paludis/util/sequential_collection.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "sequential_collection.hh"
+#include <paludis/util/sequential_collection.hh>
using namespace paludis;
diff --git a/paludis/sequential_collection.hh b/paludis/util/sequential_collection.hh
index 53689e52e..ae0153bd0 100644
--- a/paludis/sequential_collection.hh
+++ b/paludis/util/sequential_collection.hh
@@ -22,8 +22,8 @@
#include <list>
#include <algorithm>
-#include <paludis/counted_ptr.hh>
-#include <paludis/instantiation_policy.hh>
+#include <paludis/util/counted_ptr.hh>
+#include <paludis/util/instantiation_policy.hh>
namespace paludis
{
diff --git a/paludis/smart_record.cc b/paludis/util/smart_record.cc
index efae6eeb0..6dc097de9 100644
--- a/paludis/smart_record.cc
+++ b/paludis/util/smart_record.cc
@@ -17,5 +17,5 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "smart_record.hh"
+#include <paludis/util/smart_record.hh>
diff --git a/paludis/smart_record.hh.m4 b/paludis/util/smart_record.hh.m4
index bca1ed85e..1f5bafc2a 100644
--- a/paludis/smart_record.hh.m4
+++ b/paludis/util/smart_record.hh.m4
@@ -28,9 +28,9 @@ define(`_forloop', `$4`'ifelse($1, `$3', , `define(`$1', incr($1))_forloop(`$1',
#ifndef PALUDIS_GUARD_PALUDIS_SMART_RECORD_HH
#define PALUDIS_GUARD_PALUDIS_SMART_RECORD_HH 1
-#include <paludis/comparison_policy.hh>
-#include <paludis/compare.hh>
-#include <paludis/exception.hh>
+#include <paludis/util/comparison_policy.hh>
+#include <paludis/util/compare.hh>
+#include <paludis/util/exception.hh>
namespace paludis
{
diff --git a/paludis/smart_record_TEST.cc b/paludis/util/smart_record_TEST.cc
index 4ae5c34e1..d6baa3f75 100644
--- a/paludis/smart_record_TEST.cc
+++ b/paludis/util/smart_record_TEST.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "smart_record.hh"
+#include <paludis/util/smart_record.hh>
#include <test/test_runner.hh>
#include <test/test_framework.hh>
diff --git a/paludis/sorted_collection.cc b/paludis/util/sorted_collection.cc
index 1e6875eca..1bf4b0d0f 100644
--- a/paludis/sorted_collection.cc
+++ b/paludis/util/sorted_collection.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "sorted_collection.hh"
+#include <paludis/util/sorted_collection.hh>
using namespace paludis;
diff --git a/paludis/sorted_collection.hh b/paludis/util/sorted_collection.hh
index e26fc468e..61a0b4e62 100644
--- a/paludis/sorted_collection.hh
+++ b/paludis/util/sorted_collection.hh
@@ -20,8 +20,8 @@
#ifndef PALUDIS_GUARD_PALUDIS_SORTED_COLLECTION_HH
#define PALUDIS_GUARD_PALUDIS_SORTED_COLLECTION_HH 1
-#include <paludis/counted_ptr.hh>
-#include <paludis/instantiation_policy.hh>
+#include <paludis/util/counted_ptr.hh>
+#include <paludis/util/instantiation_policy.hh>
#include <set>
#include <iterator>
diff --git a/paludis/stringify.cc b/paludis/util/stringify.cc
index ba5f5e851..100adfb2c 100644
--- a/paludis/stringify.cc
+++ b/paludis/util/stringify.cc
@@ -17,5 +17,5 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "stringify.hh"
+#include <paludis/util/stringify.hh>
diff --git a/paludis/stringify.hh b/paludis/util/stringify.hh
index 7c0c7a280..7c0c7a280 100644
--- a/paludis/stringify.hh
+++ b/paludis/util/stringify.hh
diff --git a/paludis/stringify_TEST.cc b/paludis/util/stringify_TEST.cc
index 99026af8a..23c2cf825 100644
--- a/paludis/stringify_TEST.cc
+++ b/paludis/util/stringify_TEST.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "stringify.hh"
+#include <paludis/util/stringify.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
#include <string>
diff --git a/paludis/strip.cc b/paludis/util/strip.cc
index 5a8c946d6..62352a4b2 100644
--- a/paludis/strip.cc
+++ b/paludis/util/strip.cc
@@ -17,8 +17,8 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "strip.hh"
-#include "exception.hh"
+#include <paludis/util/strip.hh>
+#include <paludis/util/exception.hh>
namespace paludis
{
diff --git a/paludis/strip.hh b/paludis/util/strip.hh
index 0ebfaf1d2..0ebfaf1d2 100644
--- a/paludis/strip.hh
+++ b/paludis/util/strip.hh
diff --git a/paludis/strip_TEST.cc b/paludis/util/strip_TEST.cc
index c0f2b37f9..9a19170ca 100644
--- a/paludis/strip_TEST.cc
+++ b/paludis/util/strip_TEST.cc
@@ -18,7 +18,7 @@
*/
-#include "strip.hh"
+#include <paludis/util/strip.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
#include <vector>
diff --git a/paludis/util/test_extras.cc b/paludis/util/test_extras.cc
new file mode 100644
index 000000000..357731279
--- /dev/null
+++ b/paludis/util/test_extras.cc
@@ -0,0 +1,58 @@
+/* vim: set sw=4 sts=4 et foldmethod=syntax : */
+
+/*
+ * Copyright (c) 2006 Ciaran McCreesh <ciaranm@gentoo.org>
+ *
+ * This file is part of the Paludis package manager. Paludis is free software;
+ * you can redistribute it and/or modify it under the terms of the GNU General
+ * Public License version 2, as published by the Free Software Foundation.
+ *
+ * Paludis is distributed in the hope that it will be useful, but WITHOUT ANY
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+ * details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+ * Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include <test/test_framework.hh>
+#include <paludis/util/stringify.hh>
+#include <paludis/util/exception.hh>
+#include <paludis/util/attributes.hh>
+#include <paludis/util/log.hh>
+#include <exception>
+#include <sstream>
+
+using namespace paludis;
+
+namespace
+{
+ std::string verbose_exception_to_debug_string(
+ const std::exception & e) PALUDIS_ATTRIBUTE((noinline));
+
+ struct C
+ {
+ std::stringstream s;
+
+ C()
+ {
+ test::set_exception_to_debug_string(&verbose_exception_to_debug_string);
+ Log::get_instance()->set_log_stream(&s);
+ }
+ };
+
+ static const C my_c;
+
+ std::string verbose_exception_to_debug_string(const std::exception & e)
+ {
+ const paludis::Exception * ee;
+ if (0 != ((ee = dynamic_cast<const Exception *>(&e))))
+ return stringify(ee->what()) + " (message " + ee->message() +
+ (ee->empty() ? stringify("") : ", backtrace " + ee->backtrace(" -> ")) + ")";
+ else
+ return e.what();
+ }
+}
+
diff --git a/paludis/tokeniser.cc b/paludis/util/tokeniser.cc
index 68985f9f9..706edb67e 100644
--- a/paludis/tokeniser.cc
+++ b/paludis/util/tokeniser.cc
@@ -17,5 +17,5 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "tokeniser.hh"
+#include <paludis/util/tokeniser.hh>
diff --git a/paludis/tokeniser.hh b/paludis/util/tokeniser.hh
index 28082e57d..5223b23b0 100644
--- a/paludis/tokeniser.hh
+++ b/paludis/util/tokeniser.hh
@@ -22,7 +22,7 @@
#include <string>
#include <iterator>
-#include <paludis/instantiation_policy.hh>
+#include <paludis/util/instantiation_policy.hh>
/** \file
* Declarations for Tokeniser and related utilities.
diff --git a/paludis/tokeniser_TEST.cc b/paludis/util/tokeniser_TEST.cc
index c674e00e4..6f35803cb 100644
--- a/paludis/tokeniser_TEST.cc
+++ b/paludis/util/tokeniser_TEST.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "tokeniser.hh"
+#include <paludis/util/tokeniser.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
#include <vector>
diff --git a/paludis/transform_insert_iterator.cc b/paludis/util/transform_insert_iterator.cc
index 67942509e..6cfa71cc3 100644
--- a/paludis/transform_insert_iterator.cc
+++ b/paludis/util/transform_insert_iterator.cc
@@ -17,5 +17,5 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "transform_insert_iterator.hh"
+#include <paludis/util/transform_insert_iterator.hh>
diff --git a/paludis/transform_insert_iterator.hh b/paludis/util/transform_insert_iterator.hh
index 7488da873..7488da873 100644
--- a/paludis/transform_insert_iterator.hh
+++ b/paludis/util/transform_insert_iterator.hh
diff --git a/paludis/transform_insert_iterator_TEST.cc b/paludis/util/transform_insert_iterator_TEST.cc
index 63b3e4b26..4dc6c4e37 100644
--- a/paludis/transform_insert_iterator_TEST.cc
+++ b/paludis/util/transform_insert_iterator_TEST.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "transform_insert_iterator.hh"
+#include <paludis/util/transform_insert_iterator.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
#include <vector>
diff --git a/paludis/util/util.hh.m4 b/paludis/util/util.hh.m4
new file mode 100644
index 000000000..40358dec8
--- /dev/null
+++ b/paludis/util/util.hh.m4
@@ -0,0 +1,42 @@
+#if 0
+ifdef(`__gnu__',`',`errprint(`This is not GNU m4...
+')m4exit(1)') include(`misc/generated-file.txt')
+dnl vim: set ft=cpp et sw=4 sts=4 :
+#endif
+
+/*
+ * Copyright (c) 2006 Ciaran McCreesh <ciaranm@gentoo.org>
+ *
+ * This file is part of the Paludis package manager. Paludis is free software;
+ * you can redistribute it and/or modify it under the terms of the GNU General
+ * Public License version 2, as published by the Free Software Foundation.
+ *
+ * Paludis is distributed in the hope that it will be useful, but WITHOUT ANY
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+ * details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+ * Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef PALUDIS_GUARD_PALUDIS_UTIL_UTIL_HH
+#define PALUDIS_GUARD_PALUDIS_UTIL_UTIL_HH 1
+
+/** \file
+ * Master include file for util.
+ */
+
+define(`addhh', `dnl
+#include <paludis/util/$1.hh>
+')dnl
+define(`addthis', `ifelse(`$2', `hh', `addhh(`$1')',`')')
+define(`add', `addthis(`$1',`$2')addthis(`$1',`$3')addthis(`$1',`$4')dnl
+addthis(`$1',`$5')addthis(`$1',`$6')')dnl
+
+include(`paludis/util/files.m4')
+
+#endif
+
+
diff --git a/paludis/validated.cc b/paludis/util/validated.cc
index cc46cddee..7b7fc64f3 100644
--- a/paludis/validated.cc
+++ b/paludis/util/validated.cc
@@ -17,5 +17,5 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "validated.hh"
+#include <paludis/util/validated.hh>
diff --git a/paludis/validated.hh b/paludis/util/validated.hh
index 1b70207e7..cf669376b 100644
--- a/paludis/validated.hh
+++ b/paludis/util/validated.hh
@@ -21,7 +21,7 @@
#define PALUDIS_GUARD_PALUDIS_VALIDATED_HH 1
#include <ostream>
-#include <paludis/comparison_policy.hh>
+#include <paludis/util/comparison_policy.hh>
namespace paludis
{
diff --git a/paludis/validated_TEST.cc b/paludis/util/validated_TEST.cc
index e269799b8..93ba62bbc 100644
--- a/paludis/validated_TEST.cc
+++ b/paludis/util/validated_TEST.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "validated.hh"
+#include <paludis/util/validated.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
diff --git a/paludis/virtual_constructor.cc b/paludis/util/virtual_constructor.cc
index aacdb1092..1fe055a8b 100644
--- a/paludis/virtual_constructor.cc
+++ b/paludis/util/virtual_constructor.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "virtual_constructor.hh"
+#include <paludis/util/virtual_constructor.hh>
/** \file
* Implementation of paludis::VirtualConstructor.
diff --git a/paludis/virtual_constructor.hh b/paludis/util/virtual_constructor.hh
index bb87a9d22..827181e75 100644
--- a/paludis/virtual_constructor.hh
+++ b/paludis/util/virtual_constructor.hh
@@ -20,10 +20,10 @@
#ifndef PALUDIS_GUARD_PALUDIS_VIRTUAL_CONSTRUCTOR_HH
#define PALUDIS_GUARD_PALUDIS_VIRTUAL_CONSTRUCTOR_HH 1
-#include <paludis/exception.hh>
-#include <paludis/instantiation_policy.hh>
-#include <paludis/stringify.hh>
-#include <paludis/transform_insert_iterator.hh>
+#include <paludis/util/exception.hh>
+#include <paludis/util/instantiation_policy.hh>
+#include <paludis/util/stringify.hh>
+#include <paludis/util/transform_insert_iterator.hh>
#include <algorithm>
#include <vector>
diff --git a/paludis/virtual_constructor_TEST.cc b/paludis/util/virtual_constructor_TEST.cc
index 81cb02a79..9633d912c 100644
--- a/paludis/virtual_constructor_TEST.cc
+++ b/paludis/util/virtual_constructor_TEST.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
-#include "virtual_constructor.hh"
-#include "counted_ptr.hh"
+#include <paludis/util/virtual_constructor.hh>
+#include <paludis/util/counted_ptr.hh>
#include <test/test_runner.hh>
#include <test/test_framework.hh>
#include <set>
diff --git a/paludis/visitor.cc b/paludis/util/visitor.cc
index efa0c30f1..95bf28db0 100644
--- a/paludis/visitor.cc
+++ b/paludis/util/visitor.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "visitor.hh"
+#include <paludis/util/visitor.hh>
/** \file
* Definitions for paludis::Visitor and related classes.
diff --git a/paludis/visitor.hh b/paludis/util/visitor.hh
index 2f730857e..2f730857e 100644
--- a/paludis/visitor.hh
+++ b/paludis/util/visitor.hh
diff --git a/paludis/visitor_TEST.cc b/paludis/util/visitor_TEST.cc
index 66aef029e..96d3e992b 100644
--- a/paludis/visitor_TEST.cc
+++ b/paludis/util/visitor_TEST.cc
@@ -17,9 +17,9 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "visitor.hh"
-#include "deleter.hh"
-#include "indirect_iterator.hh"
+#include <paludis/util/visitor.hh>
+#include <paludis/util/deleter.hh>
+#include <paludis/util/indirect_iterator.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
#include <vector>
diff --git a/paludis/version_metadata.cc b/paludis/version_metadata.cc
index 351689e6d..a100b3a6e 100644
--- a/paludis/version_metadata.cc
+++ b/paludis/version_metadata.cc
@@ -17,10 +17,10 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "version_metadata.hh"
-#include "create_insert_iterator.hh"
-#include "tokeniser.hh"
-#include "create_insert_iterator.hh"
+#include <paludis/version_metadata.hh>
+#include <paludis/util/create_insert_iterator.hh>
+#include <paludis/util/tokeniser.hh>
+#include <paludis/util/create_insert_iterator.hh>
#include <vector>
using namespace paludis;
diff --git a/paludis/version_metadata.hh b/paludis/version_metadata.hh
index 037cb7aa8..5354f3129 100644
--- a/paludis/version_metadata.hh
+++ b/paludis/version_metadata.hh
@@ -20,8 +20,8 @@
#ifndef PALUDIS_GUARD_PALUDIS_VERSION_METADATA_HH
#define PALUDIS_GUARD_PALUDIS_VERSION_METADATA_HH 1
-#include <paludis/instantiation_policy.hh>
-#include <paludis/private_implementation_pattern.hh>
+#include <paludis/util/instantiation_policy.hh>
+#include <paludis/util/private_implementation_pattern.hh>
#include <paludis/version_metadata.hh>
#include <paludis/use_flag_name.hh>
#include <paludis/keyword_name.hh>
diff --git a/paludis/version_operator.cc b/paludis/version_operator.cc
index 61d82e33b..8fd64653e 100644
--- a/paludis/version_operator.cc
+++ b/paludis/version_operator.cc
@@ -17,8 +17,8 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "version_operator.hh"
-#include "stringify.hh"
+#include <paludis/version_operator.hh>
+#include <paludis/util/stringify.hh>
using namespace paludis;
diff --git a/paludis/version_operator.hh b/paludis/version_operator.hh
index ba2857909..23075c714 100644
--- a/paludis/version_operator.hh
+++ b/paludis/version_operator.hh
@@ -20,9 +20,9 @@
#ifndef PALUDIS_GUARD_PALUDIS_VERSION_OPERATOR_HH
#define PALUDIS_GUARD_PALUDIS_VERSION_OPERATOR_HH 1
-#include <paludis/validated.hh>
+#include <paludis/util/validated.hh>
#include <paludis/version_spec.hh>
-#include <paludis/instantiation_policy.hh>
+#include <paludis/util/instantiation_policy.hh>
#include <string>
#include <ostream>
diff --git a/paludis/version_operator_TEST.cc b/paludis/version_operator_TEST.cc
index b02e63e83..ad94b6141 100644
--- a/paludis/version_operator_TEST.cc
+++ b/paludis/version_operator_TEST.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "version_operator.hh"
+#include <paludis/version_operator.hh>
#include <test/test_runner.hh>
#include <test/test_framework.hh>
diff --git a/paludis/version_spec.cc b/paludis/version_spec.cc
index 678f520da..3375703c9 100644
--- a/paludis/version_spec.cc
+++ b/paludis/version_spec.cc
@@ -17,8 +17,8 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "version_spec.hh"
-#include "exception.hh"
+#include <paludis/version_spec.hh>
+#include <paludis/util/exception.hh>
#include <algorithm>
using namespace paludis;
diff --git a/paludis/version_spec.hh b/paludis/version_spec.hh
index eacac330c..a144cd14f 100644
--- a/paludis/version_spec.hh
+++ b/paludis/version_spec.hh
@@ -20,10 +20,10 @@
#ifndef PALUDIS_GUARD_PALUDIS_VERSION_SPEC_HH
#define PALUDIS_GUARD_PALUDIS_VERSION_SPEC_HH 1
-#include <paludis/private_implementation_pattern.hh>
-#include <paludis/comparison_policy.hh>
-#include <paludis/sorted_collection.hh>
-#include <paludis/exception.hh>
+#include <paludis/util/private_implementation_pattern.hh>
+#include <paludis/util/comparison_policy.hh>
+#include <paludis/util/sorted_collection.hh>
+#include <paludis/util/exception.hh>
#include <string>
#include <ostream>
diff --git a/paludis/version_spec_TEST.cc b/paludis/version_spec_TEST.cc
index e313e331a..3a11ce340 100644
--- a/paludis/version_spec_TEST.cc
+++ b/paludis/version_spec_TEST.cc
@@ -17,7 +17,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "version_spec.hh"
+#include <paludis/version_spec.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
diff --git a/src/Makefile.am b/src/Makefile.am
index c4c1f8807..73deda7e6 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -16,7 +16,8 @@ paludis_SOURCES = \
paludis_LDADD = \
$(top_builddir)/paludis/libpaludis.a \
- $(top_builddir)/paludis/args/libpaludisargs.a
+ $(top_builddir)/paludis/args/libpaludisargs.a \
+ $(top_builddir)/paludis/util/libpaludisutil.a
TESTS_ENVIRONMENT = env TEST_SCRIPT_DIR="$(srcdir)/" $(SHELL) $(top_srcdir)/test/run_test.sh bash
TESTS = version_TEST
diff --git a/src/colour.cc b/src/colour.cc
index deeeb6e39..13d8304aa 100644
--- a/src/colour.cc
+++ b/src/colour.cc
@@ -19,7 +19,7 @@
#include "colour.hh"
#include <unistd.h>
-#include <paludis/getenv.hh>
+#include <paludis/util/getenv.hh>
bool use_colour()
{
diff --git a/src/colour.hh b/src/colour.hh
index d3430c576..75ef8ef91 100644
--- a/src/colour.hh
+++ b/src/colour.hh
@@ -21,7 +21,7 @@
#define PALUDIS_GUARD_SRC_COLOUR_HH 1
#include <string>
-#include <paludis/stringify.hh>
+#include <paludis/util/stringify.hh>
#include "src/command_line.hh"
enum Colour
diff --git a/src/command_line.hh b/src/command_line.hh
index 99adf2ecf..5beffb858 100644
--- a/src/command_line.hh
+++ b/src/command_line.hh
@@ -21,7 +21,7 @@
#define PALUDIS_GUARD_SRC_COMMAND_LINE_HH 1
#include <paludis/args/args.hh>
-#include <paludis/instantiation_policy.hh>
+#include <paludis/util/instantiation_policy.hh>
/** \file
* Declarations for the CommandLine class.
diff --git a/src/qualudis/Makefile.am b/src/qualudis/Makefile.am
index 0a53dca76..d682c1d51 100644
--- a/src/qualudis/Makefile.am
+++ b/src/qualudis/Makefile.am
@@ -13,6 +13,7 @@ qualudis_SOURCES = \
qualudis_LDADD = \
$(top_builddir)/paludis/args/libpaludisargs.a \
$(top_builddir)/paludis/qa/libpaludisqa.a \
+ $(top_builddir)/paludis/util/libpaludisutil.a \
$(top_builddir)/paludis/libpaludis.a
TESTS_ENVIRONMENT = env TEST_SCRIPT_DIR="$(srcdir)/" $(SHELL) $(top_srcdir)/test/run_test.sh bash
diff --git a/src/qualudis/qualudis.cc b/src/qualudis/qualudis.cc
index 71a1b525c..7e8e813ec 100644
--- a/src/qualudis/qualudis.cc
+++ b/src/qualudis/qualudis.cc
@@ -18,6 +18,7 @@
*/
#include <paludis/paludis.hh>
+#include <paludis/util/util.hh>
#include <paludis/args/args.hh>
#include <paludis/qa/qa.hh>
diff --git a/src/qualudis/qualudis_command_line.hh b/src/qualudis/qualudis_command_line.hh
index 73a7c8879..386349913 100644
--- a/src/qualudis/qualudis_command_line.hh
+++ b/src/qualudis/qualudis_command_line.hh
@@ -5,7 +5,7 @@
#include <paludis/args/args.hh>
#include <paludis/qa/qa.hh>
-#include <paludis/instantiation_policy.hh>
+#include <paludis/util/instantiation_policy.hh>
class QualudisCommandLine :
public paludis::args::ArgsHandler,
diff --git a/test/test_framework.cc b/test/test_framework.cc
index a4e5203b9..80759a243 100644
--- a/test/test_framework.cc
+++ b/test/test_framework.cc
@@ -18,7 +18,7 @@
*/
#include "test_framework.hh"
-#include <paludis/attributes.hh>
+#include <paludis/util/attributes.hh>
#include <iostream>
#include <algorithm>
#include <unistd.h>
diff --git a/test/test_framework.hh b/test/test_framework.hh
index d372a070b..4b539a719 100644
--- a/test/test_framework.hh
+++ b/test/test_framework.hh
@@ -20,7 +20,7 @@
#ifndef PALUDIS_GUARD_TEST_TEST_FRAMEWORK_HH
#define PALUDIS_GUARD_TEST_TEST_FRAMEWORK_HH 1
-#include <paludis/stringify.hh>
+#include <paludis/util/stringify.hh>
#include <string>
#include <memory>
#include <list>
diff --git a/test/test_runner.cc b/test/test_runner.cc
index 2db860729..fc16736fa 100644
--- a/test/test_runner.cc
+++ b/test/test_runner.cc
@@ -19,7 +19,7 @@
#include "test_runner.hh"
#include "test_framework.hh"
-#include <paludis/stringify.hh>
+#include <paludis/util/stringify.hh>
#include <iostream>
#include <fstream>
diff --git a/test/test_runner.hh b/test/test_runner.hh
index b6f98d7ac..7ae0e3f17 100644
--- a/test/test_runner.hh
+++ b/test/test_runner.hh
@@ -20,7 +20,7 @@
#ifndef PALUDIS_GUARD_TEST_TEST_RUNNER_HH
#define PALUDIS_GUARD_TEST_TEST_RUNNER_HH 1
-#include <paludis/attributes.hh>
+#include <paludis/util/attributes.hh>
/** \file
* Declarations for the default test runner.