From 5ea1ffac5b0f6c7915c4781e60f745290721143e Mon Sep 17 00:00:00 2001 From: Daniel Zaoui Date: Wed, 23 Apr 2014 08:55:15 +0300 Subject: [PATCH] Eolian/Generator: support --eo. --eo1 is still supported but it will be removed soon. --- src/Makefile_Eolian_Helper.am | 4 ++-- src/bin/eolian/eo1_generator.c | 2 +- src/bin/eolian/eo1_generator.h | 3 +-- src/bin/eolian/legacy_generator.c | 4 ++-- src/bin/eolian/legacy_generator.h | 6 ++---- src/bin/eolian/main.c | 25 ++++++++++++------------- 6 files changed, 20 insertions(+), 24 deletions(-) diff --git a/src/Makefile_Eolian_Helper.am b/src/Makefile_Eolian_Helper.am index 8d78ff0b93..fed2e664fe 100644 --- a/src/Makefile_Eolian_Helper.am +++ b/src/Makefile_Eolian_Helper.am @@ -13,10 +13,10 @@ am__v_EOL_0 = @echo " EOLIAN " $@; SUFFIXES = .eo .eo.c .eo.h .eo.legacy.h %.eo.c: %.eo ${_EOLIAN_GEN_DEP} - $(AM_V_EOL)$(EOLIAN_GEN) --eo1 --legacy $(EOLIAN_FLAGS) --gc -o $@ $< + $(AM_V_EOL)$(EOLIAN_GEN) --eo --legacy $(EOLIAN_FLAGS) --gc -o $@ $< %.eo.h: %.eo ${_EOLIAN_GEN_DEP} - $(AM_V_EOL)$(EOLIAN_GEN) --eo1 $(EOLIAN_FLAGS) --gh -o $@ $< + $(AM_V_EOL)$(EOLIAN_GEN) --eo $(EOLIAN_FLAGS) --gh -o $@ $< %.eo.legacy.h: %.eo ${_EOLIAN_GEN_DEP} $(AM_V_EOL)$(EOLIAN_GEN) --legacy $(EOLIAN_FLAGS) --gh -o $@ $< diff --git a/src/bin/eolian/eo1_generator.c b/src/bin/eolian/eo1_generator.c index 43e06ca837..1eac03ad39 100644 --- a/src/bin/eolian/eo1_generator.c +++ b/src/bin/eolian/eo1_generator.c @@ -876,7 +876,7 @@ end: } Eina_Bool -eo_source_generate(const char *classname, int eo_version EINA_UNUSED, Eina_Strbuf *buf) +eo_source_generate(const char *classname, Eina_Strbuf *buf) { Eina_Bool ret = EINA_FALSE; const Eina_List *itr; diff --git a/src/bin/eolian/eo1_generator.h b/src/bin/eolian/eo1_generator.h index 959d092c87..7bab05439a 100644 --- a/src/bin/eolian/eo1_generator.h +++ b/src/bin/eolian/eo1_generator.h @@ -9,14 +9,13 @@ * This function generates all the source code for Eo. * * @param[in] classname class name - * @param[in] eo_version Eo version to generate * @param[inout] buf buffer to fill * * @return EINA_TRUE on success, EINA_FALSE on error. * */ Eina_Bool -eo_source_generate(const char *classname, int eo_version, Eina_Strbuf *buf); +eo_source_generate(const char *classname, Eina_Strbuf *buf); /* * @brief Generate the header code for a specific Eo class. diff --git a/src/bin/eolian/legacy_generator.c b/src/bin/eolian/legacy_generator.c index 36d215846a..e0bbc93eb3 100644 --- a/src/bin/eolian/legacy_generator.c +++ b/src/bin/eolian/legacy_generator.c @@ -344,7 +344,7 @@ end: } Eina_Bool -legacy_header_generate(const char *classname, int eo_version EINA_UNUSED, Eina_Strbuf *buf) +legacy_header_generate(const char *classname, Eina_Strbuf *buf) { const Eolian_Function_Type ftype_order[] = {EOLIAN_PROPERTY, EOLIAN_METHOD}; const Eina_List *l; @@ -381,7 +381,7 @@ legacy_header_generate(const char *classname, int eo_version EINA_UNUSED, Eina_S } Eina_Bool -legacy_source_generate(const char *classname, int eo_version EINA_UNUSED, Eina_Strbuf *buf) +legacy_source_generate(const char *classname, Eina_Strbuf *buf) { Eina_Bool ret = EINA_FALSE; const Eina_List *itr; diff --git a/src/bin/eolian/legacy_generator.h b/src/bin/eolian/legacy_generator.h index 6a3964f098..cf7faa9d9c 100644 --- a/src/bin/eolian/legacy_generator.h +++ b/src/bin/eolian/legacy_generator.h @@ -11,13 +11,12 @@ * There will not be respect of the order of the Eo Op Ids. * * @param[in] classname class name - * @param[in] eo_version Eo version to generate * @param[inout] buf buffer to fill * * @return EINA_TRUE on success, EINA_FALSE on error. * */ -Eina_Bool legacy_header_generate(const char *classname, int eo_version, Eina_Strbuf *buf); +Eina_Bool legacy_header_generate(const char *classname, Eina_Strbuf *buf); /* * @brief Generate C source code for Eo class @@ -26,13 +25,12 @@ Eina_Bool legacy_header_generate(const char *classname, int eo_version, Eina_Str * code from scratch. * * @param[in] classname class name - * @param[in] eo_version Eo version to generate * @param[inout] buf buffer to fill * * @return EINA_TRUE on success, EINA_FALSE on error. * */ -Eina_Bool legacy_source_generate(const char *classname, int eo_version, Eina_Strbuf *buf); +Eina_Bool legacy_source_generate(const char *classname, Eina_Strbuf *buf); #endif diff --git a/src/bin/eolian/main.c b/src/bin/eolian/main.c index bee857efcb..07746cfbc1 100644 --- a/src/bin/eolian/main.c +++ b/src/bin/eolian/main.c @@ -9,9 +9,6 @@ #define EO_SUFFIX ".eo" -static int eo_version = 0; -static Eina_Bool legacy_support = EINA_FALSE; - static char* _include_guard_enclose(const char *fname, const char *fbody) { @@ -82,21 +79,21 @@ end: } static Eina_Bool -_generate_c_file(char *filename, const char *classname) +_generate_c_file(char *filename, const char *classname, Eina_Bool legacy_support) { Eina_Bool ret = EINA_FALSE; Eina_Strbuf *eo_buf = eina_strbuf_new(); Eina_Strbuf *legacy_buf = eina_strbuf_new(); - if (!eo_source_generate(classname, eo_version, eo_buf)) + if (!eo_source_generate(classname, eo_buf)) { ERR("Failed to generate source for %s", classname); goto end; } if (legacy_support) - if (!legacy_source_generate(classname, eo_version, legacy_buf)) + if (!legacy_source_generate(classname, legacy_buf)) { ERR("Failed to generate source for %s", classname); goto end; @@ -131,7 +128,7 @@ _generate_legacy_header_file(char *filename, const char *classname) Eina_Strbuf *lfile = eina_strbuf_new(); - if (!legacy_header_generate(classname, eo_version, lfile)) + if (!legacy_header_generate(classname, lfile)) { ERR("Failed to generate header for %s", classname); goto end; @@ -167,7 +164,9 @@ enum H_GEN, C_GEN }; -int gen_opt = NO_WAY_GEN; +static int gen_opt = NO_WAY_GEN; +static int eo_needed = 0; +static Eina_Bool legacy_support = EINA_FALSE; int main(int argc, char **argv) { @@ -196,8 +195,8 @@ int main(int argc, char **argv) static struct option long_options[] = { /* These options set a flag. */ - {"eo1", no_argument, &eo_version, 1}, - {"eo", no_argument, &eo_version, 2}, + {"eo1", no_argument, &eo_needed, 1}, + {"eo", no_argument, &eo_needed, 1}, {"verbose", no_argument, 0, 'v'}, {"help", no_argument, 0, 'h'}, {"gh", no_argument, &gen_opt, H_GEN}, @@ -293,9 +292,9 @@ int main(int argc, char **argv) } } - if (!eo_version && !(gen_opt==H_GEN && legacy_support)) + if (!eo_needed && !(gen_opt == H_GEN && legacy_support)) { - ERR("No eo version specified (use --eo). Aborting eo generation.\n"); + ERR("Eo flag is not specified (use --eo). Aborting eo generation.\n"); goto end; } @@ -324,7 +323,7 @@ int main(int argc, char **argv) case C_GEN: { INF("Generating source file %s\n", output_filename); - ret = _generate_c_file(output_filename, classname)?0:1; + ret = _generate_c_file(output_filename, classname, legacy_support)?0:1; break; } default: