aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2007-05-09 01:21:21 +0000
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2007-05-09 01:21:21 +0000
commit7345cddd8b0a1df596876c4e3f84f6a1c13e8413 (patch)
tree641b9f40a517b1e3e43d20b8a76fe3b10536e963
parentf813f298672f79f24aa2d651765aa10e267fa14f (diff)
downloadpaludis-7345cddd8b0a1df596876c4e3f84f6a1c13e8413.tar.gz
paludis-7345cddd8b0a1df596876c4e3f84f6a1c13e8413.tar.xz
Enable visibility support if --enable-visibility (needs GCC 4.1)
-rw-r--r--configure.ac15
-rwxr-xr-xmisc/make_se.bash2
-rw-r--r--paludis/Makefile.am.m45
-rw-r--r--paludis/args/Makefile.am19
-rw-r--r--paludis/args/man.hh6
-rw-r--r--paludis/config_file.hh12
-rw-r--r--paludis/config_file_TEST.cc2
-rw-r--r--paludis/contents.hh20
-rw-r--r--paludis/dep_list/dep_list.hh4
-rw-r--r--paludis/dep_list/dep_list.sr6
-rw-r--r--paludis/dep_list/exceptions.hh14
-rw-r--r--paludis/dep_list/range_rewriter.hh2
-rw-r--r--paludis/dep_list/uninstall_list.hh2
-rw-r--r--paludis/dep_list/uninstall_list.sr4
-rw-r--r--paludis/dep_spec.hh26
-rw-r--r--paludis/dep_spec_flattener.hh2
-rw-r--r--paludis/dep_spec_pretty_printer.hh4
-rw-r--r--paludis/dep_tag.hh14
-rw-r--r--paludis/dep_tag.sr2
-rw-r--r--paludis/digests/md5.hh10
-rw-r--r--paludis/digests/rmd160.hh12
-rw-r--r--paludis/digests/sha256.hh8
-rw-r--r--paludis/environment.hh2
-rw-r--r--paludis/environment.se2
-rw-r--r--paludis/environment_implementation.hh2
-rw-r--r--paludis/environments/Makefile.am2
-rw-r--r--paludis/environments/adapted/adapted_environment.hh2
-rw-r--r--paludis/environments/adapted/registration.cc2
-rw-r--r--paludis/environments/environment_maker.cc2
-rw-r--r--paludis/environments/environment_maker.hh6
-rw-r--r--paludis/environments/no_config/no_config_environment.sr2
-rw-r--r--paludis/environments/no_config/registration.cc2
-rw-r--r--paludis/environments/paludis/paludis_config.hh2
-rw-r--r--paludis/environments/paludis/registration.cc2
-rw-r--r--paludis/environments/portage/portage_environment.hh4
-rw-r--r--paludis/environments/portage/registration.cc2
-rw-r--r--paludis/environments/test/registration.cc2
-rw-r--r--paludis/hashed_containers.hh.in8
-rw-r--r--paludis/hashed_containers_TEST.cc4
-rw-r--r--paludis/hook.hh2
-rw-r--r--paludis/hooker.hh2
-rw-r--r--paludis/host_tuple_name.hh20
-rw-r--r--paludis/host_tuple_name.sr2
-rw-r--r--paludis/match_package.hh4
-rw-r--r--paludis/merger/merger.hh4
-rw-r--r--paludis/merger/merger.sr2
-rw-r--r--paludis/merger/unmerger.hh4
-rw-r--r--paludis/merger/unmerger.sr2
-rw-r--r--paludis/name.hh34
-rw-r--r--paludis/name.sr2
-rw-r--r--paludis/package_database_entry.hh4
-rw-r--r--paludis/package_database_entry.sr2
-rw-r--r--paludis/portage_dep_lexer.hh8
-rw-r--r--paludis/portage_dep_parser.hh10
-rw-r--r--paludis/qa/Makefile.am.m45
-rw-r--r--paludis/qa/create_metadata_check.hh4
-rw-r--r--paludis/qa/defaults_check.hh4
-rw-r--r--paludis/qa/deps_visible_check.hh4
-rw-r--r--paludis/qa/ebuild_check.hh2
-rw-r--r--paludis/qa/ebuild_check.sr2
-rw-r--r--paludis/qa/ebuild_name_check.hh2
-rw-r--r--paludis/qa/file_check.hh2
-rw-r--r--paludis/qa/file_permissions_check.hh4
-rw-r--r--paludis/qa/function_check.hh2
-rw-r--r--paludis/qa/glep_31_check.hh6
-rw-r--r--paludis/qa/gpg_check.hh2
-rw-r--r--paludis/qa/has_ebuilds_check.hh4
-rw-r--r--paludis/qa/has_misc_files_check.hh4
-rw-r--r--paludis/qa/message.hh7
-rw-r--r--paludis/qa/message.sr2
-rw-r--r--paludis/qa/metadata_file.hh4
-rw-r--r--paludis/qa/package_dir_check.hh6
-rw-r--r--paludis/qa/package_name_check.hh2
-rw-r--r--paludis/qa/per_profile_ebuild_check.hh2
-rw-r--r--paludis/qa/per_profile_ebuild_check.sr2
-rw-r--r--paludis/qa/profile_check.hh2
-rw-r--r--paludis/qa/profile_check.sr2
-rw-r--r--paludis/qa/profiles_check.hh2
-rw-r--r--paludis/qa/qa_environment.hh2
-rw-r--r--paludis/qa/qa_environment.sr2
-rw-r--r--paludis/qa/subshell_die_check.hh2
-rw-r--r--paludis/query.hh26
-rw-r--r--paludis/repositories/Makefile.am2
-rw-r--r--paludis/repositories/cran/Makefile.am2
-rw-r--r--paludis/repositories/cran/cran_installed_repository.sr2
-rw-r--r--paludis/repositories/cran/cran_repository.sr2
-rw-r--r--paludis/repositories/cran/registration.cc4
-rw-r--r--paludis/repositories/fake/fake_repository.cc2
-rw-r--r--paludis/repositories/gems/Makefile.am6
-rw-r--r--paludis/repositories/gems/cache.hh2
-rw-r--r--paludis/repositories/gems/gems_repository.sr4
-rw-r--r--paludis/repositories/gems/registration.cc4
-rw-r--r--paludis/repositories/gems/yaml.hh12
-rw-r--r--paludis/repositories/gentoo/glsa.sr2
-rw-r--r--paludis/repositories/gentoo/portage_repository_entries.hh2
-rw-r--r--paludis/repositories/gentoo/portage_repository_entry.cc32
-rw-r--r--paludis/repositories/gentoo/portage_repository_params.sr2
-rw-r--r--paludis/repositories/gentoo/portage_repository_sets.cc1
-rw-r--r--paludis/repositories/gentoo/registration.cc2
-rw-r--r--paludis/repositories/gentoo/vdb_repository.sr2
-rw-r--r--paludis/repositories/gentoo/vdb_unmerger.hh2
-rw-r--r--paludis/repositories/gentoo/xml_things.cc4
-rw-r--r--paludis/repositories/gentoo/xml_things.hh4
-rw-r--r--paludis/repositories/repository_maker.cc2
-rw-r--r--paludis/repositories/repository_maker.hh4
-rw-r--r--paludis/repositories/virtuals/registration.cc4
-rw-r--r--paludis/repository.hh55
-rw-r--r--paludis/repository.sr14
-rw-r--r--paludis/repository_name_cache.hh2
-rw-r--r--paludis/set_file.hh4
-rw-r--r--paludis/set_file.sr2
-rw-r--r--paludis/syncer.hh8
-rw-r--r--paludis/syncer.sr4
-rw-r--r--paludis/tasks/stage_builder_task.hh4
-rw-r--r--paludis/tasks/stage_options.sr2
-rw-r--r--paludis/util/Makefile.am.m45
-rw-r--r--paludis/util/attributes.hh3
-rw-r--r--paludis/util/compare.hh2
-rw-r--r--paludis/util/comparison_policy.hh15
-rw-r--r--paludis/util/fast_unique_copy_TEST.cc10
-rw-r--r--paludis/util/fs_entry.hh2
-rw-r--r--paludis/util/fs_entry_TEST.cc23
-rw-r--r--paludis/util/graph-impl.hh2
-rw-r--r--paludis/util/graph.hh10
-rw-r--r--paludis/util/graph_TEST.cc1
-rw-r--r--paludis/util/instantiation_policy_TEST.cc3
-rw-r--r--paludis/util/is_file_with_extension.hh4
-rw-r--r--paludis/util/iterator_TEST.cc6
-rw-r--r--paludis/util/log_TEST.cc10
-rw-r--r--paludis/util/options.hh2
-rw-r--r--paludis/util/sr.hh4
-rw-r--r--paludis/util/system.hh2
-rw-r--r--paludis/util/tokeniser_TEST.cc22
-rw-r--r--paludis/util/virtual_constructor_TEST.cc12
-rw-r--r--paludis/version_metadata.hh4
-rw-r--r--paludis/version_metadata.sr18
-rw-r--r--paludis/version_operator.hh11
-rw-r--r--paludis/version_requirements.sr2
-rw-r--r--paludis/version_spec.hh6
-rw-r--r--python/Makefile.am3
-rw-r--r--python/contents.cc3
-rw-r--r--python/dep_spec.cc2
-rw-r--r--python/environment.cc2
-rw-r--r--python/fs_entry.cc2
-rw-r--r--python/log.cc2
-rw-r--r--python/mask_reasons.cc2
-rw-r--r--python/name.cc2
-rw-r--r--python/package_database.cc2
-rw-r--r--python/portage_dep_parser.cc2
-rw-r--r--python/query.cc2
-rw-r--r--python/repository.cc2
-rw-r--r--python/version_metadata.cc2
-rw-r--r--python/version_operator.cc2
-rw-r--r--python/version_requirements.cc2
-rw-r--r--python/version_spec.cc2
-rw-r--r--ruby/Makefile.am3
-rw-r--r--ruby/paludis_ruby.cc2
-rw-r--r--ruby/paludis_ruby_so.cc3
-rw-r--r--src/clients/adjutrix/Makefile.am1
-rw-r--r--src/clients/contrarius/Makefile.am1
-rw-r--r--src/clients/inquisitio/Makefile.am1
-rw-r--r--src/clients/paludis/Makefile.am1
-rw-r--r--src/clients/qualudis/Makefile.am1
-rw-r--r--src/common_args/Makefile.am2
-rw-r--r--src/common_args/debug_build_arg.hh4
-rw-r--r--src/common_args/deps_option_arg.hh4
-rw-r--r--src/common_args/do_help.hh4
-rw-r--r--src/common_args/log_level_arg.hh4
-rw-r--r--src/output/Makefile.am2
-rw-r--r--src/output/colour.hh6
-rw-r--r--src/output/console_install_task.sr2
-rw-r--r--src/output/console_query_task.hh2
-rw-r--r--src/output/console_task.hh3
-rw-r--r--src/output/licence.hh2
-rw-r--r--src/output/use_flag_pretty_printer.hh2
-rw-r--r--test/Makefile.am2
176 files changed, 485 insertions, 431 deletions
diff --git a/configure.ac b/configure.ac
index 71d2a3e..a0f59ed 100644
--- a/configure.ac
+++ b/configure.ac
@@ -513,13 +513,12 @@ AC_SUBST([PALUDIS_CXXFLAGS_NO_WREDUNDANT_DECLS])
AC_SUBST([PALUDIS_CXXFLAGS_NO_WEXTRA])
AC_SUBST([PALUDIS_CXXFLAGS_NO_WUNUSED])
-dnl AC_MSG_CHECKING([whether to enable visibility])
-dnl AC_ARG_ENABLE([visibility],
-dnl AS_HELP_STRING([--enable-visibility], [Enable visibility (g++-4.1)]),
-dnl [ENABLE_VISIBILITY=$enableval],
-dnl [ENABLE_VISIBILITY=no])
-dnl AC_MSG_RESULT([$ENABLE_VISIBILITY])
-ENABLE_VISIBILITY=no
+AC_MSG_CHECKING([whether to enable visibility])
+AC_ARG_ENABLE([visibility],
+ AS_HELP_STRING([--enable-visibility], [Enable visibility (g++-4.1)]),
+ [ENABLE_VISIBILITY=$enableval],
+ [ENABLE_VISIBILITY=no])
+AC_MSG_RESULT([$ENABLE_VISIBILITY])
AC_SUBST([ENABLE_VISIBILITY])
if test "x$ENABLE_VISIBILITY" = "xyes" ; then
AC_MSG_CHECKING([for appropriate compiler visibility flags])
@@ -528,7 +527,7 @@ if test "x$ENABLE_VISIBILITY" = "xyes" ; then
CHECK_CXXFLAG([-fvisibility-inlines-hidden])
CHECK_CXXFLAG([-fvisibility=hidden])
AC_MSG_RESULT([$PALUDIS_CXXFLAGS])
- PALUDIS_CXXFLAGS_VISIBILITY=$PALUDIS_CXXFLAGS
+ PALUDIS_CXXFLAGS_VISIBILITY="$PALUDIS_CXXFLAGS -DPALUDIS_ENABLE_VISIBILITY=1"
PALUDIS_CXXFLAGS=$old_PALUDIS_CXXFLAGS
PALUDIS_ENABLE_VISIBILITY=1
else
diff --git a/misc/make_se.bash b/misc/make_se.bash
index b4ade3b..4fa2b9b 100755
--- a/misc/make_se.bash
+++ b/misc/make_se.bash
@@ -102,7 +102,7 @@ while read a ; do
echo " * Write a ${a} to a stream."
echo " */"
echo "std::ostream &"
- echo "operator<< (std::ostream &, const $a &);"
+ echo "operator<< (std::ostream &, const $a &) PALUDIS_VISIBLE;"
echo
echo "#ifdef DOXYGEN"
diff --git a/paludis/Makefile.am.m4 b/paludis/Makefile.am.m4
index 67e9867..07445d1 100644
--- a/paludis/Makefile.am.m4
+++ b/paludis/Makefile.am.m4
@@ -25,7 +25,7 @@ $1_TEST_LDADD = \
libpaludis.la \
$(top_builddir)/paludis/util/libpaludisutil.la \
$(DYNAMIC_LD_LIBS)
-$1_TEST_CXXFLAGS = -I$(top_srcdir)
+$1_TEST_CXXFLAGS = -I$(top_srcdir) $(AM_CXXFLAGS)
')dnl
define(`addtestscript', `define(`testscriptlist', testscriptlist `$1_TEST_setup.sh $1_TEST_cleanup.sh')')dnl
define(`addhh', `define(`filelist', filelist `$1.hh')define(`headerlist', headerlist `$1.hh')')dnl
@@ -66,13 +66,14 @@ ifelse(`$2', `testscript', `addtestscript(`$1')', `')')dnl
define(`add', `addthis(`$1',`$2')addthis(`$1',`$3')addthis(`$1',`$4')dnl
addthis(`$1',`$5')addthis(`$1',`$6')addthis(`$1',`$7')addthis(`$1',`$8')')dnl
+AM_CXXFLAGS = -I$(top_srcdir) @PALUDIS_CXXFLAGS@ @PALUDIS_CXXFLAGS_VISIBILITY@
+
include(`paludis/files.m4')
CLEANFILES = *~ gmon.out *.gcov *.gcno *.gcda ihateautomake.cc ihateautomake.o
MAINTAINERCLEANFILES = Makefile.in Makefile.am about.hh paludis.hh \
hashed_containers.hh
DISTCLEANFILES = srcleanlist secleanlist
-AM_CXXFLAGS = -I$(top_srcdir) @PALUDIS_CXXFLAGS@
DEFS= \
-DSYSCONFDIR=\"$(sysconfdir)\" \
-DLIBEXECDIR=\"$(libexecdir)\" \
diff --git a/paludis/args/Makefile.am b/paludis/args/Makefile.am
index 6e80c15..b2ee494 100644
--- a/paludis/args/Makefile.am
+++ b/paludis/args/Makefile.am
@@ -18,7 +18,7 @@ paludis_args_include_HEADERS = \
args_dumper.hh \
man.hh
-libpaludisargs_la_SOURCES = $(paludis_args_include_HEADERS) \
+libpaludisargs_la_SOURCES = \
args.cc \
args_error.cc \
args_group.cc \
@@ -26,32 +26,23 @@ libpaludisargs_la_SOURCES = $(paludis_args_include_HEADERS) \
args_option.cc \
bad_argument.cc \
args_visitor.cc \
- args_dumper.cc \
+ args_dumper.cc
+
+libpaludisman_a_SOURCES = \
man.cc
libpaludisargs_la_LDFLAGS = -version-info @VERSION_LIB_CURRENT@:@VERSION_LIB_REVISION@:0
-if ! MONOLITHIC
-
libpaludisargs_la_LIBADD = \
$(top_builddir)/paludis/util/libpaludisutil.la
-endif
-
TESTS_ENVIRONMENT = env PALUDIS_OPTIONS="" \
TEST_SCRIPT_DIR="$(srcdir)/" \
PALUDIS_REPOSITORY_SO_DIR="$(top_builddir)/paludis/repositories" \
bash $(top_srcdir)/test/run_test.sh
-if MONOLITHIC
-
-noinst_LTLIBRARIES = libpaludisargs.la
-
-else
-
lib_LTLIBRARIES = libpaludisargs.la
-
-endif
+noinst_LIBRARIES = libpaludisman.a
check_PROGRAMS = $(TESTS)
diff --git a/paludis/args/man.hh b/paludis/args/man.hh
index 99a9dc3..3475873 100644
--- a/paludis/args/man.hh
+++ b/paludis/args/man.hh
@@ -35,7 +35,7 @@ namespace paludis
*/
void generate_doc(DocWriter & dw, const ArgsHandler * const h) PALUDIS_VISIBLE;
- class DocWriter
+ class PALUDIS_VISIBLE DocWriter
{
public:
virtual ~DocWriter() = 0;
@@ -64,7 +64,7 @@ namespace paludis
virtual void paragraph(const std::string & text) = 0;
};
- class HtmlWriter :
+ class PALUDIS_VISIBLE HtmlWriter :
public DocWriter
{
private:
@@ -98,7 +98,7 @@ namespace paludis
void paragraph(const std::string & text);
};
- class ManWriter :
+ class PALUDIS_VISIBLE ManWriter :
public DocWriter
{
private:
diff --git a/paludis/config_file.hh b/paludis/config_file.hh
index d06f26b..7dc8a8b 100644
--- a/paludis/config_file.hh
+++ b/paludis/config_file.hh
@@ -51,7 +51,7 @@ namespace paludis
* \ingroup grpexceptions
* \nosubgrouping
*/
- class ConfigFileError :
+ class PALUDIS_VISIBLE ConfigFileError :
public ConfigurationError
{
public:
@@ -89,7 +89,7 @@ namespace paludis
* \ingroup grpconfigfile
* \nosubgrouping
*/
- class ConfigFile :
+ class PALUDIS_VISIBLE ConfigFile :
private InstantiationPolicy<ConfigFile, instantiation_method::NonCopyableTag>
{
public:
@@ -100,7 +100,7 @@ namespace paludis
* \ingroup grpconfigfile
* \nosubgrouping
*/
- class Source :
+ class PALUDIS_VISIBLE Source :
private PrivateImplementationPattern<Source>
{
public:
@@ -168,7 +168,7 @@ namespace paludis
* \ingroup grplineconfigfile
* \nosubgrouping
*/
- class LineConfigFile :
+ class PALUDIS_VISIBLE LineConfigFile :
public ConfigFile,
private PrivateImplementationPattern<LineConfigFile>
{
@@ -229,7 +229,7 @@ namespace paludis
* \ingroup grpkvconfigfile
* \nosubgrouping
*/
- class KeyValueConfigFile :
+ class PALUDIS_VISIBLE KeyValueConfigFile :
public ConfigFile,
private PrivateImplementationPattern<KeyValueConfigFile>
{
@@ -241,7 +241,7 @@ namespace paludis
* \see KeyValueConfigFile
* \nosubgrouping
*/
- class Defaults :
+ class PALUDIS_VISIBLE Defaults :
private PrivateImplementationPattern<Defaults>
{
public:
diff --git a/paludis/config_file_TEST.cc b/paludis/config_file_TEST.cc
index 022fe16..eb379dd 100644
--- a/paludis/config_file_TEST.cc
+++ b/paludis/config_file_TEST.cc
@@ -151,7 +151,7 @@ namespace test_cases
LineConfigFile ff(s, LineConfigFileOptions());
std::vector<std::string> f(ff.begin(), ff.end());
- TEST_CHECK_EQUAL(f.size(), 4);
+ TEST_CHECK_EQUAL(f.size(), std::size_t(4));
TEST_CHECK_EQUAL(f.at(0), "one");
TEST_CHECK_EQUAL(f.at(1), "two");
TEST_CHECK_EQUAL(f.at(2), "three");
diff --git a/paludis/contents.hh b/paludis/contents.hh
index e4023e5..4a35d62 100644
--- a/paludis/contents.hh
+++ b/paludis/contents.hh
@@ -58,7 +58,7 @@ namespace paludis
* \ingroup grpcontents
* \nosubgrouping
*/
- class ContentsEntry :
+ class PALUDIS_VISIBLE ContentsEntry :
private InstantiationPolicy<ContentsEntry, instantiation_method::NonCopyableTag>,
public virtual VisitableInterface<ContentsVisitorTypes>
{
@@ -91,7 +91,7 @@ namespace paludis
* \ingroup grpcontents
* \nosubgrouping
*/
- class ContentsFileEntry :
+ class PALUDIS_VISIBLE ContentsFileEntry :
public ContentsEntry,
public Visitable<ContentsFileEntry, ContentsVisitorTypes>
{
@@ -110,7 +110,7 @@ namespace paludis
* \ingroup grpcontents
* \nosubgrouping
*/
- class ContentsDirEntry :
+ class PALUDIS_VISIBLE ContentsDirEntry :
public ContentsEntry,
public Visitable<ContentsDirEntry, ContentsVisitorTypes>
{
@@ -129,7 +129,7 @@ namespace paludis
* \ingroup grpcontents
* \nosubgrouping
*/
- class ContentsMiscEntry :
+ class PALUDIS_VISIBLE ContentsMiscEntry :
public ContentsEntry,
public Visitable<ContentsMiscEntry, ContentsVisitorTypes>
{
@@ -148,7 +148,7 @@ namespace paludis
* \ingroup grpcontents
* \nosubgrouping
*/
- class ContentsFifoEntry :
+ class PALUDIS_VISIBLE ContentsFifoEntry :
public ContentsEntry,
public Visitable<ContentsFifoEntry, ContentsVisitorTypes>
{
@@ -167,7 +167,7 @@ namespace paludis
* \ingroup grpcontents
* \nosubgrouping
*/
- class ContentsDevEntry :
+ class PALUDIS_VISIBLE ContentsDevEntry :
public ContentsEntry,
public Visitable<ContentsDevEntry, ContentsVisitorTypes>
{
@@ -186,7 +186,7 @@ namespace paludis
* \ingroup grpcontents
* \nosubgrouping
*/
- class ContentsSymEntry :
+ class PALUDIS_VISIBLE ContentsSymEntry :
public ContentsEntry,
public Visitable<ContentsSymEntry, ContentsVisitorTypes>
{
@@ -211,7 +211,7 @@ namespace paludis
* \ingroup grpcontents
* \nosubgrouping
*/
- class Contents :
+ class PALUDIS_VISIBLE Contents :
private InstantiationPolicy<Contents, instantiation_method::NonCopyableTag>,
private PrivateImplementationPattern<Contents>
{
@@ -246,14 +246,14 @@ namespace paludis
*
* \ingroup grpcontents
*/
- std::ostream & operator<< (std::ostream &, const ContentsSymEntry &);
+ std::ostream & operator<< (std::ostream &, const ContentsSymEntry &) PALUDIS_VISIBLE;
/**
* Write a ContentsEntry to a stream
*
* \ingroup grpcontents
*/
- std::ostream & operator<< (std::ostream &, const ContentsEntry &);
+ std::ostream & operator<< (std::ostream &, const ContentsEntry &) PALUDIS_VISIBLE;
}
diff --git a/paludis/dep_list/dep_list.hh b/paludis/dep_list/dep_list.hh
index cf45b68..836bd42 100644
--- a/paludis/dep_list/dep_list.hh
+++ b/paludis/dep_list/dep_list.hh
@@ -46,7 +46,7 @@ namespace paludis
* \ingroup grpdepresolver
* \nosubgrouping
*/
- class DepList :
+ class PALUDIS_VISIBLE DepList :
private InstantiationPolicy<DepList, instantiation_method::NonCopyableTag>,
private PrivateImplementationPattern<DepList>
{
@@ -175,7 +175,7 @@ namespace paludis
* \ingroup grpdepresolver
*/
std::tr1::shared_ptr<DestinationsCollection> extract_dep_list_entry_destinations(
- std::tr1::shared_ptr<SortedCollection<DepListEntryDestination> >);
+ std::tr1::shared_ptr<SortedCollection<DepListEntryDestination> >) PALUDIS_VISIBLE;
}
#endif
diff --git a/paludis/dep_list/dep_list.sr b/paludis/dep_list/dep_list.sr
index c1ffe82..3e8b0e1 100644
--- a/paludis/dep_list/dep_list.sr
+++ b/paludis/dep_list/dep_list.sr
@@ -3,6 +3,8 @@
make_class_DepListOptions()
{
+ visible
+
key reinstall DepListReinstallOption
key reinstall_scm DepListReinstallScmOption
key target_type DepListTargetType
@@ -47,6 +49,8 @@ END
make_class_DepListEntryDestination()
{
+ visible
+
key destination "std::tr1::shared_ptr<Repository>"
key generation long
@@ -68,6 +72,8 @@ END
make_class_DepListEntry()
{
+ visible
+
key kind DepListEntryKind
key package PackageDatabaseEntry
diff --git a/paludis/dep_list/exceptions.hh b/paludis/dep_list/exceptions.hh
index df34668..d33be97 100644
--- a/paludis/dep_list/exceptions.hh
+++ b/paludis/dep_list/exceptions.hh
@@ -33,7 +33,7 @@ namespace paludis
* \ingroup grpexceptions
* \nosubgrouping
*/
- class DepListError : public Exception
+ class PALUDIS_VISIBLE DepListError : public Exception
{
protected:
///\name Basic operations
@@ -51,7 +51,7 @@ namespace paludis
* \ingroup grpexceptions
* \nosubgrouping
*/
- class AllMaskedError : public DepListError
+ class PALUDIS_VISIBLE AllMaskedError : public DepListError
{
private:
const PackageDepSpec _query;
@@ -85,7 +85,7 @@ namespace paludis
* \ingroup grpexceptions
* \nosubgrouping
*/
- class UseRequirementsNotMetError : public DepListError
+ class PALUDIS_VISIBLE UseRequirementsNotMetError : public DepListError
{
private:
std::string _query;
@@ -118,7 +118,7 @@ namespace paludis
* \ingroup grpdepresolver
* \nosubgrouping
*/
- class DowngradeNotAllowedError : public DepListError
+ class PALUDIS_VISIBLE DowngradeNotAllowedError : public DepListError
{
public:
///\name Basic operations
@@ -138,7 +138,7 @@ namespace paludis
* \ingroup grpexceptions
* \nosubgrouping
*/
- class BlockError : public DepListError
+ class PALUDIS_VISIBLE BlockError : public DepListError
{
public:
///\name Basic operations
@@ -156,7 +156,7 @@ namespace paludis
* \ingroup grpexceptions
* \nosubgrouping
*/
- class CircularDependencyError : public DepListError
+ class PALUDIS_VISIBLE CircularDependencyError : public DepListError
{
public:
///\name Basic operations
@@ -174,7 +174,7 @@ namespace paludis
* \ingroup grpexceptions
* \nosubgrouping
*/
- class NoDestinationError : public DepListError
+ class PALUDIS_VISIBLE NoDestinationError : public DepListError
{
public:
///\name Basic operations
diff --git a/paludis/dep_list/range_rewriter.hh b/paludis/dep_list/range_rewriter.hh
index 1a10a31..f146cd2 100644
--- a/paludis/dep_list/range_rewriter.hh
+++ b/paludis/dep_list/range_rewriter.hh
@@ -32,7 +32,7 @@ namespace paludis
* \ingroup grpdepresolver
* \nosubgrouping
*/
- class RangeRewriter :
+ class PALUDIS_VISIBLE RangeRewriter :
public DepSpecVisitorTypes::ConstVisitor
{
private:
diff --git a/paludis/dep_list/uninstall_list.hh b/paludis/dep_list/uninstall_list.hh
index 5b3f406..24519eb 100644
--- a/paludis/dep_list/uninstall_list.hh
+++ b/paludis/dep_list/uninstall_list.hh
@@ -40,7 +40,7 @@ namespace paludis
* \ingroup grpuninstalllist
* \nosubgrouping
*/
- class UninstallList :
+ class PALUDIS_VISIBLE UninstallList :
private PrivateImplementationPattern<UninstallList>,
public InstantiationPolicy<UninstallList, instantiation_method::NonCopyableTag>
{
diff --git a/paludis/dep_list/uninstall_list.sr b/paludis/dep_list/uninstall_list.sr
index 9a93807..71f6242 100644
--- a/paludis/dep_list/uninstall_list.sr
+++ b/paludis/dep_list/uninstall_list.sr
@@ -3,6 +3,8 @@
make_class_UninstallListOptions()
{
+ visible
+
key with_unused_dependencies bool
key with_dependencies bool
@@ -25,6 +27,8 @@ END
make_class_UninstallListEntry()
{
+ visible
+
key package PackageDatabaseEntry
key skip_uninstall bool
key tags "std::tr1::shared_ptr<SortedCollection<std::tr1::shared_ptr<DepTag> > >"
diff --git a/paludis/dep_spec.hh b/paludis/dep_spec.hh
index 6f1c3c0..507aae9 100644
--- a/paludis/dep_spec.hh
+++ b/paludis/dep_spec.hh
@@ -67,7 +67,7 @@ namespace paludis
* \ingroup grpdepspecs
* \nosubgrouping
*/
- class DepSpec :
+ class PALUDIS_VISIBLE DepSpec :
public virtual VisitableInterface<DepSpecVisitorTypes>,
private InstantiationPolicy<DepSpec, instantiation_method::NonCopyableTag>
{
@@ -109,7 +109,7 @@ namespace paludis
* \ingroup grpdepspecs
* \nosubgrouping
*/
- class CompositeDepSpec :
+ class PALUDIS_VISIBLE CompositeDepSpec :
public DepSpec,
private PrivateImplementationPattern<CompositeDepSpec>
{
@@ -159,7 +159,7 @@ namespace paludis
* \ingroup grpdepspecs
* \nosubgrouping
*/
- class AnyDepSpec :
+ class PALUDIS_VISIBLE AnyDepSpec :
public CompositeDepSpec,
public Visitable<AnyDepSpec, DepSpecVisitorTypes>
{
@@ -179,7 +179,7 @@ namespace paludis
* \ingroup grpdepspecs
* \nosubgrouping
*/
- class AllDepSpec :
+ class PALUDIS_VISIBLE AllDepSpec :
public CompositeDepSpec,
public Visitable<AllDepSpec, DepSpecVisitorTypes>
{
@@ -198,7 +198,7 @@ namespace paludis
* \ingroup grpdepspecs
* \nosubgrouping
*/
- class UseDepSpec :
+ class PALUDIS_VISIBLE UseDepSpec :
public CompositeDepSpec,
public Visitable<UseDepSpec, DepSpecVisitorTypes>
{
@@ -234,7 +234,7 @@ namespace paludis
* \ingroup grpdepspecs
* \nosubgrouping
*/
- class StringDepSpec :
+ class PALUDIS_VISIBLE StringDepSpec :
public DepSpec
{
private:
@@ -268,7 +268,7 @@ namespace paludis
* \ingroup grpdepspecs
* \nosubgrouping
*/
- class UseRequirements :
+ class PALUDIS_VISIBLE UseRequirements :
private PrivateImplementationPattern<UseRequirements>
{
public:
@@ -313,7 +313,7 @@ namespace paludis
* \ingroup grpdepspecs
* \nosubgrouping
*/
- class PackageDepSpec :
+ class PALUDIS_VISIBLE PackageDepSpec :
public StringDepSpec,
public Visitable<PackageDepSpec, DepSpecVisitorTypes>,
private PrivateImplementationPattern<PackageDepSpec>
@@ -436,7 +436,7 @@ namespace paludis
* \ingroup grpdepspecs
* \nosubgrouping
*/
- class PlainTextDepSpec :
+ class PALUDIS_VISIBLE PlainTextDepSpec :
public StringDepSpec,
public Visitable<PlainTextDepSpec, DepSpecVisitorTypes>
{
@@ -454,7 +454,7 @@ namespace paludis
*
* \ingroup grpdepspecs
*/
- std::ostream & operator<< (std::ostream &, const PlainTextDepSpec &);
+ std::ostream & operator<< (std::ostream &, const PlainTextDepSpec &) PALUDIS_VISIBLE;
/**
* Thrown if an invalid package dep spec specification is encountered.
@@ -463,7 +463,7 @@ namespace paludis
* \ingroup grpdepspecs
* \nosubgrouping
*/
- class PackageDepSpecError :
+ class PALUDIS_VISIBLE PackageDepSpecError :
public Exception
{
public:
@@ -480,7 +480,7 @@ namespace paludis
*
* \ingroup grpdepspecs
*/
- std::ostream & operator<< (std::ostream &, const PackageDepSpec &);
+ std::ostream & operator<< (std::ostream &, const PackageDepSpec &) PALUDIS_VISIBLE;
/**
* A BlockDepSpec represents a block on a package name (for example,
@@ -490,7 +490,7 @@ namespace paludis
* \ingroup grpdepspecs
* \nosubgrouping
*/
- class BlockDepSpec :
+ class PALUDIS_VISIBLE BlockDepSpec :
public StringDepSpec,
public Visitable<BlockDepSpec, DepSpecVisitorTypes>
{
diff --git a/paludis/dep_spec_flattener.hh b/paludis/dep_spec_flattener.hh
index 169b26d..17afff6 100644
--- a/paludis/dep_spec_flattener.hh
+++ b/paludis/dep_spec_flattener.hh
@@ -46,7 +46,7 @@ namespace paludis
* \ingroup grpdepspecflattener
* \nosubgrouping
*/
- class DepSpecFlattener :
+ class PALUDIS_VISIBLE DepSpecFlattener :
private InstantiationPolicy<DepSpecFlattener, instantiation_method::NonCopyableTag>,
protected DepSpecVisitorTypes::ConstVisitor,
private PrivateImplementationPattern<DepSpecFlattener>
diff --git a/paludis/dep_spec_pretty_printer.hh b/paludis/dep_spec_pretty_printer.hh
index f844966..8fde14d 100644
--- a/paludis/dep_spec_pretty_printer.hh
+++ b/paludis/dep_spec_pretty_printer.hh
@@ -36,7 +36,7 @@ namespace paludis
*
* \ingroup grpdepspecprettyprinter
*/
- class DepSpecPrettyPrinter :
+ class PALUDIS_VISIBLE DepSpecPrettyPrinter :
public DepSpecVisitorTypes::ConstVisitor
{
friend std::ostream & operator<< (std::ostream &, const DepSpecPrettyPrinter &);
@@ -81,7 +81,7 @@ namespace paludis
*
* \ingroup grpdepspecprettyprinter
*/
- std::ostream & operator<< (std::ostream & s, const DepSpecPrettyPrinter & p);
+ std::ostream & operator<< (std::ostream & s, const DepSpecPrettyPrinter & p) PALUDIS_VISIBLE;
}
#endif
diff --git a/paludis/dep_tag.hh b/paludis/dep_tag.hh
index 4e121c1..dc1d4b6 100644
--- a/paludis/dep_tag.hh
+++ b/paludis/dep_tag.hh
@@ -51,7 +51,7 @@ namespace paludis
* \ingroup grpdeptag
* \nosubgrouping
*/
- class DepTagCategory :
+ class PALUDIS_VISIBLE DepTagCategory :
private InstantiationPolicy<DepTagCategory, instantiation_method::NonCopyableTag>
{
private:
@@ -108,7 +108,7 @@ namespace paludis
* \ingroup grpdeptag
* \nosubgrouping
*/
- class NoSuchDepTagCategory :
+ class PALUDIS_VISIBLE NoSuchDepTagCategory :
public Exception
{
public:
@@ -125,7 +125,7 @@ namespace paludis
*
* \ingroup grpdeptag
*/
- class DepTagCategoryMaker :
+ class PALUDIS_VISIBLE DepTagCategoryMaker :
public VirtualConstructor<std::string, std::tr1::shared_ptr<const DepTagCategory> (*) (),
virtual_constructor_not_found::ThrowException<NoSuchDepTagCategory> >,
public InstantiationPolicy<DepTagCategoryMaker, instantiation_method::SingletonTag>
@@ -159,7 +159,7 @@ namespace paludis
* \ingroup grpdeptag
* \nosubgrouping
*/
- class DepTag :
+ class PALUDIS_VISIBLE DepTag :
InstantiationPolicy<DepTag, instantiation_method::NonCopyableTag>,
public virtual VisitableInterface<DepTagVisitorTypes>,
public ComparisonPolicy<DepTag,
@@ -195,7 +195,7 @@ namespace paludis
* \ingroup grpdeptag
* \nosubgrouping
*/
- class GLSADepTag :
+ class PALUDIS_VISIBLE GLSADepTag :
public DepTag,
public Visitable<GLSADepTag, DepTagVisitorTypes>
{
@@ -228,7 +228,7 @@ namespace paludis
* \ingroup grpdeptag
* \nosubgrouping
*/
- class GeneralSetDepTag :
+ class PALUDIS_VISIBLE GeneralSetDepTag :
public DepTag,
public Visitable<GeneralSetDepTag, DepTagVisitorTypes>
{
@@ -260,7 +260,7 @@ namespace paludis
* \ingroup grpdeptag
* \nosubgrouping
*/
- class DependencyDepTag :
+ class PALUDIS_VISIBLE DependencyDepTag :
public DepTag,
public Visitable<DependencyDepTag, DepTagVisitorTypes>
{
diff --git a/paludis/dep_tag.sr b/paludis/dep_tag.sr
index 474e525..580dcae 100644
--- a/paludis/dep_tag.sr
+++ b/paludis/dep_tag.sr
@@ -1,5 +1,7 @@
make_class_DepTagEntry()
{
+ visible
+
key tag "std::tr1::shared_ptr<const DepTag>"
key generation long
diff --git a/paludis/digests/md5.hh b/paludis/digests/md5.hh
index e4da004..0da3f4c 100644
--- a/paludis/digests/md5.hh
+++ b/paludis/digests/md5.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006 Ciaran McCreesh <ciaranm@ciaranm.org>
+ * Copyright (c) 2006, 2007 Ciaran McCreesh <ciaranm@ciaranm.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
@@ -35,15 +35,15 @@ namespace paludis
class PALUDIS_VISIBLE MD5
{
private:
- static const uint32_t _t[64];
- static const uint8_t _s[64];
+ static const PALUDIS_HIDDEN uint32_t _t[64];
+ static const PALUDIS_HIDDEN uint8_t _s[64];
uint32_t _r[4];
uint64_t _size;
bool _done_one_pad;
- void _update(const uint8_t * const block);
+ void PALUDIS_HIDDEN _update(const uint8_t * const block);
- inline int _get(std::istream & stream);
+ inline int PALUDIS_HIDDEN _get(std::istream & stream);
public:
/**
diff --git a/paludis/digests/rmd160.hh b/paludis/digests/rmd160.hh
index dddae28..1d6a7ed 100644
--- a/paludis/digests/rmd160.hh
+++ b/paludis/digests/rmd160.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006 Ciaran McCreesh <ciaranm@ciaranm.org>
+ * Copyright (c) 2006, 2007 Ciaran McCreesh <ciaranm@ciaranm.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
@@ -35,17 +35,17 @@ namespace paludis
class PALUDIS_VISIBLE RMD160
{
private:
- static const uint8_t _r[80], _rp[80];
- static const uint8_t _s[80], _sp[80];
- static const uint32_t _k[5], _kp[5];
+ static const PALUDIS_HIDDEN uint8_t _r[80], _rp[80];
+ static const PALUDIS_HIDDEN uint8_t _s[80], _sp[80];
+ static const PALUDIS_HIDDEN uint32_t _k[5], _kp[5];
uint32_t _h[5];
uint64_t _size;
bool _done_one_pad;
- void _update(const uint8_t * const block);
+ void PALUDIS_HIDDEN _update(const uint8_t * const block);
- inline int _get(std::istream & stream);
+ inline int PALUDIS_HIDDEN _get(std::istream & stream);
public:
/**
diff --git a/paludis/digests/sha256.hh b/paludis/digests/sha256.hh
index 72852c3..f29fef8 100644
--- a/paludis/digests/sha256.hh
+++ b/paludis/digests/sha256.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006 Ciaran McCreesh <ciaranm@ciaranm.org>
+ * Copyright (c) 2006, 2007 Ciaran McCreesh <ciaranm@ciaranm.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
@@ -35,15 +35,15 @@ namespace paludis
class PALUDIS_VISIBLE SHA256
{
private:
- static const uint32_t _k[64];
+ static const PALUDIS_HIDDEN uint32_t _k[64];
uint32_t _h[8];
uint64_t _size;
bool _done_one_pad;
- void _update(const uint8_t * const block);
+ void PALUDIS_HIDDEN _update(const uint8_t * const block);
- inline int _get(std::istream & stream);
+ inline int PALUDIS_HIDDEN _get(std::istream & stream);
public:
/**
diff --git a/paludis/environment.hh b/paludis/environment.hh
index 2dca949..36ea97c 100644
--- a/paludis/environment.hh
+++ b/paludis/environment.hh
@@ -79,7 +79,7 @@ namespace paludis
* \see EnvironmentImplementation
* \nosubgrouping
*/
- class Environment :
+ class PALUDIS_VISIBLE Environment :
private InstantiationPolicy<Environment, instantiation_method::NonCopyableTag>
{
public:
diff --git a/paludis/environment.se b/paludis/environment.se
index e4bf5c6..c7d1798 100644
--- a/paludis/environment.se
+++ b/paludis/environment.se
@@ -3,6 +3,8 @@
make_enum_MaskReasonsOption()
{
+ visible
+
prefix mro
key mro_override_unkeyworded "Ignore keyword masks for unkeyworded packages"
diff --git a/paludis/environment_implementation.hh b/paludis/environment_implementation.hh
index 111f2dd..8520af8 100644
--- a/paludis/environment_implementation.hh
+++ b/paludis/environment_implementation.hh
@@ -33,7 +33,7 @@ namespace paludis
* \ingroup grpenvironment
* \see Environment
*/
- class EnvironmentImplementation :
+ class PALUDIS_VISIBLE EnvironmentImplementation :
public Environment
{
protected:
diff --git a/paludis/environments/Makefile.am b/paludis/environments/Makefile.am
index f16dc65..db3d704 100644
--- a/paludis/environments/Makefile.am
+++ b/paludis/environments/Makefile.am
@@ -26,7 +26,7 @@ libpaludisenvironments_la_LIBADD = \
$(top_builddir)/paludis/libpaludis.la \
@DYNAMIC_LD_LIBS@
-AM_CXXFLAGS = -I$(top_srcdir) @PALUDIS_CXXFLAGS@
+AM_CXXFLAGS = -I$(top_srcdir) @PALUDIS_CXXFLAGS@ @PALUDIS_CXXFLAGS_VISIBILITY@
DEFS= \
-DSYSCONFDIR=\"$(sysconfdir)\" \
-DLIBEXECDIR=\"$(libexecdir)\" \
diff --git a/paludis/environments/adapted/adapted_environment.hh b/paludis/environments/adapted/adapted_environment.hh
index 5555d9e..7cff193 100644
--- a/paludis/environments/adapted/adapted_environment.hh
+++ b/paludis/environments/adapted/adapted_environment.hh
@@ -34,7 +34,7 @@ namespace paludis
* \ingroup grpadaptedenvironment
* \nosubgrouping
*/
- class AdaptedEnvironment :
+ class PALUDIS_VISIBLE AdaptedEnvironment :
public Environment,
private PrivateImplementationPattern<AdaptedEnvironment>
{
diff --git a/paludis/environments/adapted/registration.cc b/paludis/environments/adapted/registration.cc
index 18d5e2d..6f3cb20 100644
--- a/paludis/environments/adapted/registration.cc
+++ b/paludis/environments/adapted/registration.cc
@@ -23,7 +23,7 @@ using namespace paludis;
extern "C"
{
- void register_environments(EnvironmentMaker * maker);
+ void PALUDIS_VISIBLE register_environments(EnvironmentMaker * maker);
}
void register_environments(EnvironmentMaker *)
diff --git a/paludis/environments/environment_maker.cc b/paludis/environments/environment_maker.cc
index 5bf897b..f7e5a67 100644
--- a/paludis/environments/environment_maker.cc
+++ b/paludis/environments/environment_maker.cc
@@ -173,7 +173,7 @@ FallBackToAnotherMakerError::FallBackToAnotherMakerError()
extern "C"
{
- void register_environments(EnvironmentMaker * maker);
+ void PALUDIS_VISIBLE register_environments(EnvironmentMaker * maker);
}
void register_environments(EnvironmentMaker *)
diff --git a/paludis/environments/environment_maker.hh b/paludis/environments/environment_maker.hh
index 1a81c24..11cb915 100644
--- a/paludis/environments/environment_maker.hh
+++ b/paludis/environments/environment_maker.hh
@@ -36,7 +36,7 @@ namespace paludis
* \ingroup grpenvironment
* \nosubgrouping
*/
- class NoSuchEnvironmentTypeError : public ConfigurationError
+ class PALUDIS_VISIBLE NoSuchEnvironmentTypeError : public ConfigurationError
{
public:
/**
@@ -64,7 +64,7 @@ namespace paludis
* \ingroup grpexceptions
* \ingroup grprepository
*/
- class PaludisEnvironmentSoDirCannotDlopenError :
+ class PALUDIS_VISIBLE PaludisEnvironmentSoDirCannotDlopenError :
public Exception
{
private:
@@ -92,7 +92,7 @@ namespace paludis
* \ingroup grpenvironment
* \nosubgrouping
*/
- class FallBackToAnotherMakerError
+ class PALUDIS_VISIBLE FallBackToAnotherMakerError
{
protected:
///\name Basic operations
diff --git a/paludis/environments/no_config/no_config_environment.sr b/paludis/environments/no_config/no_config_environment.sr
index 82127cb..d305a87 100644
--- a/paludis/environments/no_config/no_config_environment.sr
+++ b/paludis/environments/no_config/no_config_environment.sr
@@ -3,6 +3,8 @@
make_class_NoConfigEnvironmentParams()
{
+ visible
+
key repository_dir "FSEntry"
key write_cache "FSEntry"
key accept_unstable bool
diff --git a/paludis/environments/no_config/registration.cc b/paludis/environments/no_config/registration.cc
index e027b70..46d0efb 100644
--- a/paludis/environments/no_config/registration.cc
+++ b/paludis/environments/no_config/registration.cc
@@ -24,7 +24,7 @@ using namespace paludis;
extern "C"
{
- void register_environments(EnvironmentMaker * maker);
+ void PALUDIS_VISIBLE register_environments(EnvironmentMaker * maker);
}
void register_environments(EnvironmentMaker *)
diff --git a/paludis/environments/paludis/paludis_config.hh b/paludis/environments/paludis/paludis_config.hh
index 1c8585c..c685d42 100644
--- a/paludis/environments/paludis/paludis_config.hh
+++ b/paludis/environments/paludis/paludis_config.hh
@@ -102,7 +102,7 @@ namespace paludis
* \ingroup grppaludisconfig
* \nosubgrouping
*/
- class PALUDIS_VISIBLE PaludisConfig :
+ class PaludisConfig :
private PrivateImplementationPattern<PaludisConfig>
{
public:
diff --git a/paludis/environments/paludis/registration.cc b/paludis/environments/paludis/registration.cc
index 8cde7b0..eba6dcc 100644
--- a/paludis/environments/paludis/registration.cc
+++ b/paludis/environments/paludis/registration.cc
@@ -33,7 +33,7 @@ namespace
extern "C"
{
- void register_environments(EnvironmentMaker * maker);
+ void PALUDIS_VISIBLE register_environments(EnvironmentMaker * maker);
}
void register_environments(EnvironmentMaker * maker)
diff --git a/paludis/environments/portage/portage_environment.hh b/paludis/environments/portage/portage_environment.hh
index 28a70f0..c42af6c 100644
--- a/paludis/environments/portage/portage_environment.hh
+++ b/paludis/environments/portage/portage_environment.hh
@@ -31,7 +31,7 @@ namespace paludis
* \ingroup grpexceptions
* \nosubgrouping
*/
- class PortageEnvironmentConfigurationError :
+ class PALUDIS_VISIBLE PortageEnvironmentConfigurationError :
public ConfigurationError
{
public:
@@ -49,7 +49,7 @@ namespace paludis
* \ingroup grpportageenvironment
* \nosubgrouping
*/
- class PortageEnvironment :
+ class PALUDIS_VISIBLE PortageEnvironment :
public EnvironmentImplementation,
private PrivateImplementationPattern<PortageEnvironment>
{
diff --git a/paludis/environments/portage/registration.cc b/paludis/environments/portage/registration.cc
index 5aaea44..904308c 100644
--- a/paludis/environments/portage/registration.cc
+++ b/paludis/environments/portage/registration.cc
@@ -33,7 +33,7 @@ namespace
extern "C"
{
- void register_environments(EnvironmentMaker * maker);
+ void PALUDIS_VISIBLE register_environments(EnvironmentMaker * maker);
}
void register_environments(EnvironmentMaker * maker)
diff --git a/paludis/environments/test/registration.cc b/paludis/environments/test/registration.cc
index 6a6f867..04b0993 100644
--- a/paludis/environments/test/registration.cc
+++ b/paludis/environments/test/registration.cc
@@ -24,7 +24,7 @@ using namespace paludis;
extern "C"
{
- void register_environments(EnvironmentMaker * maker);
+ void PALUDIS_VISIBLE register_environments(EnvironmentMaker * maker);
}
void register_environments(EnvironmentMaker *)
diff --git a/paludis/hashed_containers.hh.in b/paludis/hashed_containers.hh.in
index 756f879..f3aeb62 100644
--- a/paludis/hashed_containers.hh.in
+++ b/paludis/hashed_containers.hh.in
@@ -3,7 +3,7 @@
@GENERATED_FILE@
/*
- * Copyright (c) 2006 Ciaran McCreesh <ciaranm@ciaranm.org>
+ * Copyright (c) 2006, 2007 Ciaran McCreesh <ciaranm@ciaranm.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
@@ -211,7 +211,7 @@ namespace paludis
* \ingroup grphashedcontainers
*/
template <>
- class CRCHash<QualifiedPackageName> :
+ class PALUDIS_VISIBLE CRCHash<QualifiedPackageName> :
public std::unary_function<QualifiedPackageName, std::size_t>,
protected hashed_containers_internals::CRCHashBase
{
@@ -269,7 +269,7 @@ namespace paludis
* \ingroup grphashedcontainers
*/
template<>
- class CRCHash<std::string> :
+ class PALUDIS_VISIBLE CRCHash<std::string> :
public std::unary_function<std::string, std::size_t>,
protected hashed_containers_internals::CRCHashBase
{
@@ -297,7 +297,7 @@ namespace paludis
* \ingroup grphashedcontainers
*/
template <>
- class CRCHash<std::pair<QualifiedPackageName, VersionSpec> > :
+ class PALUDIS_VISIBLE CRCHash<std::pair<QualifiedPackageName, VersionSpec> > :
public std::unary_function<std::pair<QualifiedPackageName, VersionSpec>, std::size_t>,
protected hashed_containers_internals::CRCHashBase
{
diff --git a/paludis/hashed_containers_TEST.cc b/paludis/hashed_containers_TEST.cc
index 65c58bc..4451ea8 100644
--- a/paludis/hashed_containers_TEST.cc
+++ b/paludis/hashed_containers_TEST.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006 Ciaran McCreesh <ciaranm@ciaranm.org>
+ * Copyright (c) 2006, 2007 Ciaran McCreesh <ciaranm@ciaranm.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
@@ -35,7 +35,7 @@ namespace test_cases
void run()
{
- TEST_CHECK_EQUAL(47503, (CRCHash<std::string>()("moo") & 0xffff));
+ TEST_CHECK_EQUAL(std::size_t(47503), (CRCHash<std::string>()("moo") & 0xffff));
}
} test_crc_hash;
diff --git a/paludis/hook.hh b/paludis/hook.hh
index 0ac74ed..ee0c1bd 100644
--- a/paludis/hook.hh
+++ b/paludis/hook.hh
@@ -34,7 +34,7 @@ namespace paludis
* \ingroup grpenvironment
* \nosubgrouping
*/
- class Hook :
+ class PALUDIS_VISIBLE Hook :
private PrivateImplementationPattern<Hook>
{
public:
diff --git a/paludis/hooker.hh b/paludis/hooker.hh
index a1c372a..48c493c 100644
--- a/paludis/hooker.hh
+++ b/paludis/hooker.hh
@@ -35,7 +35,7 @@ namespace paludis
* \ingroup grphooker
* \nosubgrouping
*/
- class Hooker :
+ class PALUDIS_VISIBLE Hooker :
private PrivateImplementationPattern<Hooker>,
private InstantiationPolicy<Hooker, instantiation_method::NonCopyableTag>
{
diff --git a/paludis/host_tuple_name.hh b/paludis/host_tuple_name.hh
index 0acd840..348208e 100644
--- a/paludis/host_tuple_name.hh
+++ b/paludis/host_tuple_name.hh
@@ -45,7 +45,7 @@ namespace paludis
* \ingroup grphosttuplename
* \ingroup grpexceptions
*/
- class HostTupleNameError : public NameError
+ class PALUDIS_VISIBLE HostTupleNameError : public NameError
{
public:
///\name Basic operations
@@ -67,7 +67,7 @@ namespace paludis
* \ingroup grphosttuplename
* \ingroup grpexceptions
*/
- class ArchitectureNamePartError : public HostTupleNameError
+ class PALUDIS_VISIBLE ArchitectureNamePartError : public HostTupleNameError
{
public:
/**
@@ -83,7 +83,7 @@ namespace paludis
* \ingroup grpnames
* \ingroup grphosttuplename
*/
- struct ArchitectureNamePartValidator :
+ struct PALUDIS_VISIBLE ArchitectureNamePartValidator :
private InstantiationPolicy<ArchitectureNamePartValidator, instantiation_method::NonInstantiableTag>
{
/**
@@ -110,7 +110,7 @@ namespace paludis
* \ingroup grphosttuplename
* \ingroup grpexceptions
*/
- class ManufacturerNamePartError : public HostTupleNameError
+ class PALUDIS_VISIBLE ManufacturerNamePartError : public HostTupleNameError
{
public:
/**
@@ -126,7 +126,7 @@ namespace paludis
* \ingroup grpnames
* \ingroup grphosttuplename
*/
- struct ManufacturerNamePartValidator :
+ struct PALUDIS_VISIBLE ManufacturerNamePartValidator :
private InstantiationPolicy<ManufacturerNamePartValidator, instantiation_method::NonInstantiableTag>
{
/**
@@ -153,7 +153,7 @@ namespace paludis
* \ingroup grphosttuplename
* \ingroup grpexceptions
*/
- class KernelNamePartError : public HostTupleNameError
+ class PALUDIS_VISIBLE KernelNamePartError : public HostTupleNameError
{
public:
/**
@@ -169,7 +169,7 @@ namespace paludis
* \ingroup grpnames
* \ingroup grphosttuplename
*/
- struct KernelNamePartValidator :
+ struct PALUDIS_VISIBLE KernelNamePartValidator :
private InstantiationPolicy<KernelNamePartValidator, instantiation_method::NonInstantiableTag>
{
/**
@@ -196,7 +196,7 @@ namespace paludis
* \ingroup grphosttuplename
* \ingroup grpexceptions
*/
- class UserlandNamePartError : public HostTupleNameError
+ class PALUDIS_VISIBLE UserlandNamePartError : public HostTupleNameError
{
public:
/**
@@ -212,7 +212,7 @@ namespace paludis
* \ingroup grpnames
* \ingroup grphosttuplename
*/
- struct UserlandNamePartValidator :
+ struct PALUDIS_VISIBLE UserlandNamePartValidator :
private InstantiationPolicy<UserlandNamePartValidator, instantiation_method::NonInstantiableTag>
{
/**
@@ -240,7 +240,7 @@ namespace paludis
* \ingroup grpnames
* \ingroup grphosttuplename
*/
- std::ostream & operator<< (std::ostream &, const HostTupleName &);
+ std::ostream & operator<< (std::ostream &, const HostTupleName &) PALUDIS_VISIBLE;
}
#endif
diff --git a/paludis/host_tuple_name.sr b/paludis/host_tuple_name.sr
index 9c15705..7c1b660 100644
--- a/paludis/host_tuple_name.sr
+++ b/paludis/host_tuple_name.sr
@@ -3,6 +3,8 @@
make_class_HostTupleName()
{
+ visible
+
key architecture ArchitectureNamePart
key manufacturer ManufacturerNamePart
key kernel KernelNamePart
diff --git a/paludis/match_package.hh b/paludis/match_package.hh
index 5f04647..875f2b9 100644
--- a/paludis/match_package.hh
+++ b/paludis/match_package.hh
@@ -31,7 +31,7 @@ namespace paludis
const Environment & env,
const PackageDepSpec & spec,
const PackageDatabaseEntry & target)
- PALUDIS_ATTRIBUTE((warn_unused_result));
+ PALUDIS_ATTRIBUTE((warn_unused_result)) PALUDIS_VISIBLE;
/**
* Return whether the specified spec matches the specified target, for heirarchies.
@@ -42,7 +42,7 @@ namespace paludis
const Environment & env,
const DepSpec & spec,
const PackageDatabaseEntry & target)
- PALUDIS_ATTRIBUTE((warn_unused_result));
+ PALUDIS_ATTRIBUTE((warn_unused_result)) PALUDIS_VISIBLE;
}
#endif
diff --git a/paludis/merger/merger.hh b/paludis/merger/merger.hh
index 1902247..7f2ac7d 100644
--- a/paludis/merger/merger.hh
+++ b/paludis/merger/merger.hh
@@ -40,7 +40,7 @@ namespace paludis
* \ingroup grpexceptions
* \nosubgrouping
*/
- class MergerError :
+ class PALUDIS_VISIBLE MergerError :
public Exception
{
public:
@@ -59,7 +59,7 @@ namespace paludis
* \ingroup grpexceptions
* \nosubgrouping
*/
- class Merger
+ class PALUDIS_VISIBLE Merger
{
private:
MergerOptions _options;
diff --git a/paludis/merger/merger.sr b/paludis/merger/merger.sr
index cbf3526..f71d934 100644
--- a/paludis/merger/merger.sr
+++ b/paludis/merger/merger.sr
@@ -3,6 +3,8 @@
make_class_MergerOptions()
{
+ visible
+
key environment "Environment *"
key image "FSEntry"
key root "FSEntry"
diff --git a/paludis/merger/unmerger.hh b/paludis/merger/unmerger.hh
index ec68b67..6f7560b 100644
--- a/paludis/merger/unmerger.hh
+++ b/paludis/merger/unmerger.hh
@@ -38,7 +38,7 @@ namespace paludis
* \ingroup grpexceptions
* \nosubgrouping
*/
- class UnmergerError :
+ class PALUDIS_VISIBLE UnmergerError :
public Exception
{
public:
@@ -56,7 +56,7 @@ namespace paludis
* \ingroup grpunmerger
* \nosubgrouping
*/
- class Unmerger
+ class PALUDIS_VISIBLE Unmerger
{
private:
UnmergerOptions _options;
diff --git a/paludis/merger/unmerger.sr b/paludis/merger/unmerger.sr
index 170452c..9453dea 100644
--- a/paludis/merger/unmerger.sr
+++ b/paludis/merger/unmerger.sr
@@ -3,6 +3,8 @@
make_class_UnmergerOptions()
{
+ visible
+
key environment "Environment *"
key root "FSEntry"
diff --git a/paludis/name.hh b/paludis/name.hh
index fe313b5..6a7340f 100644
--- a/paludis/name.hh
+++ b/paludis/name.hh
@@ -44,7 +44,7 @@ namespace paludis
* \ingroup grpnames
* \ingroup grpexceptions
*/
- class PackageNamePartError : public NameError
+ class PALUDIS_VISIBLE PackageNamePartError : public NameError
{
public:
/**
@@ -59,7 +59,7 @@ namespace paludis
*
* \ingroup grpnames
*/
- struct PackageNamePartValidator :
+ struct PALUDIS_VISIBLE PackageNamePartValidator :
private InstantiationPolicy<PackageNamePartValidator, instantiation_method::NonInstantiableTag>
{
/**
@@ -91,7 +91,7 @@ namespace paludis
* \ingroup grpexceptions
* \ingroup grpnames
*/
- class CategoryNamePartError : public NameError
+ class PALUDIS_VISIBLE CategoryNamePartError : public NameError
{
public:
/**
@@ -106,7 +106,7 @@ namespace paludis
*
* \ingroup grpnames
*/
- struct CategoryNamePartValidator :
+ struct PALUDIS_VISIBLE CategoryNamePartValidator :
private InstantiationPolicy<CategoryNamePartValidator, instantiation_method::NonInstantiableTag>
{
/**
@@ -138,7 +138,7 @@ namespace paludis
*
* \ingroup grpnames
*/
- std::ostream & operator<< (std::ostream &, const QualifiedPackageName &);
+ std::ostream & operator<< (std::ostream &, const QualifiedPackageName &) PALUDIS_VISIBLE;
/**
* Holds a collection of QualifiedPackageName instances.
@@ -155,7 +155,7 @@ namespace paludis
* \ingroup grpnames
* \ingroup grpexceptions
*/
- class QualifiedPackageNameError : public NameError
+ class PALUDIS_VISIBLE QualifiedPackageNameError : public NameError
{
public:
/**
@@ -183,7 +183,7 @@ namespace paludis
* \ingroup grpnames
* \ingroup grpexceptions
*/
- class UseFlagNameError : public NameError
+ class PALUDIS_VISIBLE UseFlagNameError : public NameError
{
public:
/**
@@ -198,7 +198,7 @@ namespace paludis
*
* \ingroup grpnames
*/
- struct UseFlagNameValidator :
+ struct PALUDIS_VISIBLE UseFlagNameValidator :
private InstantiationPolicy<UseFlagNameValidator, instantiation_method::NonInstantiableTag>
{
/**
@@ -229,7 +229,7 @@ namespace paludis
* \ingroup grpnames
* \ingroup grpexceptions
*/
- class SlotNameError : public NameError
+ class PALUDIS_VISIBLE SlotNameError : public NameError
{
public:
/**
@@ -244,7 +244,7 @@ namespace paludis
*
* \ingroup grpnames
*/
- struct SlotNameValidator :
+ struct PALUDIS_VISIBLE SlotNameValidator :
private InstantiationPolicy<SlotNameValidator, instantiation_method::NonInstantiableTag>
{
/**
@@ -268,7 +268,7 @@ namespace paludis
* \ingroup grpexceptions
* \ingroup grpnames
*/
- class RepositoryNameError : public NameError
+ class PALUDIS_VISIBLE RepositoryNameError : public NameError
{
public:
/**
@@ -283,7 +283,7 @@ namespace paludis
*
* \ingroup grpnames
*/
- struct RepositoryNameValidator :
+ struct PALUDIS_VISIBLE RepositoryNameValidator :
private InstantiationPolicy<RepositoryNameValidator, instantiation_method::NonInstantiableTag>
{
/**
@@ -313,7 +313,7 @@ namespace paludis
*
* \ingroup grpnames
*/
- struct RepositoryNameComparator
+ struct PALUDIS_VISIBLE RepositoryNameComparator
{
/**
* Perform the comparison.
@@ -330,7 +330,7 @@ namespace paludis
*
* \ingroup grpnames
*/
- struct KeywordNameValidator :
+ struct PALUDIS_VISIBLE KeywordNameValidator :
private InstantiationPolicy<KeywordNameValidator, instantiation_method::NonInstantiableTag>
{
/**
@@ -347,7 +347,7 @@ namespace paludis
* \ingroup grpnames
* \ingroup grpexceptions
*/
- class KeywordNameError : public NameError
+ class PALUDIS_VISIBLE KeywordNameError : public NameError
{
public:
/**
@@ -378,7 +378,7 @@ namespace paludis
*
* \ingroup grpnames
*/
- struct SetNameValidator :
+ struct PALUDIS_VISIBLE SetNameValidator :
private InstantiationPolicy<SetNameValidator, instantiation_method::NonInstantiableTag>
{
/**
@@ -395,7 +395,7 @@ namespace paludis
* \ingroup grpnames
* \ingroup grpexceptions
*/
- class SetNameError : public NameError
+ class PALUDIS_VISIBLE SetNameError : public NameError
{
public:
/**
diff --git a/paludis/name.sr b/paludis/name.sr
index 4762b55..8579a0d 100644
--- a/paludis/name.sr
+++ b/paludis/name.sr
@@ -3,6 +3,8 @@
make_class_QualifiedPackageName()
{
+ visible
+
key category CategoryNamePart
key package PackageNamePart
diff --git a/paludis/package_database_entry.hh b/paludis/package_database_entry.hh
index 0d31662..1be3342 100644
--- a/paludis/package_database_entry.hh
+++ b/paludis/package_database_entry.hh
@@ -40,7 +40,7 @@ namespace paludis
/**
* Comparator for ArbitrarilyOrderedPackageDatabaseEntryCollection.
*/
- struct ArbitrarilyOrderedPackageDatabaseEntryCollectionComparator
+ struct PALUDIS_VISIBLE ArbitrarilyOrderedPackageDatabaseEntryCollectionComparator
{
/**
* Perform the comparison.
@@ -58,7 +58,7 @@ namespace paludis
/**
* A PackageDatabaseEntry can be written to a stream.
*/
- std::ostream & operator<< (std::ostream &, const PackageDatabaseEntry &);
+ std::ostream & operator<< (std::ostream &, const PackageDatabaseEntry &) PALUDIS_VISIBLE;
}
#endif
diff --git a/paludis/package_database_entry.sr b/paludis/package_database_entry.sr
index f9ba658..61087ad 100644
--- a/paludis/package_database_entry.sr
+++ b/paludis/package_database_entry.sr
@@ -3,6 +3,8 @@
make_class_PackageDatabaseEntry()
{
+ visible
+
key name QualifiedPackageName
key version VersionSpec
key repository RepositoryName
diff --git a/paludis/portage_dep_lexer.hh b/paludis/portage_dep_lexer.hh
index c3356e6..4bc4171 100644
--- a/paludis/portage_dep_lexer.hh
+++ b/paludis/portage_dep_lexer.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006 Ciaran McCreesh <ciaranm@ciaranm.org>
+ * Copyright (c) 2005, 2006, 2007 Ciaran McCreesh <ciaranm@ciaranm.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
@@ -42,7 +42,7 @@ namespace paludis
* \ingroup grpdeplexer
* \ingroup grpexceptions
*/
- class DepStringError : public Exception
+ class PALUDIS_VISIBLE DepStringError : public Exception
{
protected:
/**
@@ -59,7 +59,7 @@ namespace paludis
* \ingroup grpdeplexer
* \ingroup grpexceptions
*/
- class DepStringLexError : public DepStringError
+ class PALUDIS_VISIBLE DepStringLexError : public DepStringError
{
public:
/**
@@ -94,7 +94,7 @@ namespace paludis
* \ingroup grpdeplexer
* \nosubgrouping
*/
- class PortageDepLexer :
+ class PALUDIS_VISIBLE PortageDepLexer :
private InstantiationPolicy<PortageDepLexer, instantiation_method::NonCopyableTag>,
private PrivateImplementationPattern<PortageDepLexer>
{
diff --git a/paludis/portage_dep_parser.hh b/paludis/portage_dep_parser.hh
index 000ab84..9e0ff2a 100644
--- a/paludis/portage_dep_parser.hh
+++ b/paludis/portage_dep_parser.hh
@@ -41,7 +41,7 @@ namespace paludis
* \ingroup grpexceptions
* \ingroup grpdepparser
*/
- class DepStringParseError : public DepStringError
+ class PALUDIS_VISIBLE DepStringParseError : public DepStringError
{
public:
/**
@@ -58,7 +58,7 @@ namespace paludis
* \ingroup grpexceptions
* \ingroup grpdepparser
*/
- class DepStringNestingError : public DepStringParseError
+ class PALUDIS_VISIBLE DepStringNestingError : public DepStringParseError
{
public:
/**
@@ -74,7 +74,7 @@ namespace paludis
*
* \ingroup grpdepparser
*/
- struct PortageDepParserPolicyInterface
+ struct PALUDIS_VISIBLE PortageDepParserPolicyInterface
{
/**
* Create a new text spec from the provided string.
@@ -101,7 +101,7 @@ namespace paludis
*
* \ingroup grpdepparser
*/
- class PortageDepParser :
+ class PALUDIS_VISIBLE PortageDepParser :
private InstantiationPolicy<PortageDepParser, instantiation_method::NonInstantiableTag>
{
public:
@@ -111,7 +111,7 @@ namespace paludis
* \see PortageDepParser
* \ingroup grpdepparser
*/
- class Policy
+ class PALUDIS_VISIBLE Policy
{
private:
const bool _permit_any_deps;
diff --git a/paludis/qa/Makefile.am.m4 b/paludis/qa/Makefile.am.m4
index bdb0203..fdacbdf 100644
--- a/paludis/qa/Makefile.am.m4
+++ b/paludis/qa/Makefile.am.m4
@@ -24,7 +24,7 @@ $1_TEST_LDADD = \
$(DYNAMIC_LD_LIBS) \
$(PCREPLUSPLUS_LIBS) \
$(LIBXML2DEPS_LIBS)
-$1_TEST_CXXFLAGS = -I$(top_srcdir) @PALUDIS_CXXFLAGS@
+$1_TEST_CXXFLAGS = -I$(top_srcdir) $(AM_CXXFLAGS)
')dnl
define(`addtestscript', `define(`testscriptlist', testscriptlist `$1_TEST_setup.sh $1_TEST_cleanup.sh')')dnl
define(`addhh', `define(`filelist', filelist `$1.hh')define(`headerlist', headerlist `$1.hh')')dnl
@@ -52,6 +52,8 @@ ifelse(`$2', `testscript', `addtestscript(`$1')', `')')dnl
define(`add', `addthis(`$1',`$2')addthis(`$1',`$3')addthis(`$1',`$4')dnl
addthis(`$1',`$5')addthis(`$1',`$6')addthis(`$1',`$7')')dnl
+AM_CXXFLAGS = -I$(top_srcdir) @PALUDIS_CXXFLAGS@ @PALUDIS_CXXFLAGS_VISIBILITY@
+
include(`paludis/qa/files.m4')
if ENABLE_QA
@@ -111,7 +113,6 @@ CLEANFILES = *~ gmon.out *.gcov *.gcno *.gcda
MAINTAINERCLEANFILES = Makefile.in Makefile.am qa.hh
DISTCLEANFILES = srcleanlist
BUILT_SOURCES = srcleanlist qa.hh
-AM_CXXFLAGS = -I$(top_srcdir) @PALUDIS_CXXFLAGS@ @PALUDIS_CXXFLAGS_VISIBILITY@
DEFS= \
-DSYSCONFDIR=\"$(sysconfdir)\" \
-DLIBEXECDIR=\"$(libexecdir)\" \
diff --git a/paludis/qa/create_metadata_check.hh b/paludis/qa/create_metadata_check.hh
index 77714b6..ed68e57 100644
--- a/paludis/qa/create_metadata_check.hh
+++ b/paludis/qa/create_metadata_check.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006 Ciaran McCreesh <ciaranm@ciaranm.org>
+ * Copyright (c) 2006, 2007 Ciaran McCreesh <ciaranm@ciaranm.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
@@ -40,7 +40,7 @@ namespace paludis
CheckResult operator() (const EbuildCheckData &) const;
- static const std::string & identifier();
+ static const PALUDIS_VISIBLE std::string & identifier();
virtual std::string describe() const
{
diff --git a/paludis/qa/defaults_check.hh b/paludis/qa/defaults_check.hh
index c29a50f..a5e0801 100644
--- a/paludis/qa/defaults_check.hh
+++ b/paludis/qa/defaults_check.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006 Ciaran McCreesh <ciaranm@ciaranm.org>
+ * Copyright (c) 2006, 2007 Ciaran McCreesh <ciaranm@ciaranm.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
@@ -41,7 +41,7 @@ namespace paludis
CheckResult operator() (const FSEntry &) const;
- static const std::string & identifier();
+ static const PALUDIS_VISIBLE std::string & identifier();
virtual std::string describe() const
{
diff --git a/paludis/qa/deps_visible_check.hh b/paludis/qa/deps_visible_check.hh
index ad26f63..96ad874 100644
--- a/paludis/qa/deps_visible_check.hh
+++ b/paludis/qa/deps_visible_check.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006 Ciaran McCreesh <ciaranm@ciaranm.org>
+ * Copyright (c) 2006, 2007 Ciaran McCreesh <ciaranm@ciaranm.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
@@ -40,7 +40,7 @@ namespace paludis
CheckResult operator() (const PerProfileEbuildCheckData &) const;
- static const std::string & identifier();
+ static const PALUDIS_VISIBLE std::string & identifier();
virtual std::string describe() const
{
diff --git a/paludis/qa/ebuild_check.hh b/paludis/qa/ebuild_check.hh
index f003359..b3bf7cc 100644
--- a/paludis/qa/ebuild_check.hh
+++ b/paludis/qa/ebuild_check.hh
@@ -85,7 +85,7 @@ namespace paludis
*
* \ingroup grpqa
*/
- class EbuildCheckMaker :
+ class PALUDIS_VISIBLE EbuildCheckMaker :
public VirtualConstructor<std::string, std::tr1::shared_ptr<EbuildCheck> (*) (),
virtual_constructor_not_found::ThrowException<NoSuchEbuildCheckTypeError> >,
public InstantiationPolicy<EbuildCheckMaker, instantiation_method::SingletonTag>
diff --git a/paludis/qa/ebuild_check.sr b/paludis/qa/ebuild_check.sr
index 19bb8b1..418918a 100644
--- a/paludis/qa/ebuild_check.sr
+++ b/paludis/qa/ebuild_check.sr
@@ -3,6 +3,8 @@
make_class_EbuildCheckData()
{
+ visible
+
key name QualifiedPackageName
key version VersionSpec
key environment "const QAEnvironment *"
diff --git a/paludis/qa/ebuild_name_check.hh b/paludis/qa/ebuild_name_check.hh
index 9035173..d073ab9 100644
--- a/paludis/qa/ebuild_name_check.hh
+++ b/paludis/qa/ebuild_name_check.hh
@@ -40,7 +40,7 @@ namespace paludis
CheckResult operator() (const FSEntry &) const;
- static const std::string & identifier();
+ static const PALUDIS_VISIBLE std::string & identifier();
virtual std::string describe() const
{
diff --git a/paludis/qa/file_check.hh b/paludis/qa/file_check.hh
index bbe55b9..02db64e 100644
--- a/paludis/qa/file_check.hh
+++ b/paludis/qa/file_check.hh
@@ -81,7 +81,7 @@ namespace paludis
*
* \ingroup grpqa
*/
- class FileCheckMaker :
+ class PALUDIS_VISIBLE FileCheckMaker :
public VirtualConstructor<std::string, std::tr1::shared_ptr<FileCheck> (*) (),
virtual_constructor_not_found::ThrowException<NoSuchFileCheckTypeError> >,
public InstantiationPolicy<FileCheckMaker, instantiation_method::SingletonTag>
diff --git a/paludis/qa/file_permissions_check.hh b/paludis/qa/file_permissions_check.hh
index 807b7fa..9ad9b87 100644
--- a/paludis/qa/file_permissions_check.hh
+++ b/paludis/qa/file_permissions_check.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006 Ciaran McCreesh <ciaranm@ciaranm.org>
+ * Copyright (c) 2006, 2007 Ciaran McCreesh <ciaranm@ciaranm.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
@@ -40,7 +40,7 @@ namespace paludis
CheckResult operator() (const FSEntry &) const;
- static const std::string & identifier();
+ static const PALUDIS_VISIBLE std::string & identifier();
virtual std::string describe() const
{
diff --git a/paludis/qa/function_check.hh b/paludis/qa/function_check.hh
index 0fea495..adc651c 100644
--- a/paludis/qa/function_check.hh
+++ b/paludis/qa/function_check.hh
@@ -40,7 +40,7 @@ namespace paludis
CheckResult operator() (const FSEntry &) const;
- static const std::string & identifier();
+ static const PALUDIS_VISIBLE std::string & identifier();
virtual std::string describe() const
{
diff --git a/paludis/qa/glep_31_check.hh b/paludis/qa/glep_31_check.hh
index 9f47d37..2f7cb49 100644
--- a/paludis/qa/glep_31_check.hh
+++ b/paludis/qa/glep_31_check.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006 Ciaran McCreesh <ciaranm@ciaranm.org>
+ * Copyright (c) 2006, 2007 Ciaran McCreesh <ciaranm@ciaranm.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
@@ -41,9 +41,9 @@ namespace paludis
CheckResult operator() (const FSEntry &) const;
- static const std::string & identifier();
+ static const PALUDIS_VISIBLE std::string & identifier();
- static void check_utf8(std::istream &, CheckResult &);
+ static void PALUDIS_VISIBLE check_utf8(std::istream &, CheckResult &);
virtual std::string describe() const
{
diff --git a/paludis/qa/gpg_check.hh b/paludis/qa/gpg_check.hh
index 07b4317..022c2ee 100644
--- a/paludis/qa/gpg_check.hh
+++ b/paludis/qa/gpg_check.hh
@@ -40,7 +40,7 @@ namespace paludis
CheckResult operator() (const FSEntry &) const;
- static const std::string & identifier();
+ static const PALUDIS_VISIBLE std::string & identifier();
virtual std::string describe() const
{
diff --git a/paludis/qa/has_ebuilds_check.hh b/paludis/qa/has_ebuilds_check.hh
index 424a671..ad6f858 100644
--- a/paludis/qa/has_ebuilds_check.hh
+++ b/paludis/qa/has_ebuilds_check.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006 Ciaran McCreesh <ciaranm@ciaranm.org>
+ * Copyright (c) 2006, 2007 Ciaran McCreesh <ciaranm@ciaranm.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
@@ -40,7 +40,7 @@ namespace paludis
CheckResult operator() (const FSEntry &) const;
- static const std::string & identifier();
+ static const PALUDIS_VISIBLE std::string & identifier();
virtual std::string describe() const
{
diff --git a/paludis/qa/has_misc_files_check.hh b/paludis/qa/has_misc_files_check.hh
index bfa9c2e..a3bf993 100644
--- a/paludis/qa/has_misc_files_check.hh
+++ b/paludis/qa/has_misc_files_check.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006 Ciaran McCreesh <ciaranm@ciaranm.org>
+ * Copyright (c) 2006, 2007 Ciaran McCreesh <ciaranm@ciaranm.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
@@ -40,7 +40,7 @@ namespace paludis
CheckResult operator() (const FSEntry &) const;
- static const std::string & identifier();
+ static const PALUDIS_VISIBLE std::string & identifier();
virtual std::string describe() const
{
diff --git a/paludis/qa/message.hh b/paludis/qa/message.hh
index 507bbe6..1503a0a 100644
--- a/paludis/qa/message.hh
+++ b/paludis/qa/message.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006 Ciaran McCreesh <ciaranm@ciaranm.org>
+ * Copyright (c) 2006, 2007 Ciaran McCreesh <ciaranm@ciaranm.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
@@ -22,6 +22,7 @@
#include <string>
#include <iosfwd>
+#include <paludis/util/attributes.hh>
/** \file
* Declarations for the Message class.
@@ -56,14 +57,14 @@ namespace paludis
*
* \ingroup grpqa
*/
- std::ostream & operator<< (std::ostream &, const Message &);
+ std::ostream & operator<< (std::ostream &, const Message &) PALUDIS_VISIBLE;
/**
* Write a QALevel to a stream.
*
* \ingroup grpqa
*/
- std::ostream & operator<< (std::ostream &, const QALevel &);
+ std::ostream & operator<< (std::ostream &, const QALevel &) PALUDIS_VISIBLE;
}
}
diff --git a/paludis/qa/message.sr b/paludis/qa/message.sr
index 870da85..8328ac6 100644
--- a/paludis/qa/message.sr
+++ b/paludis/qa/message.sr
@@ -3,6 +3,8 @@
make_class_Message()
{
+ visible
+
key level QALevel
key msg std::string
diff --git a/paludis/qa/metadata_file.hh b/paludis/qa/metadata_file.hh
index 996a621..849928f 100644
--- a/paludis/qa/metadata_file.hh
+++ b/paludis/qa/metadata_file.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006 Ciaran McCreesh <ciaranm@ciaranm.org>
+ * Copyright (c) 2006, 2007 Ciaran McCreesh <ciaranm@ciaranm.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
@@ -34,7 +34,7 @@ namespace paludis
*
* \ingroup grpqa
*/
- class MetadataFile :
+ class PALUDIS_VISIBLE MetadataFile :
public PrivateImplementationPattern<MetadataFile>
{
public:
diff --git a/paludis/qa/package_dir_check.hh b/paludis/qa/package_dir_check.hh
index 9bb61f0..50872e8 100644
--- a/paludis/qa/package_dir_check.hh
+++ b/paludis/qa/package_dir_check.hh
@@ -41,7 +41,7 @@ namespace paludis
*
* \ingroup grpqa
*/
- class PackageDirCheck :
+ class PALUDIS_VISIBLE PackageDirCheck :
public Check
{
protected:
@@ -56,7 +56,7 @@ namespace paludis
*
* \ingroup grpexceptions
*/
- class NoSuchPackageDirCheckTypeError :
+ class PALUDIS_VISIBLE NoSuchPackageDirCheckTypeError :
public Exception
{
public:
@@ -85,7 +85,7 @@ namespace paludis
*
* \ingroup grpqa
*/
- class PackageDirCheckMaker :
+ class PALUDIS_VISIBLE PackageDirCheckMaker :
public VirtualConstructor<std::string, std::tr1::shared_ptr<PackageDirCheck> (*) (),
virtual_constructor_not_found::ThrowException<NoSuchPackageDirCheckTypeError> >,
public InstantiationPolicy<PackageDirCheckMaker, instantiation_method::SingletonTag>
diff --git a/paludis/qa/package_name_check.hh b/paludis/qa/package_name_check.hh
index f48da7d..e6afaa0 100644
--- a/paludis/qa/package_name_check.hh
+++ b/paludis/qa/package_name_check.hh
@@ -40,7 +40,7 @@ namespace paludis
CheckResult operator() (const FSEntry &) const;
- static const std::string & identifier();
+ static const PALUDIS_VISIBLE std::string & identifier();
virtual std::string describe() const
{
diff --git a/paludis/qa/per_profile_ebuild_check.hh b/paludis/qa/per_profile_ebuild_check.hh
index 120a69d..b0030f0 100644
--- a/paludis/qa/per_profile_ebuild_check.hh
+++ b/paludis/qa/per_profile_ebuild_check.hh
@@ -85,7 +85,7 @@ namespace paludis
*
* \ingroup grpqa
*/
- class PerProfileEbuildCheckMaker :
+ class PALUDIS_VISIBLE PerProfileEbuildCheckMaker :
public VirtualConstructor<std::string, std::tr1::shared_ptr<PerProfileEbuildCheck> (*) (),
virtual_constructor_not_found::ThrowException<NoSuchPerProfileEbuildCheckTypeError> >,
public InstantiationPolicy<PerProfileEbuildCheckMaker, instantiation_method::SingletonTag>
diff --git a/paludis/qa/per_profile_ebuild_check.sr b/paludis/qa/per_profile_ebuild_check.sr
index 03de3ea..f739d4e 100644
--- a/paludis/qa/per_profile_ebuild_check.sr
+++ b/paludis/qa/per_profile_ebuild_check.sr
@@ -3,6 +3,8 @@
make_class_PerProfileEbuildCheckData()
{
+ visible
+
key name QualifiedPackageName
key version VersionSpec
key environment "QAEnvironment *"
diff --git a/paludis/qa/profile_check.hh b/paludis/qa/profile_check.hh
index 4b87303..5ad2c85 100644
--- a/paludis/qa/profile_check.hh
+++ b/paludis/qa/profile_check.hh
@@ -85,7 +85,7 @@ namespace paludis
*
* \ingroup grpqa
*/
- class ProfileCheckMaker :
+ class PALUDIS_VISIBLE ProfileCheckMaker :
public VirtualConstructor<std::string, std::tr1::shared_ptr<ProfileCheck> (*) (),
virtual_constructor_not_found::ThrowException<NoSuchProfileCheckTypeError> >,
public InstantiationPolicy<ProfileCheckMaker, instantiation_method::SingletonTag>
diff --git a/paludis/qa/profile_check.sr b/paludis/qa/profile_check.sr
index a807f2d..dac668e 100644
--- a/paludis/qa/profile_check.sr
+++ b/paludis/qa/profile_check.sr
@@ -3,6 +3,8 @@
make_class_ProfileCheckData()
{
+ visible
+
key profiles_dir FSEntry
key profiles_desc_line RepositoryPortageInterface::ProfilesDescLine
diff --git a/paludis/qa/profiles_check.hh b/paludis/qa/profiles_check.hh
index a952657..33f4329 100644
--- a/paludis/qa/profiles_check.hh
+++ b/paludis/qa/profiles_check.hh
@@ -81,7 +81,7 @@ namespace paludis
*
* \ingroup grpqa
*/
- class ProfilesCheckMaker :
+ class PALUDIS_VISIBLE ProfilesCheckMaker :
public VirtualConstructor<std::string, std::tr1::shared_ptr<ProfilesCheck> (*) (),
virtual_constructor_not_found::ThrowException<NoSuchProfilesCheckTypeError> >,
public InstantiationPolicy<ProfilesCheckMaker, instantiation_method::SingletonTag>
diff --git a/paludis/qa/qa_environment.hh b/paludis/qa/qa_environment.hh
index a75b31b..1d24078 100644
--- a/paludis/qa/qa_environment.hh
+++ b/paludis/qa/qa_environment.hh
@@ -40,7 +40,7 @@ namespace paludis
* The QAEnvironment is an Environment that corresponds to the environment
* used by Qualudis for QA checks.
*/
- class QAEnvironment :
+ class PALUDIS_VISIBLE QAEnvironment :
public NoConfigEnvironment
{
private:
diff --git a/paludis/qa/qa_environment.sr b/paludis/qa/qa_environment.sr
index 42d8482..41f13ad 100644
--- a/paludis/qa/qa_environment.sr
+++ b/paludis/qa/qa_environment.sr
@@ -3,6 +3,8 @@
make_class_PackageDatabasesEntry()
{
+ visible
+
key arch UseFlagName
key location FSEntry
key status std::string
diff --git a/paludis/qa/subshell_die_check.hh b/paludis/qa/subshell_die_check.hh
index b398f2c..56da19e 100644
--- a/paludis/qa/subshell_die_check.hh
+++ b/paludis/qa/subshell_die_check.hh
@@ -40,7 +40,7 @@ namespace paludis
CheckResult operator() (const FSEntry &) const;
- static const std::string & identifier();
+ static const PALUDIS_VISIBLE std::string & identifier();
virtual std::string describe() const
{
diff --git a/paludis/query.hh b/paludis/query.hh
index a8325ce..95a71f7 100644
--- a/paludis/query.hh
+++ b/paludis/query.hh
@@ -43,7 +43,7 @@ namespace paludis
* \see Query
* \ingroup grpquery
*/
- class QueryDelegate
+ class PALUDIS_VISIBLE QueryDelegate
{
protected:
///\name Basic operations
@@ -110,7 +110,7 @@ namespace paludis
* \ingroup grpquery
* \nosubgrouping
*/
- class Query
+ class PALUDIS_VISIBLE Query
{
friend Query operator& (const Query &, const Query &);
@@ -175,7 +175,7 @@ namespace paludis
* \ingroup grpquery
* \nosubgrouping
*/
- class Matches :
+ class PALUDIS_VISIBLE Matches :
public Query
{
public:
@@ -195,7 +195,7 @@ namespace paludis
* \ingroup grpquerybase::query
* \nosubgrouping
*/
- class Package :
+ class PALUDIS_VISIBLE Package :
public Query
{
public:
@@ -215,7 +215,7 @@ namespace paludis
* \ingroup grpquerybase::query
* \nosubgrouping
*/
- class Repository :
+ class PALUDIS_VISIBLE Repository :
public Query
{
public:
@@ -235,7 +235,7 @@ namespace paludis
* \ingroup grpquerybase::query
* \nosubgrouping
*/
- class Category :
+ class PALUDIS_VISIBLE Category :
public Query
{
public:
@@ -255,7 +255,7 @@ namespace paludis
* \ingroup grpquerybase::query
* \nosubgrouping
*/
- class NotMasked :
+ class PALUDIS_VISIBLE NotMasked :
public Query
{
public:
@@ -276,7 +276,7 @@ namespace paludis
* \ingroup grpquerybase::query
* \nosubgrouping
*/
- class RepositoryHasInstalledInterface :
+ class PALUDIS_VISIBLE RepositoryHasInstalledInterface :
public Query
{
public:
@@ -297,7 +297,7 @@ namespace paludis
* \ingroup grpquery
* \nosubgrouping
*/
- class RepositoryHasInstallableInterface :
+ class PALUDIS_VISIBLE RepositoryHasInstallableInterface :
public Query
{
public:
@@ -318,7 +318,7 @@ namespace paludis
* \ingroup grpquery
* \nosubgrouping
*/
- class RepositoryHasUninstallableInterface :
+ class PALUDIS_VISIBLE RepositoryHasUninstallableInterface :
public Query
{
public:
@@ -338,7 +338,7 @@ namespace paludis
* \ingroup grpquery
* \nosubgrouping
*/
- class InstalledAtRoot :
+ class PALUDIS_VISIBLE InstalledAtRoot :
public Query
{
public:
@@ -358,7 +358,7 @@ namespace paludis
* \ingroup grpquery
* \nosubgrouping
*/
- class All :
+ class PALUDIS_VISIBLE All :
public Query
{
public:
@@ -379,7 +379,7 @@ namespace paludis
* \see PackageDatabase::query
* \ingroup grpquery
*/
- Query operator& (const Query &, const Query &);
+ Query operator& (const Query &, const Query &) PALUDIS_VISIBLE;
}
#endif
diff --git a/paludis/repositories/Makefile.am b/paludis/repositories/Makefile.am
index d4cf1f6..db733f4 100644
--- a/paludis/repositories/Makefile.am
+++ b/paludis/repositories/Makefile.am
@@ -48,7 +48,7 @@ libpaludisrepositories_la_LIBADD = \
endif
-AM_CXXFLAGS = -I$(top_srcdir) @PALUDIS_CXXFLAGS@
+AM_CXXFLAGS = -I$(top_srcdir) @PALUDIS_CXXFLAGS@ @PALUDIS_CXXFLAGS_VISIBILITY@
DEFS= \
-DSYSCONFDIR=\"$(sysconfdir)\" \
-DLIBEXECDIR=\"$(libexecdir)\" \
diff --git a/paludis/repositories/cran/Makefile.am b/paludis/repositories/cran/Makefile.am
index 683abfc..2558131 100644
--- a/paludis/repositories/cran/Makefile.am
+++ b/paludis/repositories/cran/Makefile.am
@@ -73,7 +73,7 @@ cran_repository_TEST_LDADD = \
$(top_builddir)/paludis/environments/test/libpaludistestenvironment.la \
$(DYNAMIC_LD_LIBS)
-cran_repository_TEST_CXXFLAGS = -I$(top_srcdir)
+cran_repository_TEST_CXXFLAGS = -I$(top_srcdir) $(AM_CXXFLAGS)
EXTRA_DIST = \
cran_repository_TEST.cc \
diff --git a/paludis/repositories/cran/cran_installed_repository.sr b/paludis/repositories/cran/cran_installed_repository.sr
index 1444c16..150c7d9 100644
--- a/paludis/repositories/cran/cran_installed_repository.sr
+++ b/paludis/repositories/cran/cran_installed_repository.sr
@@ -3,6 +3,8 @@
make_class_CRANInstalledRepositoryParams()
{
+ visible
+
key environment "const Environment *"
key location FSEntry
key root FSEntry
diff --git a/paludis/repositories/cran/cran_repository.sr b/paludis/repositories/cran/cran_repository.sr
index 3644430..2b0dc91 100644
--- a/paludis/repositories/cran/cran_repository.sr
+++ b/paludis/repositories/cran/cran_repository.sr
@@ -3,6 +3,8 @@
make_class_CRANRepositoryParams()
{
+ visible
+
key environment "const Environment *"
key location FSEntry
key distdir FSEntry
diff --git a/paludis/repositories/cran/registration.cc b/paludis/repositories/cran/registration.cc
index 30182ec..892f884 100644
--- a/paludis/repositories/cran/registration.cc
+++ b/paludis/repositories/cran/registration.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006 Ciaran McCreesh <ciaranm@ciaranm.org>
+ * Copyright (c) 2006, 2007 Ciaran McCreesh <ciaranm@ciaranm.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
@@ -28,7 +28,7 @@ using namespace paludis;
extern "C"
{
- void register_repositories(RepositoryMaker * maker);
+ void PALUDIS_VISIBLE register_repositories(RepositoryMaker * maker);
}
void register_repositories(RepositoryMaker * maker)
diff --git a/paludis/repositories/fake/fake_repository.cc b/paludis/repositories/fake/fake_repository.cc
index fb10658..1331dab 100644
--- a/paludis/repositories/fake/fake_repository.cc
+++ b/paludis/repositories/fake/fake_repository.cc
@@ -98,7 +98,7 @@ namespace paludis
extern "C"
{
- void register_repositories(RepositoryMaker * maker);
+ void PALUDIS_VISIBLE register_repositories(RepositoryMaker * maker);
}
void register_repositories(RepositoryMaker *)
diff --git a/paludis/repositories/gems/Makefile.am b/paludis/repositories/gems/Makefile.am
index 12a00dd..6864e1b 100644
--- a/paludis/repositories/gems/Makefile.am
+++ b/paludis/repositories/gems/Makefile.am
@@ -69,7 +69,7 @@ gems_repository_TEST_LDADD = \
$(top_builddir)/paludis/environments/test/libpaludistestenvironment.la \
$(top_builddir)/test/libtest.a
-gems_repository_TEST_CXXFLAGS = -I$(top_srcdir)
+gems_repository_TEST_CXXFLAGS = -I$(top_srcdir) $(AM_CXXFLAGS)
yaml_TEST_SOURCES = yaml_TEST.cc
@@ -81,7 +81,7 @@ yaml_TEST_LDADD = \
$(top_builddir)/paludis/environments/test/libpaludistestenvironment.la \
$(top_builddir)/test/libtest.a
-yaml_TEST_CXXFLAGS = -I$(top_srcdir)
+yaml_TEST_CXXFLAGS = -I$(top_srcdir) $(AM_CXXFLAGS)
cache_TEST_SOURCES = cache_TEST.cc
@@ -93,7 +93,7 @@ cache_TEST_LDADD = \
$(top_builddir)/paludis/environments/test/libpaludistestenvironment.la \
$(top_builddir)/test/libtest.a
-cache_TEST_CXXFLAGS = -I$(top_srcdir)
+cache_TEST_CXXFLAGS = -I$(top_srcdir) $(AM_CXXFLAGS)
EXTRA_DIST = \
gems_repository_TEST.cc \
diff --git a/paludis/repositories/gems/cache.hh b/paludis/repositories/gems/cache.hh
index 516f279..856cb27 100644
--- a/paludis/repositories/gems/cache.hh
+++ b/paludis/repositories/gems/cache.hh
@@ -35,7 +35,7 @@ namespace paludis
#include <paludis/repositories/gems/cache-sr.hh>
- class GemsCache :
+ class PALUDIS_VISIBLE GemsCache :
private InstantiationPolicy<GemsCache, instantiation_method::NonCopyableTag>,
private PrivateImplementationPattern<GemsCache>
{
diff --git a/paludis/repositories/gems/gems_repository.sr b/paludis/repositories/gems/gems_repository.sr
index 3edce38..f05f195 100644
--- a/paludis/repositories/gems/gems_repository.sr
+++ b/paludis/repositories/gems/gems_repository.sr
@@ -3,6 +3,8 @@
make_class_GemsRepositoryParams()
{
+ visible
+
key environment "const Environment *"
key location FSEntry
key distdir FSEntry
@@ -14,6 +16,8 @@ make_class_GemsRepositoryParams()
make_class_GemsRepositoryEntry()
{
+ visible
+
key metadata "std::tr1::shared_ptr<VersionMetadata>"
}
diff --git a/paludis/repositories/gems/registration.cc b/paludis/repositories/gems/registration.cc
index 8fc967b..3c96553 100644
--- a/paludis/repositories/gems/registration.cc
+++ b/paludis/repositories/gems/registration.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006 Ciaran McCreesh <ciaranm@ciaranm.org>
+ * Copyright (c) 2006, 2007 Ciaran McCreesh <ciaranm@ciaranm.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
@@ -27,7 +27,7 @@ using namespace paludis;
extern "C"
{
- void register_repositories(RepositoryMaker * maker);
+ void PALUDIS_VISIBLE register_repositories(RepositoryMaker * maker);
}
void register_repositories(RepositoryMaker * maker)
diff --git a/paludis/repositories/gems/yaml.hh b/paludis/repositories/gems/yaml.hh
index 31084fb..47bed60 100644
--- a/paludis/repositories/gems/yaml.hh
+++ b/paludis/repositories/gems/yaml.hh
@@ -36,14 +36,14 @@ namespace paludis
typedef VisitorTypes<YamlScalarNode *, YamlSequenceNode *, YamlMappingNode *> YamlNodeVisitorTypes;
- class YamlError :
+ class PALUDIS_VISIBLE YamlError :
public ConfigurationError
{
public:
YamlError(const std::string & msg) throw ();
};
- class YamlNode :
+ class PALUDIS_VISIBLE YamlNode :
public virtual VisitableInterface<YamlNodeVisitorTypes>,
private InstantiationPolicy<YamlNode, instantiation_method::NonCopyableTag>
{
@@ -54,7 +54,7 @@ namespace paludis
virtual ~YamlNode();
};
- class YamlScalarNode :
+ class PALUDIS_VISIBLE YamlScalarNode :
public YamlNode,
public Visitable<YamlScalarNode, YamlNodeVisitorTypes>
{
@@ -76,7 +76,7 @@ namespace paludis
}
};
- class YamlMappingNode :
+ class PALUDIS_VISIBLE YamlMappingNode :
public YamlNode,
public Visitable<YamlMappingNode, YamlNodeVisitorTypes>,
private PrivateImplementationPattern<YamlMappingNode>
@@ -99,7 +99,7 @@ namespace paludis
}
};
- class YamlSequenceNode :
+ class PALUDIS_VISIBLE YamlSequenceNode :
public YamlNode,
public Visitable<YamlSequenceNode, YamlNodeVisitorTypes>,
private PrivateImplementationPattern<YamlSequenceNode>
@@ -114,7 +114,7 @@ namespace paludis
void add(std::tr1::shared_ptr<YamlNode>);
};
- class YamlDocument :
+ class PALUDIS_VISIBLE YamlDocument :
private PrivateImplementationPattern<YamlDocument>,
private InstantiationPolicy<YamlDocument, instantiation_method::NonCopyableTag>
{
diff --git a/paludis/repositories/gentoo/glsa.sr b/paludis/repositories/gentoo/glsa.sr
index 6405c7f..fdff8e4 100644
--- a/paludis/repositories/gentoo/glsa.sr
+++ b/paludis/repositories/gentoo/glsa.sr
@@ -1,5 +1,7 @@
make_class_GLSARange()
{
+ visible
+
key op std::string
# not a version, may be something like 1.3*
key version std::string
diff --git a/paludis/repositories/gentoo/portage_repository_entries.hh b/paludis/repositories/gentoo/portage_repository_entries.hh
index 6b8105d..77400f1 100644
--- a/paludis/repositories/gentoo/portage_repository_entries.hh
+++ b/paludis/repositories/gentoo/portage_repository_entries.hh
@@ -123,7 +123,7 @@ namespace paludis
*
* \ingroup grprepository
*/
- class PortageRepositoryEntriesMaker :
+ class PALUDIS_VISIBLE PortageRepositoryEntriesMaker :
public VirtualConstructor<std::string,
std::tr1::shared_ptr<PortageRepositoryEntries> (*) (const Environment * const, PortageRepository * const,
const PortageRepositoryParams &),
diff --git a/paludis/repositories/gentoo/portage_repository_entry.cc b/paludis/repositories/gentoo/portage_repository_entry.cc
deleted file mode 100644
index ea568cd..0000000
--- a/paludis/repositories/gentoo/portage_repository_entry.cc
+++ /dev/null
@@ -1,32 +0,0 @@
-/* vim: set sw=4 sts=4 et foldmethod=syntax : */
-
-/*
- * Copyright (c) 2006 Ciaran McCreesh <ciaranm@ciaranm.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 "portage_repository_metadata.hh"
-
-using namespace paludis;
-
-PortageRepositoryMetadata::PortageRepositoryMetadata(const std::string & ext) :
- _ext(ext)
-{
-}
-
-PortageRepositoryMetadata::~PortageRepositoryMetadata()
-{
-}
-
diff --git a/paludis/repositories/gentoo/portage_repository_params.sr b/paludis/repositories/gentoo/portage_repository_params.sr
index d6f5db3..be90cb6 100644
--- a/paludis/repositories/gentoo/portage_repository_params.sr
+++ b/paludis/repositories/gentoo/portage_repository_params.sr
@@ -3,6 +3,8 @@
make_class_PortageRepositoryParams()
{
+ visible
+
key entry_format std::string
key environment "Environment *"
key location FSEntry
diff --git a/paludis/repositories/gentoo/portage_repository_sets.cc b/paludis/repositories/gentoo/portage_repository_sets.cc
index b2ed1a7..fe509af 100644
--- a/paludis/repositories/gentoo/portage_repository_sets.cc
+++ b/paludis/repositories/gentoo/portage_repository_sets.cc
@@ -22,7 +22,6 @@
#include <paludis/repositories/gentoo/portage_repository_sets.hh>
#include <paludis/repositories/gentoo/glsa.hh>
-#include <paludis/dep_list/dep_list.hh>
#include <paludis/environment.hh>
#include <paludis/config_file.hh>
#include <paludis/query.hh>
diff --git a/paludis/repositories/gentoo/registration.cc b/paludis/repositories/gentoo/registration.cc
index 5bb5599..2ae8d43 100644
--- a/paludis/repositories/gentoo/registration.cc
+++ b/paludis/repositories/gentoo/registration.cc
@@ -30,7 +30,7 @@ using namespace paludis;
extern "C"
{
- void register_repositories(RepositoryMaker * maker);
+ void PALUDIS_VISIBLE register_repositories(RepositoryMaker * maker);
}
namespace
diff --git a/paludis/repositories/gentoo/vdb_repository.sr b/paludis/repositories/gentoo/vdb_repository.sr
index 6fa2074..da550f2 100644
--- a/paludis/repositories/gentoo/vdb_repository.sr
+++ b/paludis/repositories/gentoo/vdb_repository.sr
@@ -3,6 +3,8 @@
make_class_VDBRepositoryParams()
{
+ visible
+
key environment "Environment *"
key location FSEntry
key root FSEntry
diff --git a/paludis/repositories/gentoo/vdb_unmerger.hh b/paludis/repositories/gentoo/vdb_unmerger.hh
index ba47547..10ca73c 100644
--- a/paludis/repositories/gentoo/vdb_unmerger.hh
+++ b/paludis/repositories/gentoo/vdb_unmerger.hh
@@ -39,7 +39,7 @@ namespace paludis
* \ingroup grpexceptions
* \nosubgrouping
*/
- class VDBUnmergerError :
+ class PALUDIS_VISIBLE VDBUnmergerError :
public UnmergerError
{
public:
diff --git a/paludis/repositories/gentoo/xml_things.cc b/paludis/repositories/gentoo/xml_things.cc
index a54ac07..40839bd 100644
--- a/paludis/repositories/gentoo/xml_things.cc
+++ b/paludis/repositories/gentoo/xml_things.cc
@@ -30,7 +30,7 @@ using namespace paludis;
extern "C"
{
- std::tr1::shared_ptr<GLSA> create_glsa_from_xml_file(const std::string &);
+ std::tr1::shared_ptr<GLSA> PALUDIS_VISIBLE create_glsa_from_xml_file(const std::string &);
}
namespace
@@ -208,7 +208,7 @@ namespace paludis
extern "C"
{
- void register_repositories(RepositoryMaker * maker);
+ void PALUDIS_VISIBLE register_repositories(RepositoryMaker * maker);
}
void register_repositories(RepositoryMaker *)
diff --git a/paludis/repositories/gentoo/xml_things.hh b/paludis/repositories/gentoo/xml_things.hh
index 772def3..3b4095e 100644
--- a/paludis/repositories/gentoo/xml_things.hh
+++ b/paludis/repositories/gentoo/xml_things.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006 Ciaran McCreesh <ciaranm@ciaranm.org>
+ * Copyright (c) 2006, 2007 Ciaran McCreesh <ciaranm@ciaranm.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
@@ -24,7 +24,7 @@
extern "C"
{
- GLSA::Pointer create_glsa_from_xml_file(const std::string &);
+ GLSA::Pointer PALUDIS_VISIBLE create_glsa_from_xml_file(const std::string &);
}
#endif
diff --git a/paludis/repositories/repository_maker.cc b/paludis/repositories/repository_maker.cc
index 84f6a4c..7693f39 100644
--- a/paludis/repositories/repository_maker.cc
+++ b/paludis/repositories/repository_maker.cc
@@ -151,7 +151,7 @@ RepositoryMaker::~RepositoryMaker()
extern "C"
{
- void register_repositories(RepositoryMaker * maker);
+ void PALUDIS_VISIBLE register_repositories(RepositoryMaker * maker);
}
void register_repositories(RepositoryMaker *)
diff --git a/paludis/repositories/repository_maker.hh b/paludis/repositories/repository_maker.hh
index 517d99e..5d2dc5b 100644
--- a/paludis/repositories/repository_maker.hh
+++ b/paludis/repositories/repository_maker.hh
@@ -36,7 +36,7 @@ namespace paludis
* \ingroup grprepository
* \nosubgrouping
*/
- class NoSuchRepositoryTypeError : public ConfigurationError
+ class PALUDIS_VISIBLE NoSuchRepositoryTypeError : public ConfigurationError
{
public:
/**
@@ -64,7 +64,7 @@ namespace paludis
* \ingroup grpexceptions
* \ingroup grprepository
*/
- class PaludisRepositorySoDirCannotDlopenError :
+ class PALUDIS_VISIBLE PaludisRepositorySoDirCannotDlopenError :
public Exception
{
private:
diff --git a/paludis/repositories/virtuals/registration.cc b/paludis/repositories/virtuals/registration.cc
index faf374e..67d0f0e 100644
--- a/paludis/repositories/virtuals/registration.cc
+++ b/paludis/repositories/virtuals/registration.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006 Ciaran McCreesh <ciaranm@ciaranm.org>
+ * Copyright (c) 2006, 2007 Ciaran McCreesh <ciaranm@ciaranm.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
@@ -28,7 +28,7 @@ using namespace paludis;
extern "C"
{
- void register_repositories(RepositoryMaker * maker);
+ void PALUDIS_VISIBLE register_repositories(RepositoryMaker * maker);
}
void register_repositories(RepositoryMaker * maker)
diff --git a/paludis/repository.hh b/paludis/repository.hh
index d31878f..8f8a6c8 100644
--- a/paludis/repository.hh
+++ b/paludis/repository.hh
@@ -56,7 +56,7 @@ namespace paludis
* \ingroup grprepository
* \nosubgrouping
*/
- class RepositoryInfoSection :
+ class PALUDIS_VISIBLE RepositoryInfoSection :
private PrivateImplementationPattern<RepositoryInfoSection>
{
public:
@@ -100,7 +100,7 @@ namespace paludis
* \ingroup grprepository
* \nosubgrouping
*/
- class RepositoryInfo :
+ class PALUDIS_VISIBLE RepositoryInfo :
private PrivateImplementationPattern<RepositoryInfo>
{
public:
@@ -145,7 +145,7 @@ namespace paludis
* \ingroup grprepository
* \nosubgrouping
*/
- class Repository :
+ class PALUDIS_VISIBLE Repository :
private InstantiationPolicy<Repository, instantiation_method::NonCopyableTag>,
public RepositoryCapabilities
{
@@ -373,7 +373,7 @@ namespace paludis
* \ingroup grprepository
* \nosubgrouping
*/
- class RepositoryMaskInterface
+ class PALUDIS_VISIBLE RepositoryMaskInterface
{
protected:
///\name Implementation details
@@ -427,7 +427,7 @@ namespace paludis
* \ingroup grprepository
* \nosubgrouping
*/
- class RepositoryUseInterface
+ class PALUDIS_VISIBLE RepositoryUseInterface
{
protected:
///\name Implementation details
@@ -570,7 +570,7 @@ namespace paludis
* \ingroup grprepository
* \nosubgrouping
*/
- class RepositoryInstalledInterface
+ class PALUDIS_VISIBLE RepositoryInstalledInterface
{
protected:
///\name Implementation details
@@ -622,7 +622,7 @@ namespace paludis
* \ingroup grprepository
* \nosubgrouping
*/
- class RepositoryInstallableInterface
+ class PALUDIS_VISIBLE RepositoryInstallableInterface
{
protected:
///\name Implementation details
@@ -660,7 +660,7 @@ namespace paludis
* \ingroup grprepository
* \nosubgrouping
*/
- class RepositoryUninstallableInterface
+ class PALUDIS_VISIBLE RepositoryUninstallableInterface
{
protected:
///\name Implementation details
@@ -698,7 +698,7 @@ namespace paludis
* \ingroup grprepository
* \nosubgrouping
*/
- class RepositorySetsInterface
+ class PALUDIS_VISIBLE RepositorySetsInterface
{
protected:
///\name Implementation details
@@ -742,7 +742,7 @@ namespace paludis
* \ingroup grprepository
* \nosubgrouping
*/
- class RepositorySyncableInterface
+ class PALUDIS_VISIBLE RepositorySyncableInterface
{
protected:
///\name Implementation details
@@ -781,7 +781,7 @@ namespace paludis
* \ingroup grprepository
* \nosubgrouping
*/
- class RepositoryWorldInterface
+ class PALUDIS_VISIBLE RepositoryWorldInterface
{
public:
///\name World functionality
@@ -819,7 +819,7 @@ namespace paludis
* \ingroup grprepository
* \nosubgrouping
*/
- class RepositoryEnvironmentVariableInterface
+ class PALUDIS_VISIBLE RepositoryEnvironmentVariableInterface
{
public:
///\name Environment query functionality
@@ -845,7 +845,7 @@ namespace paludis
* \ingroup grprepository
* \nosubgrouping
*/
- class RepositoryMirrorsInterface
+ class PALUDIS_VISIBLE RepositoryMirrorsInterface
{
public:
///\name Iterate over our mirrors
@@ -879,7 +879,7 @@ namespace paludis
* \ingroup grprepository
* \nosubgrouping
*/
- class RepositoryVirtualsInterface
+ class PALUDIS_VISIBLE RepositoryVirtualsInterface
{
public:
///\name Virtuals functionality
@@ -917,7 +917,7 @@ namespace paludis
* \ingroup grprepository
* \nosubgrouping
*/
- class RepositoryProvidesInterface
+ class PALUDIS_VISIBLE RepositoryProvidesInterface
{
public:
///\name Provides functionality
@@ -955,7 +955,7 @@ namespace paludis
* \ingroup grprepository
* \nosubgrouping
*/
- class RepositoryDestinationInterface
+ class PALUDIS_VISIBLE RepositoryDestinationInterface
{
public:
///\name Destination functions
@@ -1001,7 +1001,7 @@ namespace paludis
* \ingroup grprepository
* \nosubgrouping
*/
- class RepositoryContentsInterface
+ class PALUDIS_VISIBLE RepositoryContentsInterface
{
protected:
///\name Implementation details
@@ -1043,7 +1043,7 @@ namespace paludis
* \ingroup grprepository
* \nosubgrouping
*/
- class RepositoryConfigInterface
+ class PALUDIS_VISIBLE RepositoryConfigInterface
{
protected:
///\name Implementation details
@@ -1084,7 +1084,7 @@ namespace paludis
* \ingroup grprepository
* \nosubgrouping
*/
- class RepositoryLicensesInterface
+ class PALUDIS_VISIBLE RepositoryLicensesInterface
{
protected:
///\name Implementation details
@@ -1127,7 +1127,7 @@ namespace paludis
* \ingroup grprepository
* \nosubgrouping
*/
- class RepositoryPortageInterface
+ class PALUDIS_VISIBLE RepositoryPortageInterface
{
public:
///\name Information about a PortageRepository
@@ -1168,7 +1168,7 @@ namespace paludis
* \ingroup grprepository
* \nosubgrouping
*/
- class RepositoryHookInterface
+ class PALUDIS_VISIBLE RepositoryHookInterface
{
public:
/**
@@ -1187,7 +1187,7 @@ namespace paludis
* \ingroup grprepository
* \nosubgrouping
*/
- class PackageActionError : public Exception
+ class PALUDIS_VISIBLE PackageActionError : public Exception
{
protected:
/**
@@ -1203,7 +1203,7 @@ namespace paludis
* \ingroup grpexceptions
* \nosubgrouping
*/
- class PackageInstallActionError : public PackageActionError
+ class PALUDIS_VISIBLE PackageInstallActionError : public PackageActionError
{
public:
/**
@@ -1219,7 +1219,7 @@ namespace paludis
* \ingroup grprepository
* \nosubgrouping
*/
- class PackageFetchActionError : public PackageActionError
+ class PALUDIS_VISIBLE PackageFetchActionError : public PackageActionError
{
public:
/**
@@ -1235,7 +1235,7 @@ namespace paludis
* \ingroup grpexceptions
* \nosubgrouping
*/
- class PackageUninstallActionError : public PackageActionError
+ class PALUDIS_VISIBLE PackageUninstallActionError : public PackageActionError
{
public:
/**
@@ -1251,7 +1251,7 @@ namespace paludis
* \ingroup grpexceptions
* \nosubgrouping
*/
- class PackageConfigActionError : public PackageActionError
+ class PALUDIS_VISIBLE PackageConfigActionError : public PackageActionError
{
public:
/**
@@ -1267,7 +1267,7 @@ namespace paludis
* \ingroup grpexceptions
* \nosubgrouping
*/
- class EnvironmentVariableActionError :
+ class PALUDIS_VISIBLE EnvironmentVariableActionError :
public PackageActionError
{
public:
@@ -1277,7 +1277,6 @@ namespace paludis
EnvironmentVariableActionError(const std::string & msg) throw ();
};
-
class PackageDatabase;
}
diff --git a/paludis/repository.sr b/paludis/repository.sr
index 6bd9bd1..d809b1f 100644
--- a/paludis/repository.sr
+++ b/paludis/repository.sr
@@ -3,6 +3,8 @@
make_class_InstallOptions()
{
+ visible
+
key no_config_protect bool
key fetch_only bool
key debug_build InstallDebugOption
@@ -22,6 +24,8 @@ END
make_class_UninstallOptions()
{
+ visible
+
key no_config_protect bool
doxygen_comment << "END"
@@ -37,6 +41,8 @@ END
make_class_RepositoryCapabilities()
{
+ visible
+
key installable_interface "RepositoryInstallableInterface *"
key installed_interface "RepositoryInstalledInterface *"
key mask_interface "RepositoryMaskInterface *"
@@ -71,6 +77,8 @@ END
make_class_RepositoryPortageInterfaceProfilesDescLine()
{
+ visible
+
key path FSEntry
key arch std::string
key status std::string
@@ -90,6 +98,8 @@ END
make_class_RepositoryProvidesEntry()
{
+ visible
+
key virtual_name QualifiedPackageName
key version VersionSpec
key provided_by_name QualifiedPackageName
@@ -110,6 +120,8 @@ END
make_class_RepositoryVirtualsEntry()
{
+ visible
+
key virtual_name QualifiedPackageName
key provided_by_spec "std::tr1::shared_ptr<const PackageDepSpec>"
@@ -129,6 +141,8 @@ END
make_class_MergeOptions()
{
+ visible
+
key package PackageDatabaseEntry
key image_dir FSEntry
key environment_file FSEntry
diff --git a/paludis/repository_name_cache.hh b/paludis/repository_name_cache.hh
index 6ef08ef..3ecbf47 100644
--- a/paludis/repository_name_cache.hh
+++ b/paludis/repository_name_cache.hh
@@ -35,7 +35,7 @@ namespace paludis
* \ingroup grprepository
* \nosubgrouping
*/
- class RepositoryNameCache :
+ class PALUDIS_VISIBLE RepositoryNameCache :
private PrivateImplementationPattern<RepositoryNameCache>
{
private:
diff --git a/paludis/set_file.hh b/paludis/set_file.hh
index e95c6c2..ba9a888 100644
--- a/paludis/set_file.hh
+++ b/paludis/set_file.hh
@@ -41,7 +41,7 @@ namespace paludis
* \ingroup grpsetfile
* \nosubgrouping
*/
- class SetFileError :
+ class PALUDIS_VISIBLE SetFileError :
public ConfigurationError
{
public:
@@ -67,7 +67,7 @@ namespace paludis
* \ingroup grpsetfile
* \nosubgrouping
*/
- class SetFile :
+ class PALUDIS_VISIBLE SetFile :
private InstantiationPolicy<SetFile, instantiation_method::NonCopyableTag>,
private PrivateImplementationPattern<SetFile>
{
diff --git a/paludis/set_file.sr b/paludis/set_file.sr
index 04b3596..43f4eff 100644
--- a/paludis/set_file.sr
+++ b/paludis/set_file.sr
@@ -1,5 +1,7 @@
make_class_SetFileParams()
{
+ visible
+
key file_name FSEntry
key type SetFileType
key parse_mode PackageDepSpecParseMode
diff --git a/paludis/syncer.hh b/paludis/syncer.hh
index 7c4d748..1f80885 100644
--- a/paludis/syncer.hh
+++ b/paludis/syncer.hh
@@ -40,7 +40,7 @@ namespace paludis
*
* \ingroup grpsyncer
*/
- class Syncer :
+ class PALUDIS_VISIBLE Syncer :
private InstantiationPolicy<Syncer, instantiation_method::NonCopyableTag>
{
protected:
@@ -70,7 +70,7 @@ namespace paludis
*
* \ingroup grpsyncer
*/
- class DefaultSyncer :
+ class PALUDIS_VISIBLE DefaultSyncer :
public Syncer
{
private:
@@ -104,7 +104,7 @@ namespace paludis
* \ingroup grpsyncer
* \ingroup grpexceptions
*/
- class SyncFailedError :
+ class PALUDIS_VISIBLE SyncFailedError :
public PackageActionError
{
public:
@@ -125,7 +125,7 @@ namespace paludis
* \ingroup grpsyncer
* \ingroup grpexceptions
*/
- class NoSuchSyncerError : public SyncFailedError
+ class PALUDIS_VISIBLE NoSuchSyncerError : public SyncFailedError
{
public:
/**
diff --git a/paludis/syncer.sr b/paludis/syncer.sr
index bd27ac9..4467072 100644
--- a/paludis/syncer.sr
+++ b/paludis/syncer.sr
@@ -3,6 +3,8 @@
make_class_SyncOptions()
{
+ visible
+
key options std::string
doxygen_comment << "END"
@@ -18,6 +20,8 @@ END
make_class_SyncerParams()
{
+ visible
+
key local std::string
key remote std::string
diff --git a/paludis/tasks/stage_builder_task.hh b/paludis/tasks/stage_builder_task.hh
index 989374c..ad02ad9 100644
--- a/paludis/tasks/stage_builder_task.hh
+++ b/paludis/tasks/stage_builder_task.hh
@@ -36,7 +36,7 @@ namespace paludis
* \ingroup grpstagebuildertask
* \nosubgrouping
*/
- class StageBuildError :
+ class PALUDIS_VISIBLE StageBuildError :
public Exception
{
public:
@@ -58,7 +58,7 @@ namespace paludis
* \ingroup grpstagebuildertask
* \nosubgrouping
*/
- class StageBase
+ class PALUDIS_VISIBLE StageBase
{
public:
virtual ~StageBase();
diff --git a/paludis/tasks/stage_options.sr b/paludis/tasks/stage_options.sr
index 9fce610..e00bec1 100644
--- a/paludis/tasks/stage_options.sr
+++ b/paludis/tasks/stage_options.sr
@@ -3,6 +3,8 @@
make_class_StageOptions()
{
+ visible
+
key pretend bool
key fetch_only bool
key always_rebuild bool
diff --git a/paludis/util/Makefile.am.m4 b/paludis/util/Makefile.am.m4
index 6faf230..172e255 100644
--- a/paludis/util/Makefile.am.m4
+++ b/paludis/util/Makefile.am.m4
@@ -19,7 +19,7 @@ $1_TEST_LDADD = \
test_extras.o \
$(top_builddir)/test/libtest.a \
libpaludisutil.la
-$1_TEST_CXXFLAGS = -I$(top_srcdir)
+$1_TEST_CXXFLAGS = -I$(top_srcdir) $(AM_CXXFLAGS)
')dnl
define(`addtestscript', `define(`testscriptlist', testscriptlist `$1_TEST_setup.sh $1_TEST_cleanup.sh')')dnl
define(`addhh', `define(`filelist', filelist `$1.hh')define(`headerlist', headerlist `$1.hh')')dnl
@@ -60,6 +60,8 @@ ifelse(`$2', `testscript', `addtestscript(`$1')', `')')dnl
define(`add', `addthis(`$1',`$2')addthis(`$1',`$3')addthis(`$1',`$4')dnl
addthis(`$1',`$5')addthis(`$1',`$6')addthis(`$1',`$7')addthis(`$1',`$8')')dnl
+AM_CXXFLAGS = -I$(top_srcdir) @PALUDIS_CXXFLAGS@ @PALUDIS_CXXFLAGS_NO_WOLD_STYLE_CAST@ @PALUDIS_CXXFLAGS_VISIBILITY@
+
include(`paludis/util/files.m4')
CLEANFILES = *~ gmon.out *.gcov *.gcno *.gcda
@@ -67,7 +69,6 @@ MAINTAINERCLEANFILES = Makefile.in Makefile.am paludis.hh \
hashed_containers.hh util.hh
DISTCLEANFILES = srcleanlist secleanlist
BUILT_SOURCES = srcleanlist secleanlist
-AM_CXXFLAGS = -I$(top_srcdir) @PALUDIS_CXXFLAGS@ @PALUDIS_CXXFLAGS_NO_WOLD_STYLE_CAST@ @PALUDIS_CXXFLAGS_VISIBILITY@
DEFS=\
-DSYSCONFDIR=\"$(sysconfdir)\" \
-DLIBEXECDIR=\"$(libexecdir)\"
diff --git a/paludis/util/attributes.hh b/paludis/util/attributes.hh
index 5613262..7d279d6 100644
--- a/paludis/util/attributes.hh
+++ b/paludis/util/attributes.hh
@@ -73,8 +73,7 @@
# define PALUDIS_ATTRIBUTE(x)
#endif
-#define PALUDIS_ENABLE_VISIBILITY 0
-#if PALUDIS_ENABLE_VISIBILITY
+#ifdef PALUDIS_ENABLE_VISIBILITY
# define PALUDIS_VISIBLE PALUDIS_ATTRIBUTE((visibility("default")))
# define PALUDIS_HIDDEN PALUDIS_ATTRIBUTE((visibility("hidden")))
#else
diff --git a/paludis/util/compare.hh b/paludis/util/compare.hh
index 458fc70..e5829fd 100644
--- a/paludis/util/compare.hh
+++ b/paludis/util/compare.hh
@@ -73,7 +73,7 @@ namespace paludis
*
* \ingroup grpcompare
*/
- inline int long compare(unsigned long t1, unsigned long t2)
+ inline int compare(unsigned long t1, unsigned long t2)
{
if (t1 < t2)
return -1;
diff --git a/paludis/util/comparison_policy.hh b/paludis/util/comparison_policy.hh
index 727747d..59a01e2 100644
--- a/paludis/util/comparison_policy.hh
+++ b/paludis/util/comparison_policy.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2006 Ciaran McCreesh <ciaranm@ciaranm.org>
+ * Copyright (c) 2005, 2006, 2007 Ciaran McCreesh <ciaranm@ciaranm.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
@@ -102,21 +102,8 @@ namespace paludis
};
}
-#ifdef DOXYGEN
- /**
- * ComparisonPolicy specifies the availabillity of comparison methods and
- * the strategy used to do comparisons.
- *
- * \ingroup grpcompare
- */
- template <typename OurType_, typename ComparisonModeTag_, typename ComparisonMethodTag_>
- struct ComparisonPolicy
- {
- };
-#else
template <typename OurType_, typename ComparisonModeTag_, typename ComparisonMethodTag_>
struct ComparisonPolicy;
-#endif
/**
* ComparisonPolicy: specialisation for NoComparisonTag.
diff --git a/paludis/util/fast_unique_copy_TEST.cc b/paludis/util/fast_unique_copy_TEST.cc
index 6e7611d..95a5591 100644
--- a/paludis/util/fast_unique_copy_TEST.cc
+++ b/paludis/util/fast_unique_copy_TEST.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006 Ciaran McCreesh <ciaranm@ciaranm.org>
+ * Copyright (c) 2006, 2007 Ciaran McCreesh <ciaranm@ciaranm.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
@@ -75,11 +75,11 @@ namespace test_cases
TestMessageSuffix rs("r=" + join(r.begin(), r.end(), ","));
if (sz == 0)
- TEST_CHECK_EQUAL(r.size(), 0);
+ TEST_CHECK_EQUAL(r.size(), std::size_t(0));
else
{
- TEST_CHECK_EQUAL(r.size(), 1);
- TEST_CHECK_EQUAL(r[0], 42);
+ TEST_CHECK_EQUAL(r.size(), std::size_t(1));
+ TEST_CHECK_EQUAL(r[0], 42u);
}
}
}
@@ -106,7 +106,7 @@ namespace test_cases
TestMessageSuffix vs("v=" + join(v.begin(), v.end(), ","));
TestMessageSuffix rs("r=" + join(r.begin(), r.end(), ","));
if (sz == 0)
- TEST_CHECK_EQUAL(r.size(), 0);
+ TEST_CHECK_EQUAL(r.size(), std::size_t(0));
else
{
TEST_CHECK_EQUAL(r.size(), sz - 1);
diff --git a/paludis/util/fs_entry.hh b/paludis/util/fs_entry.hh
index c4a55e6..f6eee17 100644
--- a/paludis/util/fs_entry.hh
+++ b/paludis/util/fs_entry.hh
@@ -108,7 +108,7 @@ namespace paludis
void _normalise();
/**
- * Runs lstat() on the current path if we have not done so already
+ * Runs lstat() on the current path if we have not done so already.
* Note: lstat() will give information on the symlink itself, and not what
* the link points to, which is how stat() works.
*/
diff --git a/paludis/util/fs_entry_TEST.cc b/paludis/util/fs_entry_TEST.cc
index 0702547..d99de0f 100644
--- a/paludis/util/fs_entry_TEST.cc
+++ b/paludis/util/fs_entry_TEST.cc
@@ -71,8 +71,8 @@ namespace test_cases
TEST_CHECK(b.mtime() < b.ctime());
TEST_CHECK(d.mtime() == d.ctime());
- TEST_CHECK_THROWS(time_t x = c.ctime(), FSError);
- TEST_CHECK_THROWS(time_t x = c.mtime(), FSError);
+ TEST_CHECK_THROWS(time_t PALUDIS_ATTRIBUTE((unused)) x = c.ctime(), FSError);
+ TEST_CHECK_THROWS(time_t PALUDIS_ATTRIBUTE((unused)) x = c.mtime(), FSError);
}
} test_fs_entry_time;
@@ -216,7 +216,8 @@ namespace test_cases
TEST_CHECK(!b.has_permission(fs_ug_others, fs_perm_write));
TEST_CHECK(!b.has_permission(fs_ug_others, fs_perm_execute));
- TEST_CHECK_THROWS(bool x = c.has_permission(fs_ug_owner, fs_perm_read), FSError);
+ TEST_CHECK_THROWS(bool PALUDIS_ATTRIBUTE((unused)) x =
+ c.has_permission(fs_ug_owner, fs_perm_read), FSError);
}
} test_fs_entry_permission;
@@ -236,8 +237,8 @@ namespace test_cases
FSEntry e("fs_entry_TEST_dir/no_such_file");
TEST_CHECK_EQUAL(f.file_size(), 10);
- TEST_CHECK_THROWS(size_t x = d.file_size(), FSError);
- TEST_CHECK_THROWS(size_t x = e.file_size(), FSError);
+ TEST_CHECK_THROWS(size_t PALUDIS_ATTRIBUTE((unused)) x = d.file_size(), FSError);
+ TEST_CHECK_THROWS(size_t PALUDIS_ATTRIBUTE((unused)) x = e.file_size(), FSError);
}
} test_fs_entry_size;
@@ -332,11 +333,11 @@ namespace test_cases
FSEntry d("fs_entry_TEST_dir/i_dont_exist");
- TEST_CHECK_THROWS(mode_t x = d.permissions(), FSError);
+ TEST_CHECK_THROWS(mode_t PALUDIS_ATTRIBUTE((unused)) x = d.permissions(), FSError);
TEST_CHECK_THROWS(d.chmod(all_perms), FSError);
TEST_CHECK_THROWS(d.chown(static_cast<uid_t>(-1)), FSError);
- TEST_CHECK_THROWS(uid_t x = d.owner(), FSError);
- TEST_CHECK_THROWS(gid_t x = d.group(), FSError);
+ TEST_CHECK_THROWS(uid_t PALUDIS_ATTRIBUTE((unused)) x = d.owner(), FSError);
+ TEST_CHECK_THROWS(gid_t PALUDIS_ATTRIBUTE((unused)) x = d.group(), FSError);
if (0 == my_uid)
{
@@ -405,13 +406,13 @@ namespace test_cases
void run()
{
- std::string name("fs_entry_TEST_dir/no_perms");
+ std::string n("fs_entry_TEST_dir/no_perms");
std::ostringstream s;
- FSEntry a(name);
+ FSEntry a(n);
s << a;
- TEST_CHECK_EQUAL(s.str(), name);
+ TEST_CHECK_EQUAL(s.str(), n);
}
} test_fs_entry_to_ostream_operator;
}
diff --git a/paludis/util/graph-impl.hh b/paludis/util/graph-impl.hh
index 1cd513e..8cc5da5 100644
--- a/paludis/util/graph-impl.hh
+++ b/paludis/util/graph-impl.hh
@@ -36,7 +36,7 @@ namespace paludis
* \ingroup grpgraph
* \nosubgrouping
*/
- class NoGraphTopologicalOrderExistsError::RemainingNodes
+ class PALUDIS_VISIBLE NoGraphTopologicalOrderExistsError::RemainingNodes
{
private:
std::list<std::string> _n;
diff --git a/paludis/util/graph.hh b/paludis/util/graph.hh
index 62bf240..7e55d6b 100644
--- a/paludis/util/graph.hh
+++ b/paludis/util/graph.hh
@@ -39,7 +39,7 @@ namespace paludis
* \ingroup grpexceptions
* \nosubgrouping
*/
- class GraphError :
+ class PALUDIS_VISIBLE GraphError :
public Exception
{
protected:
@@ -58,7 +58,7 @@ namespace paludis
* \ingroup grpgraph
* \nosubgrouping
*/
- class NoSuchGraphNodeError :
+ class PALUDIS_VISIBLE NoSuchGraphNodeError :
public GraphError
{
public:
@@ -81,7 +81,7 @@ namespace paludis
* \ingroup grpexceptions
* \nosubgrouping
*/
- class NoSuchGraphEdgeError :
+ class PALUDIS_VISIBLE NoSuchGraphEdgeError :
public GraphError
{
public:
@@ -104,7 +104,7 @@ namespace paludis
* \ingroup grpexceptions
* \nosubgrouping
*/
- class NoGraphTopologicalOrderExistsError :
+ class PALUDIS_VISIBLE NoGraphTopologicalOrderExistsError :
public GraphError
{
private:
@@ -133,7 +133,7 @@ namespace paludis
* \nosubgrouping
*/
template <typename Node_, typename Edge_>
- class DirectedGraph :
+ class PALUDIS_VISIBLE DirectedGraph :
private PrivateImplementationPattern<DirectedGraph<Node_, Edge_> >
{
private:
diff --git a/paludis/util/graph_TEST.cc b/paludis/util/graph_TEST.cc
index b5ec2dd..e215dcc 100644
--- a/paludis/util/graph_TEST.cc
+++ b/paludis/util/graph_TEST.cc
@@ -75,7 +75,6 @@ namespace test_cases
g.add_edge("d", "e", 5);
g.add_edge("d", "f", 6);
- int x(0);
for (char mc('a') ; mc < 'g' ; ++mc)
for (char nc('a') ; nc < 'g' ; ++nc)
{
diff --git a/paludis/util/instantiation_policy_TEST.cc b/paludis/util/instantiation_policy_TEST.cc
index e265df5..0a22881 100644
--- a/paludis/util/instantiation_policy_TEST.cc
+++ b/paludis/util/instantiation_policy_TEST.cc
@@ -158,7 +158,8 @@ namespace test_cases
void run()
{
- TEST_CHECK_THROWS(MyRecursiveClass * x = MyRecursiveClass::get_instance(), InternalError);
+ TEST_CHECK_THROWS(MyRecursiveClass * PALUDIS_ATTRIBUTE((unused)) x =
+ MyRecursiveClass::get_instance(), InternalError);
}
} test_singleton_pattern_recurse;
}
diff --git a/paludis/util/is_file_with_extension.hh b/paludis/util/is_file_with_extension.hh
index 11a7a75..ed3a94e 100644
--- a/paludis/util/is_file_with_extension.hh
+++ b/paludis/util/is_file_with_extension.hh
@@ -53,7 +53,7 @@ namespace paludis
*
* \ingroup grpfilesystem
*/
- bool is_file_with_extension(const FSEntry &, const std::string &, const IsFileWithOptions &);
+ bool is_file_with_extension(const FSEntry &, const std::string &, const IsFileWithOptions &) PALUDIS_VISIBLE;
/**
* Return whether an FSEntry is a file with a given prefix and a given
@@ -63,7 +63,7 @@ namespace paludis
*
* \ingroup grpfilesystem
*/
- bool is_file_with_prefix_extension(const FSEntry &, const std::string &, const std::string &, const IsFileWithOptions &);
+ bool is_file_with_prefix_extension(const FSEntry &, const std::string &, const std::string &, const IsFileWithOptions &) PALUDIS_VISIBLE;
/**
* The IsFileWithExtension class is a functor that determines whether an
diff --git a/paludis/util/iterator_TEST.cc b/paludis/util/iterator_TEST.cc
index 709e3dd..ff9cf58 100644
--- a/paludis/util/iterator_TEST.cc
+++ b/paludis/util/iterator_TEST.cc
@@ -199,7 +199,7 @@ namespace test_cases
std::set<int> v;
std::generate_n(filter_inserter(std::inserter(v, v.begin()), std::ptr_fun(&is_even)),
5, Counter());
- TEST_CHECK_EQUAL(v.size(), 3);
+ TEST_CHECK_EQUAL(v.size(), std::size_t(3));
for (int n = 0 ; n < 5 ; ++n)
{
TestMessageSuffix s("n=" + stringify(n));
@@ -282,7 +282,7 @@ namespace test_cases
std::vector<int> v;
std::generate_n(transform_inserter(std::back_inserter(v), std::ptr_fun(&f)),
5, Counter());
- TEST_CHECK_EQUAL(v.size(), 5);
+ TEST_CHECK_EQUAL(v.size(), std::size_t(5));
for (int n = 0 ; n < 5 ; ++n)
{
TestMessageSuffix s("n=" + stringify(n));
@@ -342,7 +342,7 @@ namespace test_cases
std::vector<C> vv;
std::copy(v.begin(), v.end(), create_inserter<C>(std::back_inserter(vv)));
- TEST_CHECK_EQUAL(vv.size(), 2);
+ TEST_CHECK_EQUAL(vv.size(), std::size_t(2));
TEST_CHECK_EQUAL(vv.at(0).s, "one");
TEST_CHECK_EQUAL(vv.at(1).s, "two");
}
diff --git a/paludis/util/log_TEST.cc b/paludis/util/log_TEST.cc
index 792d8f0..7cfba21 100644
--- a/paludis/util/log_TEST.cc
+++ b/paludis/util/log_TEST.cc
@@ -38,12 +38,12 @@ namespace
};
std::ostream &
- operator<< (std::ostream &, const Monkey &) PALUDIS_ATTRIBUTE((noreturn));
-
- std::ostream &
- operator<< (std::ostream &, const Monkey & m)
+ operator<< (std::ostream & s, const Monkey & m)
{
- throw m;
+ if (s)
+ throw m;
+
+ return s;
}
int throws_a_monkey() PALUDIS_ATTRIBUTE((noreturn));
diff --git a/paludis/util/options.hh b/paludis/util/options.hh
index a340f58..04ed849 100644
--- a/paludis/util/options.hh
+++ b/paludis/util/options.hh
@@ -33,7 +33,7 @@ namespace paludis
* \see Options<>
* \ingroup grpoptions
*/
- class OptionsStore :
+ class PALUDIS_VISIBLE OptionsStore :
private PrivateImplementationPattern<OptionsStore>
{
public:
diff --git a/paludis/util/sr.hh b/paludis/util/sr.hh
index c0de68d..2df902d 100644
--- a/paludis/util/sr.hh
+++ b/paludis/util/sr.hh
@@ -20,6 +20,8 @@
#ifndef PALUDIS_GUARD_PALUDIS_UTIL_SR_HH
#define PALUDIS_GUARD_PALUDIS_UTIL_SR_HH 1
+#include <paludis/util/attributes.hh>
+
namespace paludis
{
/**
@@ -30,7 +32,7 @@ namespace paludis
struct Empty
{
/// Convenience instance.
- static const Empty instance;
+ static const PALUDIS_VISIBLE Empty instance;
};
template <bool value_, typename IfTrue_, typename IfFalse_>
diff --git a/paludis/util/system.hh b/paludis/util/system.hh
index a59a795..e65aaf7 100644
--- a/paludis/util/system.hh
+++ b/paludis/util/system.hh
@@ -100,7 +100,7 @@ namespace paludis
* \ingroup grpsystem
* \nosubgrouping
*/
- class Command :
+ class PALUDIS_VISIBLE Command :
private PrivateImplementationPattern<Command>
{
public:
diff --git a/paludis/util/tokeniser_TEST.cc b/paludis/util/tokeniser_TEST.cc
index d9876c4..4cead06 100644
--- a/paludis/util/tokeniser_TEST.cc
+++ b/paludis/util/tokeniser_TEST.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006 Ciaran McCreesh <ciaranm@ciaranm.org>
+ * Copyright (c) 2006, 2007 Ciaran McCreesh <ciaranm@ciaranm.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
@@ -48,7 +48,7 @@ namespace test_cases
TEST_CHECK(tokens.empty());
t.tokenise("one,two...+...three...", std::back_inserter(tokens));
- TEST_CHECK_EQUAL(tokens.size(), 3);
+ TEST_CHECK_EQUAL(tokens.size(), std::size_t(3));
TEST_CHECK_EQUAL(tokens.at(0), "one");
TEST_CHECK_EQUAL(tokens.at(1), "two");
TEST_CHECK_EQUAL(tokens.at(2), "three");
@@ -56,7 +56,7 @@ namespace test_cases
TEST_CHECK(tokens.empty());
t.tokenise("...one,two...+...three", std::back_inserter(tokens));
- TEST_CHECK_EQUAL(tokens.size(), 3);
+ TEST_CHECK_EQUAL(tokens.size(), std::size_t(3));
TEST_CHECK_EQUAL(tokens.at(0), "one");
TEST_CHECK_EQUAL(tokens.at(1), "two");
TEST_CHECK_EQUAL(tokens.at(2), "three");
@@ -64,18 +64,18 @@ namespace test_cases
TEST_CHECK(tokens.empty());
t.tokenise("one", std::back_inserter(tokens));
- TEST_CHECK_EQUAL(tokens.size(), 1);
+ TEST_CHECK_EQUAL(tokens.size(), std::size_t(1));
TEST_CHECK_EQUAL(tokens.at(0), "one");
tokens.clear();
TEST_CHECK(tokens.empty());
t.tokenise(".+.,.", std::back_inserter(tokens));
- TEST_CHECK_EQUAL(tokens.size(), 0);
+ TEST_CHECK_EQUAL(tokens.size(), std::size_t(0));
tokens.clear();
TEST_CHECK(tokens.empty());
t.tokenise("", std::back_inserter(tokens));
- TEST_CHECK_EQUAL(tokens.size(), 0);
+ TEST_CHECK_EQUAL(tokens.size(), std::size_t(0));
tokens.clear();
}
} test_tokeniser_ad;
@@ -95,7 +95,7 @@ namespace test_cases
TEST_CHECK(tokens.empty());
t.tokenise("one,two...+...three...", std::back_inserter(tokens));
- TEST_CHECK_EQUAL(tokens.size(), 6);
+ TEST_CHECK_EQUAL(tokens.size(), std::size_t(6));
TEST_CHECK_EQUAL(tokens.at(0), "one");
TEST_CHECK_EQUAL(tokens.at(1), ",");
TEST_CHECK_EQUAL(tokens.at(2), "two");
@@ -106,7 +106,7 @@ namespace test_cases
TEST_CHECK(tokens.empty());
t.tokenise("...one,two...+...three", std::back_inserter(tokens));
- TEST_CHECK_EQUAL(tokens.size(), 6);
+ TEST_CHECK_EQUAL(tokens.size(), std::size_t(6));
TEST_CHECK_EQUAL(tokens.at(0), "...");
TEST_CHECK_EQUAL(tokens.at(1), "one");
TEST_CHECK_EQUAL(tokens.at(2), ",");
@@ -117,19 +117,19 @@ namespace test_cases
TEST_CHECK(tokens.empty());
t.tokenise("one", std::back_inserter(tokens));
- TEST_CHECK_EQUAL(tokens.size(), 1);
+ TEST_CHECK_EQUAL(tokens.size(), std::size_t(1));
TEST_CHECK_EQUAL(tokens.at(0), "one");
tokens.clear();
TEST_CHECK(tokens.empty());
t.tokenise(".+.,.", std::back_inserter(tokens));
- TEST_CHECK_EQUAL(tokens.size(), 1);
+ TEST_CHECK_EQUAL(tokens.size(), std::size_t(1));
TEST_CHECK_EQUAL(tokens.at(0), ".+.,.");
tokens.clear();
TEST_CHECK(tokens.empty());
t.tokenise("", std::back_inserter(tokens));
- TEST_CHECK_EQUAL(tokens.size(), 0);
+ TEST_CHECK_EQUAL(tokens.size(), std::size_t(0));
tokens.clear();
}
} test_tokeniser_ab;
diff --git a/paludis/util/virtual_constructor_TEST.cc b/paludis/util/virtual_constructor_TEST.cc
index 22ecfe4..b11ea40 100644
--- a/paludis/util/virtual_constructor_TEST.cc
+++ b/paludis/util/virtual_constructor_TEST.cc
@@ -46,8 +46,8 @@ namespace
CookieSize _size;
protected:
- Cookie(CookieSize size) :
- _size(size)
+ Cookie(CookieSize sz) :
+ _size(sz)
{
};
@@ -74,8 +74,8 @@ namespace
class ChocolateChipCookie : public Cookie
{
public:
- ChocolateChipCookie(CookieSize size) :
- Cookie(size)
+ ChocolateChipCookie(CookieSize sz) :
+ Cookie(sz)
{
}
@@ -96,8 +96,8 @@ namespace
bool _with_crunchy_bits;
public:
- GingerCookie(CookieSize size, bool with_crunchy_bits) :
- Cookie(size),
+ GingerCookie(CookieSize sz, bool with_crunchy_bits) :
+ Cookie(sz),
_with_crunchy_bits(with_crunchy_bits)
{
}
diff --git a/paludis/version_metadata.hh b/paludis/version_metadata.hh
index 0b7e2ac..d066e00 100644
--- a/paludis/version_metadata.hh
+++ b/paludis/version_metadata.hh
@@ -51,7 +51,7 @@ namespace paludis
*
* \ingroup grpversions
*/
- class VersionMetadataHasInterfaces
+ class PALUDIS_VISIBLE VersionMetadataHasInterfaces
{
protected:
///\name Basic operations
@@ -92,7 +92,7 @@ namespace paludis
*
* \ingroup grpversions
*/
- class VersionMetadata :
+ class PALUDIS_VISIBLE VersionMetadata :
private InstantiationPolicy<VersionMetadata, instantiation_method::NonCopyableTag>,
public VersionMetadataBase,
public VersionMetadataCapabilities
diff --git a/paludis/version_metadata.sr b/paludis/version_metadata.sr
index 22e7e0e..66a895d 100644
--- a/paludis/version_metadata.sr
+++ b/paludis/version_metadata.sr
@@ -3,6 +3,8 @@
make_class_VersionMetadataCapabilities()
{
+ visible
+
key ebuild_interface "VersionMetadataEbuildInterface *"
key ebin_interface "VersionMetadataEbinInterface *"
key cran_interface "VersionMetadataCRANInterface *"
@@ -26,6 +28,8 @@ END
make_class_VersionMetadataDepsInterface()
{
+ visible
+
inherit "public virtual VersionMetadataHasInterfaces"
key parser DepParserFunction
@@ -73,6 +77,8 @@ END
make_class_VersionMetadataLicenseInterface()
{
+ visible
+
inherit "public virtual VersionMetadataHasInterfaces"
key parser TextParserFunction
@@ -102,6 +108,8 @@ END
make_class_VersionMetadataOriginsInterface()
{
+ visible
+
inherit "public virtual VersionMetadataHasInterfaces"
key "source" "std::tr1::shared_ptr<PackageDatabaseEntry>"
@@ -123,6 +131,8 @@ END
make_class_VersionMetadataBase()
{
+ visible
+
inherit "public virtual VersionMetadataHasInterfaces"
key slot SlotName
@@ -145,6 +155,8 @@ END
make_class_VersionMetadataEbuildInterface()
{
+ visible
+
inherit "public virtual VersionMetadataHasInterfaces"
key provide_string std::string
@@ -190,6 +202,8 @@ END
make_class_VersionMetadataEbinInterface()
{
+ visible
+
inherit "public virtual VersionMetadataHasInterfaces"
key bin_uri_string std::string
@@ -216,6 +230,8 @@ END
make_class_VersionMetadataCRANInterface()
{
+ visible
+
inherit "public virtual VersionMetadataHasInterfaces"
key keywords_string std::string
@@ -245,6 +261,8 @@ END
make_class_VersionMetadataVirtualInterface()
{
+ visible
+
inherit "public virtual VersionMetadataHasInterfaces"
key virtual_for PackageDatabaseEntry
diff --git a/paludis/version_operator.hh b/paludis/version_operator.hh
index e7d9174..a7bd62e 100644
--- a/paludis/version_operator.hh
+++ b/paludis/version_operator.hh
@@ -43,9 +43,10 @@ namespace paludis
*
* \ingroup grpversions
*/
- class VersionOperator : public ComparisonPolicy<VersionOperator,
- comparison_mode::EqualityComparisonTag,
- comparison_method::CompareByMemberTag<VersionOperatorValue> >
+ class PALUDIS_VISIBLE VersionOperator :
+ public ComparisonPolicy<VersionOperator,
+ comparison_mode::EqualityComparisonTag,
+ comparison_method::CompareByMemberTag<VersionOperatorValue> >
{
friend std::ostream & operator<< (std::ostream &, const VersionOperator &);
@@ -112,7 +113,7 @@ namespace paludis
* \ingroup grpversions
* \ingroup grpexceptions
*/
- class BadVersionOperatorError :
+ class PALUDIS_VISIBLE BadVersionOperatorError :
public Exception
{
public:
@@ -127,7 +128,7 @@ namespace paludis
*
* \ingroup grpversions
*/
- std::ostream & operator<< (std::ostream & s, const VersionOperator &);
+ std::ostream & operator<< (std::ostream & s, const VersionOperator &) PALUDIS_VISIBLE;
}
#endif
diff --git a/paludis/version_requirements.sr b/paludis/version_requirements.sr
index a905efd..6632c6f 100644
--- a/paludis/version_requirements.sr
+++ b/paludis/version_requirements.sr
@@ -3,6 +3,8 @@
make_class_VersionRequirement()
{
+ visible
+
key version_operator VersionOperator
key version_spec VersionSpec
diff --git a/paludis/version_spec.hh b/paludis/version_spec.hh
index e7ba6f3..76a8d2c 100644
--- a/paludis/version_spec.hh
+++ b/paludis/version_spec.hh
@@ -42,7 +42,7 @@ namespace paludis
* \ingroup grpexceptions
* \ingroup grpversions
*/
- class BadVersionSpecError :
+ class PALUDIS_VISIBLE BadVersionSpecError :
public NameError
{
public:
@@ -60,7 +60,7 @@ namespace paludis
*
* \ingroup grpversions
*/
- class VersionSpec :
+ class PALUDIS_VISIBLE VersionSpec :
private PrivateImplementationPattern<VersionSpec>,
public ComparisonPolicy<VersionSpec, comparison_mode::FullComparisonTag,
comparison_method::CompareByMemberComparisonFunctionTag>
@@ -157,7 +157,7 @@ namespace paludis
*
* \ingroup grpversions
*/
- std::ostream & operator<< (std::ostream &, const VersionSpec &);
+ std::ostream & operator<< (std::ostream &, const VersionSpec &) PALUDIS_VISIBLE;
/**
* Holds a collection of VersionSpec instances.
diff --git a/python/Makefile.am b/python/Makefile.am
index 23d8668..10ada20 100644
--- a/python/Makefile.am
+++ b/python/Makefile.am
@@ -7,7 +7,8 @@ AM_CXXFLAGS = -I$(top_srcdir) -I$(srcdir)/ \
@PALUDIS_CXXFLAGS_NO_WUNUSED@ \
@PALUDIS_CXXFLAGS_NO_WSHADOW@ \
@PALUDIS_CXXFLAGS_NO_WEXTRA@ \
- @PALUDIS_CXXFLAGS_NO_WOLD_STYLE_CAST@
+ @PALUDIS_CXXFLAGS_NO_WOLD_STYLE_CAST@ \
+ @PALUDIS_CXXFLAGS_VISIBILITY@
DEFS= \
-DSYSCONFDIR=\"$(sysconfdir)\" \
diff --git a/python/contents.cc b/python/contents.cc
index 24167a0..3da80ae 100644
--- a/python/contents.cc
+++ b/python/contents.cc
@@ -41,7 +41,7 @@ class class_contents:
}
};
-void expose_contents()
+void PALUDIS_VISIBLE expose_contents()
{
bp::register_ptr_to_python<std::tr1::shared_ptr<const ContentsEntry> >();
bp::implicitly_convertible<std::tr1::shared_ptr<ContentsEntry>,
@@ -111,3 +111,4 @@ void expose_contents()
);
c.def("__iter__", bp::range(&Contents::begin, &Contents::end));
}
+
diff --git a/python/dep_spec.cc b/python/dep_spec.cc
index 4af29d7..e538dac 100644
--- a/python/dep_spec.cc
+++ b/python/dep_spec.cc
@@ -25,7 +25,7 @@ using namespace paludis;
using namespace paludis::python;
namespace bp = boost::python;
-void expose_dep_spec()
+void PALUDIS_VISIBLE expose_dep_spec()
{
static register_exception<PackageDepSpecError>
PackageDepSpecError("PackageDepSpecError");
diff --git a/python/environment.cc b/python/environment.cc
index e801277..ec5b18c 100644
--- a/python/environment.cc
+++ b/python/environment.cc
@@ -41,7 +41,7 @@ struct NoConfigEnvironmentWrapper :
}
};
-void expose_environment()
+void PALUDIS_VISIBLE expose_environment()
{
static register_exception<NoSuchEnvironmentTypeError>
NoSuchEnvironmentTypeError("NoSuchEnvironmentTypeError");
diff --git a/python/fs_entry.cc b/python/fs_entry.cc
index 2f7ecac..d169941 100644
--- a/python/fs_entry.cc
+++ b/python/fs_entry.cc
@@ -25,7 +25,7 @@ using namespace paludis;
using namespace paludis::python;
namespace bp = boost::python;
-void expose_fs_entry()
+void PALUDIS_VISIBLE expose_fs_entry()
{
static register_exception<FSError>
FSError("FSError");
diff --git a/python/log.cc b/python/log.cc
index 61d9e3e..06c577b 100644
--- a/python/log.cc
+++ b/python/log.cc
@@ -25,7 +25,7 @@ using namespace paludis;
using namespace paludis::python;
namespace bp = boost::python;
-void expose_log()
+void PALUDIS_VISIBLE expose_log()
{
enum_auto("LogLevel", last_ll);
enum_auto("LogContext", last_lc);
diff --git a/python/mask_reasons.cc b/python/mask_reasons.cc
index 4c131fd..eb2e85b 100644
--- a/python/mask_reasons.cc
+++ b/python/mask_reasons.cc
@@ -25,7 +25,7 @@ using namespace paludis;
using namespace paludis::python;
namespace bp = boost::python;
-void expose_mask_reasons()
+void PALUDIS_VISIBLE expose_mask_reasons()
{
enum_auto("MaskReason", last_mr);
diff --git a/python/name.cc b/python/name.cc
index d1b6f8f..d7e763c 100644
--- a/python/name.cc
+++ b/python/name.cc
@@ -25,7 +25,7 @@ using namespace paludis;
using namespace paludis::python;
namespace bp = boost::python;
-void expose_name()
+void PALUDIS_VISIBLE expose_name()
{
static register_exception<PackageNamePartError>
PackageNamePartError("PackageNamePartError");
diff --git a/python/package_database.cc b/python/package_database.cc
index 716d82e..5151bc1 100644
--- a/python/package_database.cc
+++ b/python/package_database.cc
@@ -30,7 +30,7 @@ using namespace paludis;
using namespace paludis::python;
namespace bp = boost::python;
-void expose_package_database()
+void PALUDIS_VISIBLE expose_package_database()
{
static register_exception<PackageDatabaseError>
PackageDatabaseError("PackageDatabaseError");
diff --git a/python/portage_dep_parser.cc b/python/portage_dep_parser.cc
index b4b9cbe..82d67fd 100644
--- a/python/portage_dep_parser.cc
+++ b/python/portage_dep_parser.cc
@@ -25,7 +25,7 @@ using namespace paludis;
using namespace paludis::python;
namespace bp = boost::python;
-void expose_portage_dep_parser()
+void PALUDIS_VISIBLE expose_portage_dep_parser()
{
static register_exception<DepStringParseError>
DepStringParseError("DepStringParseError");
diff --git a/python/query.cc b/python/query.cc
index e7273d2..7da4373 100644
--- a/python/query.cc
+++ b/python/query.cc
@@ -27,7 +27,7 @@ using namespace paludis;
using namespace paludis::python;
namespace bp = boost::python;
-void expose_query()
+void PALUDIS_VISIBLE expose_query()
{
bp::class_<Query>
q("Query",
diff --git a/python/repository.cc b/python/repository.cc
index 0db4bb7..e1a586b 100644
--- a/python/repository.cc
+++ b/python/repository.cc
@@ -197,7 +197,7 @@ struct RepositoryPortageInterfaceWrapper :
};
-void expose_repository()
+void PALUDIS_VISIBLE expose_repository()
{
static register_exception<PackageActionError>
PackageActionError("PackageActionError");
diff --git a/python/version_metadata.cc b/python/version_metadata.cc
index 42f7aaf..0db833d 100644
--- a/python/version_metadata.cc
+++ b/python/version_metadata.cc
@@ -70,7 +70,7 @@ struct VersionMetadataWrapper
}
};
-void expose_version_metadata()
+void PALUDIS_VISIBLE expose_version_metadata()
{
bp::register_ptr_to_python<std::tr1::shared_ptr<const VersionMetadata> >();
bp::class_<VersionMetadata, boost::noncopyable>
diff --git a/python/version_operator.cc b/python/version_operator.cc
index eb166db..0b1d0c6 100644
--- a/python/version_operator.cc
+++ b/python/version_operator.cc
@@ -32,7 +32,7 @@ compare(const VersionOperator & self, const VersionSpec & v1, const VersionSpec
return (v1.*(self.as_version_spec_operator()))(v2);
}
-void expose_version_operator()
+void PALUDIS_VISIBLE expose_version_operator()
{
static register_exception<BadVersionOperatorError>
BadVersionOperatorError("BadVersionOperatorError");
diff --git a/python/version_requirements.cc b/python/version_requirements.cc
index ec7df28..9e41d4c 100644
--- a/python/version_requirements.cc
+++ b/python/version_requirements.cc
@@ -25,7 +25,7 @@ using namespace paludis;
using namespace paludis::python;
namespace bp = boost::python;
-void expose_version_requirements()
+void PALUDIS_VISIBLE expose_version_requirements()
{
bp::class_<VersionRequirement>
vr("VersionRequirement",
diff --git a/python/version_spec.cc b/python/version_spec.cc
index 165e69b..6aee64a 100644
--- a/python/version_spec.cc
+++ b/python/version_spec.cc
@@ -26,7 +26,7 @@ using namespace paludis;
using namespace paludis::python;
namespace bp = boost::python;
-void expose_version_spec()
+void PALUDIS_VISIBLE expose_version_spec()
{
static register_exception<BadVersionSpecError>
BadVersionSpecError("BadVersionSpecError");
diff --git a/ruby/Makefile.am b/ruby/Makefile.am
index bc2223d..999e4bc 100644
--- a/ruby/Makefile.am
+++ b/ruby/Makefile.am
@@ -4,7 +4,8 @@ AM_CXXFLAGS = -I$(top_srcdir) -I$(srcdir)/ \
-I$(top_builddir)/ \
@PALUDIS_CXXFLAGS_WITHOUT_PEDANTIC@ \
@PALUDIS_CXXFLAGS_NO_WREDUNDANT_DECLS@ \
- @PALUDIS_CXXFLAGS_NO_WOLD_STYLE_CAST@
+ @PALUDIS_CXXFLAGS_NO_WOLD_STYLE_CAST@ \
+ @PALUDIS_CXXFLAGS_VISIBILITY@
DEFS= \
-DSYSCONFDIR=\"$(sysconfdir)\" \
diff --git a/ruby/paludis_ruby.cc b/ruby/paludis_ruby.cc
index 456d625..c010e26 100644
--- a/ruby/paludis_ruby.cc
+++ b/ruby/paludis_ruby.cc
@@ -274,7 +274,7 @@ has_query_property_error_query(VALUE self)
return rb_attr_get(self, rb_intern("query"));
}
-void paludis::ruby::init()
+void PALUDIS_VISIBLE paludis::ruby::init()
{
/*
* Document-module: Paludis
diff --git a/ruby/paludis_ruby_so.cc b/ruby/paludis_ruby_so.cc
index 284bb0b..f91bf0c 100644
--- a/ruby/paludis_ruby_so.cc
+++ b/ruby/paludis_ruby_so.cc
@@ -18,10 +18,11 @@
*/
#include "paludis_ruby.hh"
+#include <paludis/util/attributes.hh>
extern "C"
{
- void Init_Paludis()
+ void PALUDIS_VISIBLE Init_Paludis()
{
paludis::ruby::init();
}
diff --git a/src/clients/adjutrix/Makefile.am b/src/clients/adjutrix/Makefile.am
index bddeb34..a209fd5 100644
--- a/src/clients/adjutrix/Makefile.am
+++ b/src/clients/adjutrix/Makefile.am
@@ -26,6 +26,7 @@ man_adjutrix_SOURCES = \
man_adjutrix_LDADD = \
$(top_builddir)/paludis/args/libpaludisargs.la \
+ $(top_builddir)/paludis/args/libpaludisman.a \
$(top_builddir)/paludis/util/libpaludisutil.la \
$(top_builddir)/paludis/libpaludismanpagethings.la \
$(top_builddir)/src/output/liboutput.a \
diff --git a/src/clients/contrarius/Makefile.am b/src/clients/contrarius/Makefile.am
index baebf96..0c573e9 100644
--- a/src/clients/contrarius/Makefile.am
+++ b/src/clients/contrarius/Makefile.am
@@ -74,6 +74,7 @@ man_contrarius_SOURCES = \
man_contrarius_LDADD = \
$(top_builddir)/paludis/args/libpaludisargs.la \
+ $(top_builddir)/paludis/args/libpaludisman.a \
$(top_builddir)/paludis/util/libpaludisutil.la \
$(top_builddir)/src/output/liboutput.a \
$(top_builddir)/src/common_args/libcommonargs.a \
diff --git a/src/clients/inquisitio/Makefile.am b/src/clients/inquisitio/Makefile.am
index 369dfd5..2e5ddd2 100644
--- a/src/clients/inquisitio/Makefile.am
+++ b/src/clients/inquisitio/Makefile.am
@@ -24,6 +24,7 @@ man_inquisitio_SOURCES = \
man_inquisitio_LDADD = \
$(top_builddir)/paludis/args/libpaludisargs.la \
+ $(top_builddir)/paludis/args/libpaludisman.a \
$(top_builddir)/paludis/util/libpaludisutil.la \
$(top_builddir)/paludis/libpaludismanpagethings.la \
$(top_builddir)/src/common_args/libcommonargs.a \
diff --git a/src/clients/paludis/Makefile.am b/src/clients/paludis/Makefile.am
index 227f9b2..8048b9a 100644
--- a/src/clients/paludis/Makefile.am
+++ b/src/clients/paludis/Makefile.am
@@ -25,6 +25,7 @@ man_paludis_SOURCES = \
man_paludis_LDADD = \
$(top_builddir)/paludis/args/libpaludisargs.la \
+ $(top_builddir)/paludis/args/libpaludisman.a \
$(top_builddir)/paludis/util/libpaludisutil.la \
$(top_builddir)/paludis/libpaludismanpagethings.la \
$(top_builddir)/src/common_args/libcommonargs.a \
diff --git a/src/clients/qualudis/Makefile.am b/src/clients/qualudis/Makefile.am
index c8c6814..f738f4e 100644
--- a/src/clients/qualudis/Makefile.am
+++ b/src/clients/qualudis/Makefile.am
@@ -79,6 +79,7 @@ man_qualudis_SOURCES = \
man_qualudis_LDADD = \
$(top_builddir)/paludis/args/libpaludisargs.la \
+ $(top_builddir)/paludis/args/libpaludisman.a \
$(top_builddir)/paludis/util/libpaludisutil.la \
$(top_builddir)/paludis/libpaludismanpagethings.la \
$(top_builddir)/src/output/liboutput.a \
diff --git a/src/common_args/Makefile.am b/src/common_args/Makefile.am
index bcce723..c3ca076 100644
--- a/src/common_args/Makefile.am
+++ b/src/common_args/Makefile.am
@@ -1,7 +1,7 @@
CLEANFILES = *~ gmon.out *.gcov *.gcno *.gcda
MAINTAINERCLEANFILES = Makefile.in
-AM_CXXFLAGS = -I$(top_srcdir) -I$(top_srcdir)/src @PALUDIS_CXXFLAGS@
+AM_CXXFLAGS = -I$(top_srcdir) -I$(top_srcdir)/src @PALUDIS_CXXFLAGS@ @PALUDIS_CXXFLAGS_VISIBILITY@
built-sources : $(BUILT_SOURCES)
for s in `echo $(SUBDIRS) | tr -d .` ; do $(MAKE) -C $$s built-sources || exit 1 ; done
diff --git a/src/common_args/debug_build_arg.hh b/src/common_args/debug_build_arg.hh
index 10fa9b6..6c7b47b 100644
--- a/src/common_args/debug_build_arg.hh
+++ b/src/common_args/debug_build_arg.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006 Ciaran McCreesh <ciaranm@ciaranm.org>
+ * Copyright (c) 2006, 2007 Ciaran McCreesh <ciaranm@ciaranm.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
@@ -27,7 +27,7 @@ namespace paludis
{
namespace args
{
- class DebugBuildArg :
+ class PALUDIS_VISIBLE DebugBuildArg :
public EnumArg
{
public:
diff --git a/src/common_args/deps_option_arg.hh b/src/common_args/deps_option_arg.hh
index 8c2127d..60775b0 100644
--- a/src/common_args/deps_option_arg.hh
+++ b/src/common_args/deps_option_arg.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006 Ciaran McCreesh <ciaranm@ciaranm.org>
+ * Copyright (c) 2006, 2007 Ciaran McCreesh <ciaranm@ciaranm.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
@@ -27,7 +27,7 @@ namespace paludis
{
namespace args
{
- class DepsOptionArg :
+ class PALUDIS_VISIBLE DepsOptionArg :
public EnumArg
{
public:
diff --git a/src/common_args/do_help.hh b/src/common_args/do_help.hh
index ff38e69..a5fa03f 100644
--- a/src/common_args/do_help.hh
+++ b/src/common_args/do_help.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006 Ciaran McCreesh <ciaranm@ciaranm.org>
+ * Copyright (c) 2006, 2007 Ciaran McCreesh <ciaranm@ciaranm.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
@@ -24,7 +24,7 @@ namespace paludis
{
namespace args
{
- struct DoHelp
+ struct PALUDIS_VISIBLE DoHelp
{
const std::string message;
diff --git a/src/common_args/log_level_arg.hh b/src/common_args/log_level_arg.hh
index f60e866..c2efbc3 100644
--- a/src/common_args/log_level_arg.hh
+++ b/src/common_args/log_level_arg.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006 Ciaran McCreesh <ciaranm@ciaranm.org>
+ * Copyright (c) 2006, 2007 Ciaran McCreesh <ciaranm@ciaranm.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
@@ -27,7 +27,7 @@ namespace paludis
{
namespace args
{
- class LogLevelArg :
+ class PALUDIS_VISIBLE LogLevelArg :
public EnumArg
{
public:
diff --git a/src/output/Makefile.am b/src/output/Makefile.am
index 8b5259b..03fe536 100644
--- a/src/output/Makefile.am
+++ b/src/output/Makefile.am
@@ -13,7 +13,7 @@ liboutput_a_SOURCES = \
use_flag_pretty_printer.cc use_flag_pretty_printer.hh \
licence.cc licence.hh
-AM_CXXFLAGS = -I$(top_srcdir) -I$(top_srcdir)/src @PALUDIS_CXXFLAGS@
+AM_CXXFLAGS = -I$(top_srcdir) -I$(top_srcdir)/src @PALUDIS_CXXFLAGS@ @PALUDIS_CXXFLAGS_VISIBILITY@
built-sources : $(BUILT_SOURCES)
for s in `echo $(SUBDIRS) | tr -d .` ; do $(MAKE) -C $$s built-sources || exit 1 ; done
diff --git a/src/output/colour.hh b/src/output/colour.hh
index 06f1202..c6b8e41 100644
--- a/src/output/colour.hh
+++ b/src/output/colour.hh
@@ -83,9 +83,9 @@ enum Colour
cl_stage_long_name = cl_yellow
};
-bool use_colour();
-void set_use_colour(const bool value);
-bool use_xterm_titles() PALUDIS_ATTRIBUTE((pure));
+bool PALUDIS_VISIBLE use_colour();
+void PALUDIS_VISIBLE set_use_colour(const bool value);
+bool PALUDIS_VISIBLE use_xterm_titles() PALUDIS_ATTRIBUTE((pure));
template <typename T_>
std::string colour(Colour colour, const T_ & s)
diff --git a/src/output/console_install_task.sr b/src/output/console_install_task.sr
index 53780c9..b7a02bf 100644
--- a/src/output/console_install_task.sr
+++ b/src/output/console_install_task.sr
@@ -3,6 +3,8 @@
make_class_UseDescription()
{
+ visible
+
key flag UseFlagName
key package PackageDatabaseEntry
key state UseDescriptionState
diff --git a/src/output/console_query_task.hh b/src/output/console_query_task.hh
index 7be1d14..a61a060 100644
--- a/src/output/console_query_task.hh
+++ b/src/output/console_query_task.hh
@@ -26,7 +26,7 @@
namespace paludis
{
- class ConsoleQueryTask :
+ class PALUDIS_VISIBLE ConsoleQueryTask :
private PrivateImplementationPattern<ConsoleQueryTask>,
public ConsoleTask
{
diff --git a/src/output/console_task.hh b/src/output/console_task.hh
index 8b13cd8..ebeb885 100644
--- a/src/output/console_task.hh
+++ b/src/output/console_task.hh
@@ -22,10 +22,11 @@
#include <iosfwd>
#include <string>
+#include <paludis/util/attributes.hh>
namespace paludis
{
- class ConsoleTask
+ class PALUDIS_VISIBLE ConsoleTask
{
protected:
ConsoleTask();
diff --git a/src/output/licence.hh b/src/output/licence.hh
index 38ee285..e894008 100644
--- a/src/output/licence.hh
+++ b/src/output/licence.hh
@@ -26,7 +26,7 @@
/**
* Display licences.
*/
-struct LicenceDisplayer :
+struct PALUDIS_VISIBLE LicenceDisplayer :
paludis::DepSpecVisitorTypes::ConstVisitor
{
/// Our stream.
diff --git a/src/output/use_flag_pretty_printer.hh b/src/output/use_flag_pretty_printer.hh
index cda5bad..aec0ce9 100644
--- a/src/output/use_flag_pretty_printer.hh
+++ b/src/output/use_flag_pretty_printer.hh
@@ -28,7 +28,7 @@ namespace paludis
class Environment;
class PackageDatabaseEntry;
- class UseFlagPrettyPrinter
+ class PALUDIS_VISIBLE UseFlagPrettyPrinter
{
private:
const Environment * const _env;
diff --git a/test/Makefile.am b/test/Makefile.am
index 054ada0..3ffe1aa 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -1,6 +1,6 @@
CLEANFILES = *~ gmon.out *.gcov *.gcno *.gcda
MAINTAINERCLEANFILES = Makefile.in
-AM_CXXFLAGS = -I$(top_srcdir) @PALUDIS_CXXFLAGS@
+AM_CXXFLAGS = -I$(top_srcdir) @PALUDIS_CXXFLAGS@ @PALUDIS_CXXFLAGS_VISIBILITY@
EXTRA_DIST = run_test.sh
libtest_a_SOURCES = \