discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=48fbfa2908b6d7912d11f783ace285ec8cbc2b63

commit 48fbfa2908b6d7912d11f783ace285ec8cbc2b63
Author: Mike Blumenkrantz <zm...@osg.samsung.com>
Date:   Mon Apr 11 15:15:51 2016 -0400

    reduce efl version req to 1.17.0, make new gadget stuff 1.7.99+ at runtime
---
 configure.ac                                     |  2 +-
 src/bin/e.h                                      |  4 ++++
 src/bin/e_config.c                               |  7 ++++--
 src/bin/e_int_menus.c                            | 11 +++++----
 src/bin/e_main.c                                 | 30 ++++++++++++++----------
 src/modules/conf_display/e_int_config_desklock.c |  7 ++++--
 src/modules/start/e_mod_main.c                   |  6 +++--
 src/modules/time/mod.c                           |  1 +
 src/modules/wireless/mod.c                       |  1 +
 9 files changed, 46 insertions(+), 23 deletions(-)

diff --git a/configure.ac b/configure.ac
index 227d98d..daaba64 100644
--- a/configure.ac
+++ b/configure.ac
@@ -91,7 +91,7 @@ extern char **environ;
 AC_DEFINE(HAVE_ENVIRON, 1, [Have environ var])
     ])
 
-efl_version="1.17.1"
+efl_version="1.17.0"
 AC_SUBST(efl_version)
 
 AC_CHECK_HEADERS([sys/timerfd.h sys/ptrace.h arpa/inet.h netinet/in.h])
diff --git a/src/bin/e.h b/src/bin/e.h
index 8b3ce26..2c2d203 100644
--- a/src/bin/e.h
+++ b/src/bin/e.h
@@ -295,6 +295,10 @@ typedef struct _E_Rect         E_Rect;
 
 E_API double          e_main_ts(const char *str);
 
+#define E_EFL_VERSION_MINIMUM(MAJ, MIN, MIC) \
+  ((eina_version->major > MAJ) || (eina_version->minor > MIN) ||\
+   ((eina_version->minor == MIN) && (eina_version->micro >= MIC)))
+
 struct _E_Rect
 {
    int x, y, w, h;
diff --git a/src/bin/e_config.c b/src/bin/e_config.c
index 545c868..3ca9456 100644
--- a/src/bin/e_config.c
+++ b/src/bin/e_config.c
@@ -2251,8 +2251,11 @@ _e_config_save_cb(void *data EINA_UNUSED)
    elm_config_save();
    e_config_domain_save("e", _e_config_edd, e_config);
    e_config_domain_save("e_bindings", _e_config_binding_edd, e_bindings);
-   e_gadget_save();
-   e_bryce_save();
+   if (E_EFL_VERSION_MINIMUM(1, 17, 99))
+     {
+        e_gadget_save();
+        e_bryce_save();
+     }
    _e_config_save_defer = NULL;
 }
 
diff --git a/src/bin/e_int_menus.c b/src/bin/e_int_menus.c
index 21c6f95..1e7dc11 100644
--- a/src/bin/e_int_menus.c
+++ b/src/bin/e_int_menus.c
@@ -338,10 +338,13 @@ e_int_menus_desktops_new(void)
    e_menu_pre_activate_callback_set(subm, _e_int_menus_shelves_pre_cb, NULL);
    e_menu_item_submenu_set(mi, subm);
 
-   mi = e_menu_item_new(m);
-   e_menu_item_label_set(mi, _("Add Bryce"));
-   e_util_menu_item_theme_icon_set(mi, "list-add");
-   e_menu_item_callback_set(mi, _e_int_menus_bryce_cb, NULL);
+   if (E_EFL_VERSION_MINIMUM(1, 17, 99))
+     {
+        mi = e_menu_item_new(m);
+        e_menu_item_label_set(mi, _("Add Bryce"));
+        e_util_menu_item_theme_icon_set(mi, "list-add");
+        e_menu_item_callback_set(mi, _e_int_menus_bryce_cb, NULL);
+     }
 
    mi = e_menu_item_new(m);
    e_menu_item_separator_set(mi, 1);
diff --git a/src/bin/e_main.c b/src/bin/e_main.c
index 7993aa4..f4646c1 100644
--- a/src/bin/e_main.c
+++ b/src/bin/e_main.c
@@ -909,12 +909,15 @@ main(int argc, char **argv)
    TS("E_Remember Init Done");
    _e_main_shutdown_push(e_remember_shutdown);
 
