-/* Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011. The SimGrid Team.
+/* Copyright (c) 2006-2014. The SimGrid Team.
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
static char *old_buff = NULL;
-XBT_PUBLIC(unsigned int) surfxml_buffer_stack_stack_ptr;
-XBT_PUBLIC(unsigned int) surfxml_buffer_stack_stack[1024];
+XBT_IMPORT_NO_EXPORT(unsigned int) surfxml_buffer_stack_stack_ptr;
+XBT_IMPORT_NO_EXPORT(unsigned int) surfxml_buffer_stack_stack[1024];
void surfxml_bufferstack_push(int new)
}
/* ***************************************** */
+static int after_config_done;
+void parse_after_config() {
+ if (!after_config_done) {
+ //
+ #ifdef HAVE_TRACING
+ TRACE_start();
+ #endif
+
+ /* Register classical callbacks */
+ storage_register_callbacks();
+ routing_register_callbacks();
+
+ /* ***************************************** */
+ /* TUTORIAL: New TAG */
+ gpu_register_callbacks();
+ /* ***************************************** */
+ after_config_done = 1;
+ }
+}
/* This function acts as a main in the parsing area. */
void parse_platform_file(const char *file)
surf_parse_init_callbacks();
- /* Register classical callbacks */
- storage_register_callbacks();
- routing_register_callbacks();
-
- /* ***************************************** */
- /* TUTORIAL: New TAG */
- gpu_register_callbacks();
- /* ***************************************** */
-
/* init the flex parser */
surfxml_buffer_stack_stack_ptr = 1;
surfxml_buffer_stack_stack[0] = 0;
-
+ after_config_done = 0;
surf_parse_open(file);
/* Init my data */
/* Stop the flex parser */
surf_parse_close();
if (parse_status)
- xbt_die("Parse error in %s", file);
+ surf_parse_error("Parse error in %s", file);
}