Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
various fixes to hopefully compile under win32
authorAugustin Degomme <degomme@idpann.imag.fr>
Tue, 5 Feb 2013 17:14:38 +0000 (18:14 +0100)
committerAugustin Degomme <degomme@idpann.imag.fr>
Mon, 11 Feb 2013 15:16:59 +0000 (16:16 +0100)
examples/msg/masterslave/masterslave_bypass.c
src/include/instr/instr_interface.h
src/instr/instr_private.h
src/mc/mc_private.h
src/simix/smx_network.c
src/smpi/smpi_global.c
src/xbt/snprintf.c

index a5e71ea..a7ab122 100644 (file)
@@ -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);
 
index 2ae6f3c..52664c7 100644 (file)
@@ -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));
index ea02f0a..88210b6 100644 (file)
@@ -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 */
index df27cd0..53d74aa 100644 (file)
@@ -8,7 +8,9 @@
 
 #include "simgrid_config.h"
 #include <stdio.h>
+#ifndef WIN32
 #include <sys/mman.h>
+#endif
 #include "mc/mc.h"
 #include "mc/datatypes.h"
 #include "xbt/fifo.h"
index 48c05f3..2cd4c1d 100644 (file)
@@ -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);
index acbd4ce..22f52d7 100644 (file)
@@ -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[])
 {
index 9098beb..641f294 100644 (file)
@@ -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;