-   if (e_config->show_splash)
-     e_init_status_set(_("Setup Gadgets"));
-   TS("E_Gadget Init");
-   e_gadget_init();
-   TS("E_Gadget Init Done");
-   _e_main_shutdown_push((void*)e_gadget_shutdown);
+   if (E_EFL_VERSION_MINIMUM(1, 17, 99))
+     {
+        if (e_config->show_splash)
+          e_init_status_set(_("Setup Gadgets"));
+        TS("E_Gadget Init");
+        e_gadget_init();
+        TS("E_Gadget Init Done");
+        _e_main_shutdown_push((void*)e_gadget_shutdown);
+     }
 
 
    if (e_config->show_splash)
@@ -1053,12 +1056,15 @@ main(int argc, char **argv)
    e_test();
    TS("E_Test Done");
 
-   if (e_config->show_splash)
-     e_init_status_set(_("Setup Bryces"));
-   TS("Bryce Init");
-   e_bryce_init();
-   TS("Bryce Init Done");
-   _e_main_shutdown_push((void*)e_bryce_shutdown);
+   if (E_EFL_VERSION_MINIMUM(1, 17, 99))
+     {
+        if (e_config->show_splash)
+          e_init_status_set(_("Setup Bryces"));
+        TS("Bryce Init");
+        e_bryce_init();
+        TS("Bryce Init Done");
+        _e_main_shutdown_push((void*)e_bryce_shutdown);
+     }
 
    if (e_config->show_splash)
      e_init_status_set(_("Setup Shelves"));
diff --git a/src/modules/conf_display/e_int_config_desklock.c 
b/src/modules/conf_display/e_int_config_desklock.c
index 12733ec..b4c7a0c 100644
--- a/src/modules/conf_display/e_int_config_desklock.c
+++ b/src/modules/conf_display/e_int_config_desklock.c
@@ -279,8 +279,11 @@ _basic_create(E_Config_Dialog *cfd, Evas *evas, 
E_Config_Dialog_Data *cfdata)
    e_widget_disabled_set(cfdata->lock_cmd_entry,
      (cfdata->desklock_auth_method != E_DESKLOCK_AUTH_METHOD_EXTERNAL));
 
-   e_widget_list_object_append(ol, of, 1, 1, 0.5);
-   ow = e_widget_button_add(evas, _("Configure Lockscreen Gadgets"), 
"configure", _cb_lockscreen_gadgets, NULL, NULL);
+   if (E_EFL_VERSION_MINIMUM(1, 17, 99))
+     {
+        e_widget_list_object_append(ol, of, 1, 1, 0.5);
+        ow = e_widget_button_add(evas, _("Configure Lockscreen Gadgets"), 
"configure", _cb_lockscreen_gadgets, NULL, NULL);
+     }
 
    e_widget_list_object_append(ol, ow, 1, 1, 0.5);
    e_widget_toolbook_page_append(otb, NULL, _("Locking"), ol,
diff --git a/src/modules/start/e_mod_main.c b/src/modules/start/e_mod_main.c
index 52e9268..7e83aef 100644
--- a/src/modules/start/e_mod_main.c
+++ b/src/modules/start/e_mod_main.c
@@ -324,7 +324,8 @@ e_modapi_init(E_Module *m)
 
    start_module = m;
    e_gadcon_provider_register(&_gadcon_class);
-   e_gadget_type_add("Start", start_create, NULL);
+   if (E_EFL_VERSION_MINIMUM(1, 17, 99))
+     e_gadget_type_add("Start", start_create, NULL);
    return m;
 }
 
@@ -333,7 +334,8 @@ e_modapi_shutdown(E_Module *m EINA_UNUSED)
 {
    start_module = NULL;
    e_gadcon_provider_unregister(&_gadcon_class);
-   e_gadget_type_del("Start");
+   if (E_EFL_VERSION_MINIMUM(1, 17, 99))
+     e_gadget_type_del("Start");
    return 1;
 }
 
diff --git a/src/modules/time/mod.c b/src/modules/time/mod.c
index 4552f19..534faed 100644
--- a/src/modules/time/mod.c
+++ b/src/modules/time/mod.c
@@ -121,6 +121,7 @@ E_API E_Module_Api e_modapi =
 E_API void *
 e_modapi_init(E_Module *m)
 {
+   if (!E_EFL_VERSION_MINIMUM(1, 17, 99)) return NULL;
    clock_init();
 
    time_config->module = m;
diff --git a/src/modules/wireless/mod.c b/src/modules/wireless/mod.c
index 3934ef6..3b05111 100644
--- a/src/modules/wireless/mod.c
+++ b/src/modules/wireless/mod.c
@@ -17,6 +17,7 @@ E_API E_Module_Api e_modapi =
 E_API void *
 e_modapi_init(E_Module *m)
 {
+   if (!E_EFL_VERSION_MINIMUM(1, 17, 99)) return NULL;
    dbus_conn = eldbus_connection_get(ELDBUS_CONNECTION_TYPE_SYSTEM);
    connman_init();
    wireless_gadget_init();

-- 


Reply via email to