/* UNIX build */
-#else
+#elsif defined(__ELF__)
+
# define XBT_PUBLIC(type) type
# define XBT_EXPORT_NO_IMPORT(type) type
# define XBT_IMPORT_NO_EXPORT(type) type
# define XBT_PUBLIC_DATA(type) extern type
# define XBT_PUBLIC_CLASS class
+#else
+# define XBT_PUBLIC(type) __attribute__((visibility("default"))) type
+# define XBT_EXPORT_NO_IMPORT(type) __attribute__((visibility("default"))) type
+# define XBT_IMPORT_NO_EXPORT(type) __attribute__((visibility("default"))) type
+# define XBT_PUBLIC_DATA(type) extern __attribute__((visibility("default"))) type
+# define XBT_PUBLIC_CLASS class __attribute__((visibility("default")))
+
#endif
#ifdef __ELF__
const char *subprogram_name,
simgrid::mc::ObjectInformation* info);
-XBT_PRIVATE void MC_ignore_local_variable(const char *var_name, const char *frame_name)
+void MC_ignore_local_variable(const char *var_name, const char *frame_name)
{
simgrid::mc::Process* process = &mc_model_checker->process();
if (strcmp(frame_name, "*") == 0)
XBT_PRIVATE msg_host_t __MSG_host_create(sg_host_t host);
XBT_PRIVATE msg_storage_t __MSG_storage_create(smx_storage_t storage);
-XBT_PRIVATE void __MSG_host_destroy(msg_host_t host);
+void __MSG_host_destroy(msg_host_t host);
XBT_PRIVATE void __MSG_host_priv_free(msg_host_priv_t priv);
XBT_PRIVATE void __MSG_storage_destroy(msg_storage_priv_t host);
XBT_PRIVATE void __MSG_file_destroy(msg_file_priv_t host);
* Classes *
***********/
-class XBT_PRIVATE As;
+class As;
class XBT_PRIVATE RoutingModelDescription;
class XBT_PRIVATE Onelink;
-class XBT_PRIVATE RoutingPlatf;
+class RoutingPlatf;
/** @ingroup SURF_routing_interface
* @brief A routing edge
class XBT_PRIVATE AsGeneric;
-XBT_PRIVATE void generic_free_route(sg_platf_route_cbarg_t route);
+void generic_free_route(sg_platf_route_cbarg_t route);
class XBT_PRIVATE AsGeneric : public AsNone {
public: