Commit d6422b73 authored by Tiago Peixoto's avatar Tiago Peixoto

Fix symbol visibility

Now all symbols are exported by default, except those strictly marked
as hidden.
parent b5da5356
......@@ -91,14 +91,14 @@ AC_ARG_ENABLE([optimization], [AC_HELP_STRING([--disable-optimization],
[CXXFLAGS="${CXXFLAGS} -O99"]
)
AC_MSG_CHECKING(whether to enable hidden visibility...)
AC_MSG_CHECKING(whether to enable symbol visibility manipulation...)
AC_ARG_ENABLE([visibility], [AC_HELP_STRING([--disable-visibility],
[disable hidden visibility [default=enabled] ])],
[disable symbol visibility manipulation [default=enabled] ])],
[AC_MSG_RESULT(no)]
,
[AC_MSG_RESULT(yes)]
[CXXFLAGS="${CXXFLAGS} -fvisibility=hidden -fvisibility-inlines-hidden"]
[CXXFLAGS="${CXXFLAGS} -fvisibility=default -fvisibility-inlines-hidden"]
)
......
......@@ -51,9 +51,6 @@ template <class Action, class GraphViews,
struct graph_action;
}
// default visibility is necessary for related typeinfo objects to work across
// DSO boundaries
#pragma GCC visibility push(default)
class GraphInterface
{
public:
......@@ -214,7 +211,6 @@ private:
bool _edge_filter_invert;
bool _edge_filter_active;
};
#pragma GCC visibility pop
// Exceptions
// ==========
......@@ -222,7 +218,6 @@ private:
// This is the main exception which will be thrown the outside world, when
// things go wrong
#pragma GCC visibility push(default)
class GraphException : public std::exception
{
string _error;
......@@ -233,7 +228,6 @@ public:
protected:
virtual void SetError(const string& error) {_error = error;}
};
#pragma GCC visibility pop
} //namespace graph_tool
......
......@@ -363,3 +363,4 @@ BOOST_PYTHON_MODULE(libgraph_tool_core)
.add_property("install_prefix", &LibInfo::GetInstallPrefix)
.add_property("python_dir", &LibInfo::GetPythonDir);
}
......@@ -106,7 +106,6 @@ using namespace boost;
// appropriate graph view type and ValueType being 'double' and val = 42.0.
// Whenever no implementation is called, the following exception is thrown
#pragma GCC visibility push(default)
class ActionNotFound: public GraphException
{
public:
......@@ -119,7 +118,6 @@ private:
const type_info& _action;
vector<const type_info*> _args;
};
#pragma GCC visibility pop
namespace detail
{
......@@ -496,7 +494,6 @@ BOOST_MPL_ASSERT_RELATION(n_views::value, == , mpl::int_<3>::value);
// wrap action to be called, to deal with property maps, i.e., return version
// with no bounds checking.
template <class Action>
struct action_wrap
{
......
......@@ -27,7 +27,6 @@ namespace boost
{
namespace mpl
{
// The following is a implementation of a nested for_each loop, which runs a
// given Action functor for each combination of its arguments, given by the type
// ranges, as such:
......@@ -327,7 +326,6 @@ struct selected_types
any _a1, _a2, _a3, _a4, _a5;
};
} // mpl namespace
} // boost namespace
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment