X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/25d577cd1732a672eb06cb4f24c5b9eacd2df5d0..99511807c2b70fb7603c28390213ce406d2ede95:/tools/gras/stub_generator.c diff --git a/tools/gras/stub_generator.c b/tools/gras/stub_generator.c index 65db90fb50..ffcace96a4 100644 --- a/tools/gras/stub_generator.c +++ b/tools/gras/stub_generator.c @@ -97,25 +97,7 @@ const char *SIM_MAIN_POSTEMBULE = "\n" " return 0;\n" "}\n"; -/**********************************************/ -/**** Generate the file for the real life *****/ -/**********************************************/ -#define RL_CODE \ -"#include \n" \ -"#include \n" \ -"#include \n" \ -"\n" \ -"/* user code */\n" \ -"int %s(int argc, char *argv[]);\n" \ -"\n" \ -"int main(int argc, char *argv[]){\n" \ -" int errcode;\n" \ -"\n" \ -" errcode=%s(argc,argv);\n"\ -" \n" \ -" return errcode;\n"\ -"}\n" /**********************************************/ /********* Parse XML deployment file **********/ @@ -207,6 +189,9 @@ static void generate_sim(char *project) free(filename); } +/**********************************************/ +/**** Generate the file for the real life *****/ +/**********************************************/ static void generate_rl(char *project) { xbt_dict_cursor_t cursor=NULL; @@ -223,7 +208,23 @@ static void generate_rl(char *project) xbt_assert1(OUT, "Unable to open %s for writing",filename); fprintf(OUT, "\n%s\n",warning); - fprintf(OUT, RL_CODE, key,key); + fprintf(OUT, "#include \n" \ + "#include \n" \ + "#include \n" \ + "\n" \ + "extern const char *_gras_procname;\n" \ + "/* user code */\n" \ + "int %s(int argc, char *argv[]);\n" \ + "\n" \ + "int main(int argc, char *argv[]){\n" \ + " int errcode;\n" \ + "\n" \ + " _gras_procname = \"%s\";\n" \ + " errcode=%s(argc,argv);\n"\ + " \n" \ + " return errcode;\n"\ + "}\n", + key,key,key); fprintf(OUT, "\n%s\n",warning); fclose(OUT); free(filename); @@ -307,7 +308,8 @@ static void generate_makefile_local(char *project, char *deployment) OUT=fopen(filename,"w"); xbt_assert1(OUT, "Unable to open %s for writing",filename); - + free(filename); + fprintf(OUT, "############ PROJECT COMPILING AND ARCHIVING #########\n"); fprintf(OUT, "PROJECT_NAME=%s\n",project); fprintf(OUT, @@ -600,5 +602,6 @@ int main(int argc, char *argv[]) generate_deployment(project_name, deployment_file); free(warning); + surf_finalize(); return 0; }