From: Augustin Degomme Date: Tue, 5 Feb 2013 17:14:38 +0000 (+0100) Subject: various fixes to hopefully compile under win32 X-Git-Tag: v3_9_90~509 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/c8c6d0ade908d7787bda1c278511c3e404097671?hp=fbb6b4556c347a1dec9e462574fdc2967f494002 various fixes to hopefully compile under win32 --- diff --git a/examples/msg/masterslave/masterslave_bypass.c b/examples/msg/masterslave/masterslave_bypass.c index a5e71eab61..a7ab122329 100644 --- a/examples/msg/masterslave/masterslave_bypass.c +++ b/examples/msg/masterslave/masterslave_bypass.c @@ -18,7 +18,8 @@ static int surf_parse_bypass_platform(void) { static int AX_ptr = 0; static int surfxml_bufferstack_size = 2048; - + static int surfxml_buffer_stack_stack_ptr = 0; + static int surfxml_buffer_stack_stack[1024]; /* allocating memory for the buffer, I think 2kB should be enough */ surfxml_bufferstack = xbt_new0(char, surfxml_bufferstack_size); diff --git a/src/include/instr/instr_interface.h b/src/include/instr/instr_interface.h index 2ae6f3c4a3..52664c7d4a 100644 --- a/src/include/instr/instr_interface.h +++ b/src/include/instr/instr_interface.h @@ -1,8 +1,10 @@ -int TRACE_start (void); -int TRACE_end (void); -void TRACE_global_init(int *argc, char **argv); -void TRACE_help(int detailed); -void TRACE_surf_resource_utilization_alloc(void); -void TRACE_surf_resource_utilization_release(void); -void TRACE_add_start_function(void (*func)(void)); -void TRACE_add_end_function(void (*func)(void)); +#include "xbt.h" + +XBT_PUBLIC(int) TRACE_start (void); +XBT_PUBLIC(int) TRACE_end (void); +XBT_PUBLIC(void) TRACE_global_init(int *argc, char **argv); +XBT_PUBLIC(void) TRACE_help(int detailed); +XBT_PUBLIC(void) TRACE_surf_resource_utilization_alloc(void); +XBT_PUBLIC(void) TRACE_surf_resource_utilization_release(void); +XBT_PUBLIC(void) TRACE_add_start_function(void (*func)(void)); +XBT_PUBLIC(void) TRACE_add_end_function(void (*func)(void)); diff --git a/src/instr/instr_private.h b/src/instr/instr_private.h index ea02f0a09c..88210b634b 100644 --- a/src/instr/instr_private.h +++ b/src/instr/instr_private.h @@ -109,24 +109,24 @@ void TRACE_header(int basic); void TRACE_paje_start(void); void TRACE_paje_end(void); void TRACE_paje_dump_buffer (int force); -void new_pajeDefineContainerType(type_t type); -void new_pajeDefineVariableType(type_t type); -void new_pajeDefineStateType(type_t type); -void new_pajeDefineEventType(type_t type); -void new_pajeDefineLinkType(type_t type, type_t source, type_t dest); -void new_pajeDefineEntityValue (val_t type); -void new_pajeCreateContainer (container_t container); -void new_pajeDestroyContainer (container_t container); -void new_pajeSetVariable (double timestamp, container_t container, type_t type, double value); -void new_pajeAddVariable (double timestamp, container_t container, type_t type, double value); -void new_pajeSubVariable (double timestamp, container_t container, type_t type, double value); -void new_pajeSetState (double timestamp, container_t container, type_t type, val_t value); -void new_pajePushState (double timestamp, container_t container, type_t type, val_t value); -void new_pajePopState (double timestamp, container_t container, type_t type); -void new_pajeResetState (double timestamp, container_t container, type_t type); -void new_pajeStartLink (double timestamp, container_t container, type_t type, container_t sourceContainer, const char *value, const char *key); -void new_pajeEndLink (double timestamp, container_t container, type_t type, container_t destContainer, const char *value, const char *key); -void new_pajeNewEvent (double timestamp, container_t container, type_t type, val_t value); +XBT_PUBLIC(void) new_pajeDefineContainerType(type_t type); +XBT_PUBLIC(void) new_pajeDefineVariableType(type_t type); +XBT_PUBLIC(void) new_pajeDefineStateType(type_t type); +XBT_PUBLIC(void) new_pajeDefineEventType(type_t type); +XBT_PUBLIC(void) new_pajeDefineLinkType(type_t type, type_t source, type_t dest); +XBT_PUBLIC(void) new_pajeDefineEntityValue (val_t type); +XBT_PUBLIC(void) new_pajeCreateContainer (container_t container); +XBT_PUBLIC(void) new_pajeDestroyContainer (container_t container); +XBT_PUBLIC(void) new_pajeSetVariable (double timestamp, container_t container, type_t type, double value); +XBT_PUBLIC(void) new_pajeAddVariable (double timestamp, container_t container, type_t type, double value); +XBT_PUBLIC(void) new_pajeSubVariable (double timestamp, container_t container, type_t type, double value); +XBT_PUBLIC(void) new_pajeSetState (double timestamp, container_t container, type_t type, val_t value); +XBT_PUBLIC(void) new_pajePushState (double timestamp, container_t container, type_t type, val_t value); +XBT_PUBLIC(void) new_pajePopState (double timestamp, container_t container, type_t type); +XBT_PUBLIC(void) new_pajeResetState (double timestamp, container_t container, type_t type); +XBT_PUBLIC(void) new_pajeStartLink (double timestamp, container_t container, type_t type, container_t sourceContainer, const char *value, const char *key); +XBT_PUBLIC(void) new_pajeEndLink (double timestamp, container_t container, type_t type, container_t destContainer, const char *value, const char *key); +XBT_PUBLIC(void) new_pajeNewEvent (double timestamp, container_t container, type_t type, val_t value); //for tracing gtnets void TRACE_surf_gtnets_communicate(void *action, void *src, void *dst); @@ -137,9 +137,6 @@ int TRACE_is_enabled(void); int TRACE_platform(void); int TRACE_platform_topology(void); int TRACE_is_configured(void); -int TRACE_smpi_is_enabled(void); -int TRACE_smpi_is_grouped(void); -int TRACE_smpi_is_computing(void); int TRACE_categorized (void); int TRACE_uncategorized (void); int TRACE_msg_process_is_enabled(void); @@ -158,6 +155,11 @@ void TRACE_generate_viva_cat_conf (void); void instr_pause_tracing (void); void instr_resume_tracing (void); +/* Public functions used in SMPI */ +XBT_PUBLIC(int) TRACE_smpi_is_enabled(void); +XBT_PUBLIC(int) TRACE_smpi_is_grouped(void); +XBT_PUBLIC(int) TRACE_smpi_is_computing(void); + /* from resource_utilization.c */ void TRACE_surf_host_set_utilization(const char *resource, const char *category, @@ -177,33 +179,33 @@ extern xbt_dict_t trivaEdgeTypes; long long int instr_new_paje_id (void); void PJ_container_alloc (void); void PJ_container_release (void); -container_t PJ_container_new (const char *name, e_container_types kind, container_t father); -container_t PJ_container_get (const char *name); -container_t PJ_container_get_or_null (const char *name); -container_t PJ_container_get_root (void); -void PJ_container_set_root (container_t root); -void PJ_container_free (container_t container); -void PJ_container_free_all (void); -void PJ_container_remove_from_parent (container_t container); +XBT_PUBLIC(container_t) PJ_container_new (const char *name, e_container_types kind, container_t father); +XBT_PUBLIC(container_t) PJ_container_get (const char *name); +XBT_PUBLIC(container_t) PJ_container_get_or_null (const char *name); +XBT_PUBLIC(container_t) PJ_container_get_root (void); +XBT_PUBLIC(void) PJ_container_set_root (container_t root); +XBT_PUBLIC(void) PJ_container_free (container_t container); +XBT_PUBLIC(void) PJ_container_free_all (void); +XBT_PUBLIC(void) PJ_container_remove_from_parent (container_t container); /* instr_paje_types.c */ void PJ_type_alloc (void); void PJ_type_release (void); -type_t PJ_type_get_root (void); +XBT_PUBLIC(type_t) PJ_type_get_root (void); type_t PJ_type_container_new (const char *name, type_t father); type_t PJ_type_event_new (const char *name, type_t father); type_t PJ_type_variable_new (const char *name, const char *color, type_t father); type_t PJ_type_link_new (const char *name, type_t father, type_t source, type_t dest); type_t PJ_type_state_new (const char *name, type_t father); -type_t PJ_type_get (const char *name, const type_t father); -type_t PJ_type_get_or_null (const char *name, type_t father); +XBT_PUBLIC(type_t) PJ_type_get (const char *name, const type_t father); +XBT_PUBLIC(type_t) PJ_type_get_or_null (const char *name, type_t father); void PJ_type_free (type_t type); void PJ_type_free_all (void); /* instr_paje_values.c */ -val_t PJ_value_new (const char *name, const char *color, type_t father); -val_t PJ_value_get_or_new (const char *name, const char *color, type_t father); -val_t PJ_value_get (const char *name, const type_t father); +XBT_PUBLIC(val_t) PJ_value_new (const char *name, const char *color, type_t father); +XBT_PUBLIC(val_t) PJ_value_get_or_new (const char *name, const char *color, type_t father); +XBT_PUBLIC(val_t) PJ_value_get (const char *name, const type_t father); void PJ_value_free (val_t value); #endif /* HAVE_TRACING */ diff --git a/src/mc/mc_private.h b/src/mc/mc_private.h index df27cd0e5f..53d74aa9d6 100644 --- a/src/mc/mc_private.h +++ b/src/mc/mc_private.h @@ -8,7 +8,9 @@ #include "simgrid_config.h" #include +#ifndef WIN32 #include +#endif #include "mc/mc.h" #include "mc/datatypes.h" #include "xbt/fifo.h" diff --git a/src/simix/smx_network.c b/src/simix/smx_network.c index 48c05f3029..2cd4c1d84a 100644 --- a/src/simix/smx_network.c +++ b/src/simix/smx_network.c @@ -13,7 +13,7 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(simix_network, simix, "Logging specific to SIMIX (network)"); static xbt_dict_t rdv_points = NULL; -XBT_IMPORT_NO_EXPORT(unsigned long int) smx_total_comms = 0; +XBT_PUBLIC(unsigned long int) smx_total_comms = 0; static void SIMIX_waitany_remove_simcall_from_actions(smx_simcall_t simcall); static void SIMIX_comm_copy_data(smx_action_t comm); diff --git a/src/smpi/smpi_global.c b/src/smpi/smpi_global.c index acbd4ce774..22f52d734e 100644 --- a/src/smpi/smpi_global.c +++ b/src/smpi/smpi_global.c @@ -289,11 +289,12 @@ void smpi_global_destroy(void) /* With smpiff, the following weak symbols are replaced by those in libf2c */ int __attribute__((weak)) xargc; char** __attribute__((weak)) xargv; + +#ifndef WIN32 void __attribute__((weak)) user_main__(){ xbt_die("Should not be in this smpi_simulated_main"); return; } - int __attribute__((weak)) smpi_simulated_main__(int argc, char** argv) { smpi_process_init(&argc, &argv); user_main__(); @@ -308,6 +309,7 @@ int __attribute__((weak)) main(int argc, char** argv) { int __attribute__((weak)) MAIN__(){ return smpi_main(smpi_simulated_main__,xargc, xargv); }; +#endif int smpi_main(int (*realmain) (int argc, char *argv[]),int argc, char *argv[]) { diff --git a/src/xbt/snprintf.c b/src/xbt/snprintf.c index 9098beba51..641f294e10 100644 --- a/src/xbt/snprintf.c +++ b/src/xbt/snprintf.c @@ -422,6 +422,9 @@ int portable_vsnprintf(char *str, size_t str_m, const char *fmt, #endif #endif + /* FIXME: better place */ +#include "xbt/sysdep.h" + /* declarations */ static char credits[] = "\n\ @@ -1165,9 +1168,6 @@ int portable_vsnprintf(char *str, size_t str_m, const char *fmt, #endif - /* FIXME: better place */ -#include "xbt/sysdep.h" - char *bvprintf(const char *fmt, va_list ap) { char *res;