X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/016df92e89c5ce9cee28e9249d6e6877258daf9e..1da9fac086b49b2dfa600f15355dc099c62f60ca:/tools/gras/stub_generator.c diff --git a/tools/gras/stub_generator.c b/tools/gras/stub_generator.c index 5fd470f128..ee2a1ab9b1 100644 --- a/tools/gras/stub_generator.c +++ b/tools/gras/stub_generator.c @@ -16,16 +16,16 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(stubgen,gras,"Stub generator"); -const char *WARN = "/***********\n * DO NOT EDIT! THIS FILE WERE AUTOMATICALLY GENERATED FROM %s BY gras_stub_generator\n ***********/\n"; -const char *SIM_FILENAME = "_%s_simulator.c"; -const char *SIM_BINARYNAME = "%s_simulator"; -const char *SIM_FILENAME_LDADD = "_%s_simulator_LDADD"; -const char *SIM_FILENAME_SOURCES = "_%s_simulator_SOURCES"; -const char *RL_FILENAME = "_%s_%s.c"; -const char *RL_BINARYNAME = "%s_%s"; -const char *RL_FILENAME_LDADD = "%s_%s_LDADD"; -const char *RL_FILENAME_SOURCES = "%s_%s_SOURCES"; -const char *MAKEFILE_FILENAME = "%s.Makefile.am"; +#define WARN "/***********\n * DO NOT EDIT! THIS FILE WERE AUTOMATICALLY GENERATED FROM %s BY gras_stub_generator\n ***********/\n" +#define SIM_FILENAME "_%s_simulator.c" +#define SIM_BINARYNAME "%s_simulator" +#define SIM_FILENAME_LDADD "%s_simulator_LDADD" +#define SIM_FILENAME_SOURCES "%s_simulator_SOURCES" +#define RL_FILENAME "_%s_%s.c" +#define RL_BINARYNAME "%s_%s" +#define RL_FILENAME_LDADD "%s_%s_LDADD" +#define RL_FILENAME_SOURCES "%s_%s_SOURCES" +#define MAKEFILE_FILENAME "%s.Makefile.am" char *warning = NULL; @@ -42,57 +42,36 @@ const char *SIM_PREEMBULE = "char *gras_log=NULL;\n"; -const char *SIM_LAUNCH_FUNC = -"int launch_%s(int argc, char **argv) {\n" -" char **myargv=argv;\n" -" int myargc=argc;\n" -" int i;\n" -" int retcode;\n" -" \n" -" if (gras_log) {\n" -" myargv=malloc((argc+1) * sizeof(char**));\n" -" for (i=0; i\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"; +#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 **********/ @@ -157,7 +136,7 @@ static void generate_sim(char *project) xbt_assert1(OUT, "Unable to open %s for writing",filename); fprintf(OUT, "%s\n",warning); - fprintf(OUT, SIM_PREEMBULE); + fprintf(OUT, "%s", SIM_PREEMBULE); xbt_dict_foreach(process_function_set,cursor,key,data) { fprintf(OUT,"int %s(int argc,char *argv[]);\n",key); } @@ -171,11 +150,11 @@ static void generate_sim(char *project) } fprintf(OUT, "\n%s\n",warning); - fprintf(OUT, SIM_MAIN_PREEMBULE); + fprintf(OUT, "%s", SIM_MAIN_PREEMBULE); xbt_dict_foreach(process_function_set,cursor,key,data) { fprintf(OUT," MSG_function_register(\"%s\", launch_%s);\n",key,key); } - fprintf(OUT, SIM_MAIN_POSTEMBULE); + fprintf(OUT, "%s", SIM_MAIN_POSTEMBULE); fclose(OUT); xbt_free(filename); } @@ -220,7 +199,7 @@ static void generate_makefile(char *project, char *deployment) fprintf(OUT, "# AUTOMAKE variable definition\n"); fprintf(OUT, "INCLUDES= @CFLAGS_SimGrid@\n\n"); fprintf(OUT, "PROGRAMS="); - fprintf(OUT, SIM_FILENAME,project); + fprintf(OUT, SIM_BINARYNAME,project); xbt_dict_foreach(process_function_set,cursor,key,data) { fprintf(OUT, " "); @@ -229,25 +208,19 @@ static void generate_makefile(char *project, char *deployment) fprintf(OUT, "\n\n"); fprintf(OUT, SIM_FILENAME_SOURCES,project); - fprintf(OUT, "="); + fprintf(OUT, "=\t"); fprintf(OUT, SIM_FILENAME,project); fprintf(OUT, " %s.c\n", project); + fprintf(OUT, SIM_FILENAME_LDADD, project); + fprintf(OUT, "=\tpath/to/libsimgrid.a\n\n"); xbt_dict_foreach(process_function_set,cursor,key,data) { fprintf(OUT, RL_FILENAME_SOURCES, project,key); fprintf(OUT, "=\t"); fprintf(OUT, RL_FILENAME, project,key); fprintf(OUT, " %s.c\n", project); - } - - fprintf(OUT, "\n\n"); - fprintf(OUT, SIM_FILENAME_LDADD, project); - fprintf(OUT, "=\tpath/to/libsimgrid.a\n"); - - - xbt_dict_foreach(process_function_set,cursor,key,data) { fprintf(OUT, RL_FILENAME_LDADD, project, key); - fprintf(OUT, "=\tpath/to/libgras.a\n"); + fprintf(OUT, "=\tpath/to/libgras.a\n\n"); } fprintf(OUT, "\n# cleanup temps\n");