[packages/efl] - up to 1.28.1 + a number of gcc15 patches

mrozowik mrozowik at pld-linux.org
Fri Jan 16 16:21:17 CET 2026


commit 648ce7c4ea6c167eecd1a537e0717fde0a5bec6d
Author: Krzysztof Mrozowicz <mrozowik at pld-linux.org>
Date:   Fri Jan 16 15:21:04 2026 +0000

    - up to 1.28.1 + a number of gcc15 patches

 0fcaf460c4a33eb54a51b9d8cb38321603019529.patch |  192 +++++
 60217eff9672e55c67454df13a16236d106fc92f.patch |  851 +++++++++++++++++++
 628c40cce2de0a18818b40615d3351b0c9e9b889.patch |   69 ++
 6d47ea358c4ece8ecc94a8aaf8f501e8cdea24fb.patch | 1076 ++++++++++++++++++++++++
 6e63309b26c25cc1c09228b9d06fd47bd6b13884.patch |   34 +
 9948f15ebdfae6b39f88ab58623e28c2b9320e0b.patch |  100 +++
 efl.spec                                       |   26 +-
 fc4c5ec8afc3d1d145eff9807e5235ae6bfeea83.patch |  149 ++++
 8 files changed, 2491 insertions(+), 6 deletions(-)
---
diff --git a/efl.spec b/efl.spec
index 8607d13..57bb62f 100644
--- a/efl.spec
+++ b/efl.spec
@@ -22,13 +22,20 @@
 Summary:	EFL - The Enlightenment Foundation Libraries
 Summary(pl.UTF-8):	EFL (Enlightenment Foundation Libraries) - biblioteki tworzące Enlightment
 Name:		efl
-Version:	1.27.0
-Release:	7
+Version:	1.28.1
+Release:	1
 License:	LGPL v2.1+, BSD (depends on component)
 Group:		Libraries
 Source0:	https://download.enlightenment.org/rel/libs/efl/%{name}-%{version}.tar.xz
-# Source0-md5:	0efa0cbdb915752c99861eb91933f59f
+# Source0-md5:	08e479862cdfa5966cf7a248885673bf
 Patch0:		lua.patch
+Patch1:		0fcaf460c4a33eb54a51b9d8cb38321603019529.patch
+Patch2:		9948f15ebdfae6b39f88ab58623e28c2b9320e0b.patch
+Patch3:		6e63309b26c25cc1c09228b9d06fd47bd6b13884.patch
+Patch4:		60217eff9672e55c67454df13a16236d106fc92f.patch
+Patch5:		628c40cce2de0a18818b40615d3351b0c9e9b889.patch
+Patch6:		fc4c5ec8afc3d1d145eff9807e5235ae6bfeea83.patch
+Patch7:		6d47ea358c4ece8ecc94a8aaf8f501e8cdea24fb.patch
 URL:		https://www.enlightenment.org/docs/efl/start
 BuildRequires:	EGL-devel
 BuildRequires:	OpenGL-GLX-devel
@@ -222,7 +229,7 @@ Obsoletes:	evas-saver-webp < 1.27.0
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 # it used to be linux-gnu-ARCH before...
-%define		arch_tag	v-1.27
+%define		arch_tag	v-1.28
 
 %description
 EFL - The Enlightenment Foundation Libraries.
@@ -370,6 +377,13 @@ Enlightment.
 %prep
 %setup -q
 %patch -P0 -p1
+%patch -P1 -p1
+%patch -P2 -p1
+%patch -P3 -p1
+%patch -P4 -p1
+%patch -P5 -p1
+%patch -P6 -p1
+%patch -P7 -p1
 
 %{__sed} -E -i -e '1s,#!\s*/usr/bin/env\s+python3(\s|$),#!%{__python3}\1,' \
       src/bin/exactness/exactness_play.in \
@@ -538,7 +552,7 @@ rm -rf $RPM_BUILD_ROOT
 %dir %{_libdir}/ecore_buffer/modules
 %dir %{_libdir}/ecore_buffer/modules/shm
 %dir %{_libdir}/ecore_buffer/modules/shm/%{arch_tag}
-%attr(755,root,root) %{_libdir}/ecore_buffer/modules/shm/v-1.27/module.so
+%attr(755,root,root) %{_libdir}/ecore_buffer/modules/shm/%{arch_tag}/module.so
 %dir %{_libdir}/ecore_con
 %dir %{_libdir}/ecore_con/utils
 %dir %{_libdir}/ecore_con/utils/%{arch_tag}
@@ -892,7 +906,7 @@ rm -rf $RPM_BUILD_ROOT
 %{_pkgconfigdir}/*.pc
 %dir %{_datadir}/eo
 %{_datadir}/eo/gdb
-%{_datadir}/gdb/auto-load/usr/lib/libeo.so.1.27.0-gdb.py
+%{_datadir}/gdb/auto-load/usr/lib/libeo.so.%{version}-gdb.py
 %if %{with fb}
 %attr(755,root,root) %{_libdir}/libecore_fb.so
 %{_includedir}/ecore-fb-1
diff --git a/0fcaf460c4a33eb54a51b9d8cb38321603019529.patch b/0fcaf460c4a33eb54a51b9d8cb38321603019529.patch
new file mode 100644
index 0000000..3ebc724
--- /dev/null
+++ b/0fcaf460c4a33eb54a51b9d8cb38321603019529.patch
@@ -0,0 +1,192 @@
+From 0fcaf460c4a33eb54a51b9d8cb38321603019529 Mon Sep 17 00:00:00 2001
+From: "Carsten Haitzler (Rasterman)" <raster at rasterman.com>
+Date: Thu, 24 Apr 2025 10:54:38 +0100
+Subject: [PATCH] evas - fix etc codec - move to Eina_Bool from bool for c23
+ changes
+
+fixes #84
+
+ at fix
+---
+ src/static_libs/rg_etc/rg_etc1.c | 44 ++++++++++++++++----------------
+ src/static_libs/rg_etc/rg_etc1.h |  6 ++---
+ 2 files changed, 25 insertions(+), 25 deletions(-)
+
+diff --git a/src/static_libs/rg_etc/rg_etc1.c b/src/static_libs/rg_etc/rg_etc1.c
+index 9b889a3995e..49e1aa3eff2 100644
+--- a/src/static_libs/rg_etc/rg_etc1.c
++++ b/src/static_libs/rg_etc/rg_etc1.c
+@@ -1074,7 +1074,7 @@ rg_etc1_block_color4_pack(unsigned int color, unsigned char scaled, unsigned cha
+ 
+ static inline void
+ rg_etc1_block_color4_component_unpack(unsigned char *r, unsigned char *g, unsigned char *b,
+-                                      unsigned short packed_color4, bool scaled)
++                                      unsigned short packed_color4, Eina_Bool scaled)
+ {
+    *r = (packed_color4 >> 8) & 15;
+    *g = (packed_color4 >> 4) & 15;
+@@ -1103,7 +1103,7 @@ rg_etc1_block_color4_unpack(unsigned short packed_color4, unsigned char scaled,
+ 
+ static inline unsigned char
+ rg_etc1_block_color5_delta3_component_unpack(unsigned char *r, unsigned char *g, unsigned char *b,
+-                                             unsigned short packed_color5, unsigned short packed_delta3, bool scaled)
++                                             unsigned short packed_color5, unsigned short packed_delta3, Eina_Bool scaled)
+ {
+    unsigned char success = 1;
+    char dc_r, dc_g, dc_b;
+@@ -1136,7 +1136,7 @@ rg_etc1_block_color5_delta3_component_unpack(unsigned char *r, unsigned char *g,
+ static inline unsigned char
+ rg_etc1_block_color5_delta3_unpack(unsigned int *result,
+                                    unsigned short packed_color5, unsigned short packed_delta3,
+-                                   bool scaled, unsigned char alpha)
++                                   Eina_Bool scaled, unsigned char alpha)
+ {
+    unsigned char success;
+    unsigned char r, g, b;
+@@ -1220,8 +1220,8 @@ rg_etc1_block_subblock_color4_abs_get(unsigned int dst[4], unsigned short packed
+ }
+ 
+ // This is the exported function to unpack a block
+-bool
+-rg_etc1_unpack_block(const void *ETC1_block, unsigned int *pDst_pixels_BGRA, bool preserve_alpha)
++Eina_Bool
++rg_etc1_unpack_block(const void *ETC1_block, unsigned int *pDst_pixels_BGRA, Eina_Bool preserve_alpha)
+ {
+    unsigned char diff_flag, flip_flag, table_index0, table_index1;
+    unsigned int subblock_colors0[4] = { 0 };
+@@ -1627,12 +1627,12 @@ struct _rg_etc1_optimizer_params
+    uint m_num_src_pixels;
+    const color_quad_u8* m_pSrc_pixels;
+ 
+-   bool m_use_color4;
++   Eina_Bool m_use_color4;
+    const int* m_pScan_deltas;
+    uint m_scan_delta_size;
+ 
+    color_quad_u8 m_base_color5;
+-   bool m_constrain_against_base_color5;
++   Eina_Bool m_constrain_against_base_color5;
+ };
+ 
+ static inline void
+@@ -1665,7 +1665,7 @@ typedef struct
+    uint m_block_inten_table;
+    uint m_n;
+    uint8* m_pSelectors;
+-   bool m_block_color4;
++   Eina_Bool m_block_color4;
+ } rg_etc1_optimizer_results;
+ 
+ static inline void
+@@ -1685,7 +1685,7 @@ typedef struct
+    Etc1_Solution_Coordinates m_coords;
+    uint8                      m_selectors[8];
+    uint64                     m_error;
+-   bool                       m_valid;
++   Eina_Bool                  m_valid;
+ } rg_etc1_potential_solution;
+ 
+ static inline void
+@@ -1730,14 +1730,14 @@ rg_etc1_optimizer_clear(rg_etc1_optimizer *optimizer)
+    rg_etc1_potential_solution_clear(&optimizer->m_trial_solution);
+ }
+ 
+-static bool rg_etc1_optimizer_evaluate_solution(rg_etc1_optimizer *optimizer, const Etc1_Solution_Coordinates* coords,
+-                                                rg_etc1_potential_solution* trial_solution,
+-                                                rg_etc1_potential_solution* pBest_solution);
+-static bool rg_etc1_optimizer_evaluate_solution_fast(rg_etc1_optimizer *optimizer,const Etc1_Solution_Coordinates *coords,
+-                                                     rg_etc1_potential_solution *trial_solution,
+-                                                     rg_etc1_potential_solution *pBest_solution);
++static Eina_Bool rg_etc1_optimizer_evaluate_solution(rg_etc1_optimizer *optimizer, const Etc1_Solution_Coordinates* coords,
++                                                     rg_etc1_potential_solution* trial_solution,
++                                                     rg_etc1_potential_solution* pBest_solution);
++static Eina_Bool rg_etc1_optimizer_evaluate_solution_fast(rg_etc1_optimizer *optimizer,const Etc1_Solution_Coordinates *coords,
++                                                          rg_etc1_potential_solution *trial_solution,
++                                                          rg_etc1_potential_solution *pBest_solution);
+ 
+-static bool
++static Eina_Bool
+ rg_etc1_optimizer_compute(rg_etc1_optimizer *optimizer)
+ {
+    const uint n = optimizer->m_pParams->m_num_src_pixels;
+@@ -1811,7 +1811,7 @@ rg_etc1_optimizer_compute(rg_etc1_optimizer *optimizer)
+                        color_quad_u8 base_color;
+                        float avg_delta_r_f, avg_delta_g_f, avg_delta_b_f;
+                        int br1, bg1, bb1;
+-                       bool skip;
++                       Eina_Bool skip;
+                        Etc1_Solution_Coordinates coords1;
+                        rg_etc1_solution_coordinates_get_scaled_color(&base_color, &optimizer->m_best_solution.m_coords);
+ 
+@@ -1958,14 +1958,14 @@ rg_etc1_optimizer_init(rg_etc1_optimizer *optimizer, const rg_etc1_optimizer_par
+    optimizer->m_best_solution.m_error = cUINT64_MAX;
+ }
+ 
+-static bool
++static Eina_Bool
+ rg_etc1_optimizer_evaluate_solution(rg_etc1_optimizer *optimizer, const Etc1_Solution_Coordinates* coords,
+                                     rg_etc1_potential_solution* trial_solution, rg_etc1_potential_solution* pBest_solution)
+ {
+    color_quad_u8 base_color;
+    const uint n = 8;
+    uint inten_table;
+-   bool success = EINA_FALSE;
++   Eina_Bool success = EINA_FALSE;
+ 
+    trial_solution->m_valid = EINA_FALSE;
+ 
+@@ -2062,14 +2062,14 @@ rg_etc1_optimizer_evaluate_solution(rg_etc1_optimizer *optimizer, const Etc1_Sol
+    return success;
+ }
+ 
+-static bool
++static Eina_Bool
+ rg_etc1_optimizer_evaluate_solution_fast(rg_etc1_optimizer *optimizer, const Etc1_Solution_Coordinates *coords,
+                                          rg_etc1_potential_solution *trial_solution, rg_etc1_potential_solution *pBest_solution)
+ {
+    color_quad_u8 base_color;
+    const uint n = 8;
+    int inten_table;
+-   bool success = EINA_FALSE;
++   Eina_Bool success = EINA_FALSE;
+ 
+    if (optimizer->m_pParams->m_constrain_against_base_color5)
+      {
+@@ -2380,7 +2380,7 @@ rg_etc1_pack_block_solid_color(unsigned char *block, const color_quad_u8 *color,
+ static uint
+ rg_etc1_pack_block_solid_color_constrained(rg_etc1_optimizer_results *results,uint num_colors,
+                                            const uint8* pColor, rg_etc1_pack_params *pack_params EINA_UNUSED,
+-                                           bool use_diff, const color_quad_u8* pBase_color5_unscaled)
++                                           Eina_Bool use_diff, const color_quad_u8* pBase_color5_unscaled)
+ {
+    static uint s_next_comp[4] = { 1, 2, 0, 1 };
+    uint best_error = cUINT32_MAX, best_i = 0;
+diff --git a/src/static_libs/rg_etc/rg_etc1.h b/src/static_libs/rg_etc/rg_etc1.h
+index 4a695dc2d00..28742ca768e 100644
+--- a/src/static_libs/rg_etc/rg_etc1.h
++++ b/src/static_libs/rg_etc/rg_etc1.h
+@@ -3,13 +3,13 @@
+ #ifndef __RG_ETC1_H__
+ #define __RG_ETC1_H__
+ 
+-typedef unsigned char bool;
++#include <Eina.h>
+ 
+ // Unpacks an 8-byte ETC1 compressed block to a block of 4x4 32bpp RGBA pixels.
+ // Returns false if the block is invalid. Invalid blocks will still be unpacked with clamping.
+ // This function is thread safe, and does not dynamically allocate any memory.
+ // If preserve_alpha is true, the alpha channel of the destination pixels will not be overwritten. Otherwise, alpha will be set to 255.
+-bool rg_etc1_unpack_block(const void *pETC1_block, unsigned int* pDst_pixels_rgba, bool preserve_alpha);
++Eina_Bool rg_etc1_unpack_block(const void *pETC1_block, unsigned int* pDst_pixels_rgba, Eina_Bool preserve_alpha);
+ 
+ // Quality setting = the higher the quality, the slower.
+ // To pack large textures, it is highly recommended to call pack_etc1_block() in parallel, on different blocks, from multiple threads (particularly when using cHighQuality).
+@@ -23,7 +23,7 @@ typedef enum {
+ typedef struct
+ {
+    rg_etc1_quality m_quality;
+-   bool m_dithering;
++   Eina_Bool m_dithering;
+ } rg_etc1_pack_params;
+ 
+ // pack_etc1_block_init() should be called before calling pack_etc1_block(),
diff --git a/60217eff9672e55c67454df13a16236d106fc92f.patch b/60217eff9672e55c67454df13a16236d106fc92f.patch
new file mode 100644
index 0000000..4a5c321
--- /dev/null
+++ b/60217eff9672e55c67454df13a16236d106fc92f.patch
@@ -0,0 +1,851 @@
+From 60217eff9672e55c67454df13a16236d106fc92f Mon Sep 17 00:00:00 2001
+From: "Carsten Haitzler (Rasterman)" <raster at rasterman.com>
+Date: Sat, 3 May 2025 15:08:54 +0100
+Subject: [PATCH] efl all - gcc 15 break older c std code
+
+gcc 15 default policy of breaking existing code. adapt. this time it's
+the old func() == i take zero or more arguments func not NO arguments.
+gcc15 made this a compile error and efl used it as a shortcut all over
+to save being verbose when not needed.
+
+adapt
+---
+ src/bin/elementary/test_win_stack.c           |   2 +-
+ src/bin/exactness/player.c                    |   2 +-
+ src/bin/exactness/recorder.c                  |   2 +-
+ src/lib/ecore_imf/ecore_imf_context.c         |  19 ++-
+ src/lib/ecore_imf/ecore_imf_private.h         |   4 +-
+ src/lib/eeze/eeze_udev_watch.c                |   2 +-
+ src/lib/efl_canvas_wl/efl_canvas_wl.c         |  16 +-
+ src/lib/efl_canvas_wl/x11.x                   |   2 +-
+ src/lib/efreet/efreet_cache.c                 |   2 +-
+ src/lib/eio/eio_monitor_inotify.c             |   2 +-
+ .../system/systemd/ecore_system_systemd.c     |   2 +-
+ .../ecore/system/upower/ecore_system_upower.c |   2 +-
+ .../evas/engines/gl_common/evas_gl_context.c  | 158 ++++++++----------
+ .../evas/engines/gl_common/evas_gl_core.c     |   2 +-
+ src/modules/evas/engines/gl_drm/evas_engine.c |  28 +---
+ src/modules/evas/engines/gl_x11/evas_engine.c |  94 +++++------
+ src/modules/evas/engines/gl_x11/evas_x_main.c |   4 +-
+ .../evas/engines/wayland_egl/evas_engine.c    |  31 +---
+ 18 files changed, 172 insertions(+), 202 deletions(-)
+
+diff --git a/src/bin/elementary/test_win_stack.c b/src/bin/elementary/test_win_stack.c
+index e3ca2b943e3..96e0b54f418 100644
+--- a/src/bin/elementary/test_win_stack.c
++++ b/src/bin/elementary/test_win_stack.c
+@@ -92,7 +92,7 @@ _bt_pressed(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUS
+ }
+ 
+ static void
+-_del()
++_del(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *o EINA_UNUSED, void *info EINA_UNUSED)
+ {
+    level = 0;
+    popto_win = NULL;
+diff --git a/src/bin/exactness/player.c b/src/bin/exactness/player.c
+index 6802c72efe7..7e47a156640 100644
+--- a/src/bin/exactness/player.c
++++ b/src/bin/exactness/player.c
+@@ -1040,7 +1040,7 @@ _write_unit_file(void)
+ }
+ #ifdef HAVE_DLSYM
+ # define ORIGINAL_CALL_T(t, name, ...) \
+-   t (*_original_init_cb)(); \
++   t (*_original_init_cb)(...); \
+    _original_init_cb = dlsym(RTLD_NEXT, name); \
+    original_return = _original_init_cb(__VA_ARGS__);
+ #else
+diff --git a/src/bin/exactness/recorder.c b/src/bin/exactness/recorder.c
+index f161100cbc9..45394c3c593 100644
+--- a/src/bin/exactness/recorder.c
++++ b/src/bin/exactness/recorder.c
+@@ -301,7 +301,7 @@ _setup_ee_creation(void)
+ 
+ #ifdef HAVE_DLSYM
+ # define ORIGINAL_CALL_T(t, name, ...) \
+-   t (*_original_init_cb)(); \
++   t (*_original_init_cb)(...); \
+    _original_init_cb = dlsym(RTLD_NEXT, name); \
+    original_return = _original_init_cb(__VA_ARGS__);
+ #else
+diff --git a/src/lib/ecore_imf/ecore_imf_context.c b/src/lib/ecore_imf/ecore_imf_context.c
+index 5ade47002b9..cea45ba54eb 100644
+--- a/src/lib/ecore_imf/ecore_imf_context.c
++++ b/src/lib/ecore_imf/ecore_imf_context.c
+@@ -780,7 +780,7 @@ ecore_imf_context_event_callback_add(Ecore_IMF_Context *ctx, Ecore_IMF_Callback_
+    fn = calloc(1, sizeof (Ecore_IMF_Func_Node));
+    if (!fn) return;
+ 
+-   fn->func = func;
++   fn->func = (void *)func;
+    fn->data = data;
+    fn->type = type;
+ 
+@@ -806,7 +806,7 @@ ecore_imf_context_event_callback_del(Ecore_IMF_Context *ctx, Ecore_IMF_Callback_
+ 
+    EINA_LIST_FOREACH_SAFE(ctx->callbacks, l, l_next, fn)
+      {
+-        if ((fn) && (fn->func == func) && (fn->type == type))
++        if ((fn) && (fn->func == (void *)func) && (fn->type == type))
+           {
+              void *tmp = (void *)fn->data;
+              free(fn);
+@@ -833,7 +833,11 @@ ecore_imf_context_event_callback_call(Ecore_IMF_Context *ctx, Ecore_IMF_Callback
+    EINA_LIST_FOREACH(ctx->callbacks, l, fn)
+      {
+         if ((fn) && (fn->type == type) && (fn->func))
+-          fn->func(fn->data, ctx, event_info);
++         {
++           Ecore_IMF_Event_Cb cb = (Ecore_IMF_Event_Cb)fn->func;
++
++           cb((void *)fn->data, ctx, event_info);
++         }
+      }
+ }
+ 
+@@ -1210,6 +1214,8 @@ ecore_imf_context_input_panel_state_get(Ecore_IMF_Context *ctx)
+    return state;
+ }
+ 
++typedef void (*Ecore_IMF_Input_Panel_Callback) (void *data, Ecore_IMF_Context *ctx, int value);
++
+ EAPI void
+ ecore_imf_context_input_panel_event_callback_add(Ecore_IMF_Context *ctx,
+                                                  Ecore_IMF_Input_Panel_Event type,
+@@ -1230,7 +1236,7 @@ ecore_imf_context_input_panel_event_callback_add(Ecore_IMF_Context *ctx,
+    fn = calloc(1, sizeof (Ecore_IMF_Input_Panel_Callback_Node));
+    if (!fn) return;
+ 
+-   fn->func = func;
++   fn->func = (void *)func;
+    fn->data = data;
+    fn->type = type;
+ 
+@@ -1258,7 +1264,7 @@ ecore_imf_context_input_panel_event_callback_del(Ecore_IMF_Context *ctx,
+ 
+    EINA_LIST_FOREACH_SAFE(ctx->input_panel_callbacks, l, l_next, fn)
+      {
+-        if ((fn) && (fn->func == func) && (fn->type == type))
++        if ((fn) && (fn->func == (void *)func) && (fn->type == type))
+           {
+              free(fn);
+              ctx->input_panel_callbacks = eina_list_remove_list(ctx->input_panel_callbacks, l);
+@@ -1284,7 +1290,8 @@ ecore_imf_context_input_panel_event_callback_call(Ecore_IMF_Context *ctx, Ecore_
+      {
+         if ((fn) && (fn->type == type) && (fn->func))
+           {
+-             fn->func(fn->data, ctx, value);
++             Ecore_IMF_Input_Panel_Callback cb = (Ecore_IMF_Input_Panel_Callback)fn->func;
++             cb((void *)fn->data, ctx, value);
+              if (type == ECORE_IMF_INPUT_PANEL_STATE_EVENT &&
+                  value == ECORE_IMF_INPUT_PANEL_STATE_HIDE &&
+                  show_req_ctx == ctx)
+diff --git a/src/lib/ecore_imf/ecore_imf_private.h b/src/lib/ecore_imf/ecore_imf_private.h
+index 22d29421094..b9622bd165d 100644
+--- a/src/lib/ecore_imf/ecore_imf_private.h
++++ b/src/lib/ecore_imf/ecore_imf_private.h
+@@ -77,14 +77,14 @@ struct _Ecore_IMF_Module
+ 
+ struct _Ecore_IMF_Func_Node
+ {
+-   void (*func) ();
++   void *func; // cast at call time
+    const void *data;
+    Ecore_IMF_Callback_Type type;
+ };
+ 
+ struct _Ecore_IMF_Input_Panel_Callback_Node
+ {
+-   void (*func) ();
++   void *func;
+    const void *data;
+    Ecore_IMF_Input_Panel_Event type;
+ };
+diff --git a/src/lib/eeze/eeze_udev_watch.c b/src/lib/eeze/eeze_udev_watch.c
+index 7245f9d0a6f..ba5b231a341 100644
+--- a/src/lib/eeze/eeze_udev_watch.c
++++ b/src/lib/eeze/eeze_udev_watch.c
+@@ -362,7 +362,7 @@ _watch_init(Eeze_Udev_Watch *watch)
+ }
+ 
+ static void
+-_eeze_udev_watch_reset()
++_eeze_udev_watch_reset(void *data EINA_UNUSED)
+ {
+    Eeze_Udev_Watch *watch;
+ 
+diff --git a/src/lib/efl_canvas_wl/efl_canvas_wl.c b/src/lib/efl_canvas_wl/efl_canvas_wl.c
+index 51ecde1b928..f0ef4a076c7 100644
+--- a/src/lib/efl_canvas_wl/efl_canvas_wl.c
++++ b/src/lib/efl_canvas_wl/efl_canvas_wl.c
+@@ -3199,11 +3199,11 @@ shell_surface_toplevel_set_app_id(struct wl_client *client EINA_UNUSED, struct w
+ }
+ 
+ static void
+-shell_surface_toplevel_show_window_menu(){}
++shell_surface_toplevel_show_window_menu(struct wl_client *client EINA_UNUSED, struct wl_resource *resource EINA_UNUSED, struct wl_resource *resource2 EINA_UNUSED, uint32_t a EINA_UNUSED, int32_t b EINA_UNUSED, int32_t c EINA_UNUSED){}
+ static void
+-shell_surface_toplevel_move(){}
++shell_surface_toplevel_move(struct wl_client *client EINA_UNUSED, struct wl_resource *resource EINA_UNUSED, struct wl_resource *resource2 EINA_UNUSED, uint32_t a EINA_UNUSED){}
+ static void
+-shell_surface_toplevel_resize(){}
++shell_surface_toplevel_resize(struct wl_client *client EINA_UNUSED, struct wl_resource *resource EINA_UNUSED, struct wl_resource *resource2 EINA_UNUSED, uint32_t a EINA_UNUSED, uint32_t b EINA_UNUSED){}
+ 
+ static void
+ shell_surface_toplevel_set_max_size(struct wl_client *client EINA_UNUSED, struct wl_resource *resource, int32_t w, int32_t h)
+@@ -3224,15 +3224,15 @@ shell_surface_toplevel_set_min_size(struct wl_client *client EINA_UNUSED, struct
+ }
+ 
+ static void
+-shell_surface_toplevel_set_maximized(){}
++shell_surface_toplevel_set_maximized(struct wl_client *client EINA_UNUSED, struct wl_resource *resource EINA_UNUSED){}
+ static void
+-shell_surface_toplevel_unset_maximized(){}
++shell_surface_toplevel_unset_maximized(struct wl_client *client EINA_UNUSED, struct wl_resource *resource EINA_UNUSED){}
+ static void
+-shell_surface_toplevel_set_fullscreen(){}
++shell_surface_toplevel_set_fullscreen(struct wl_client *client EINA_UNUSED, struct wl_resource *resource EINA_UNUSED, struct wl_resource *resource2 EINA_UNUSED){}
+ static void
+-shell_surface_toplevel_unset_fullscreen(){}
++shell_surface_toplevel_unset_fullscreen(struct wl_client *client EINA_UNUSED, struct wl_resource *resource EINA_UNUSED){}
+ static void
+-shell_surface_toplevel_set_minimized(){}
++shell_surface_toplevel_set_minimized(struct wl_client *client EINA_UNUSED, struct wl_resource *resource EINA_UNUSED){}
+ 
+ static const struct xdg_toplevel_interface shell_surface_toplevel_interface =
+ {
+diff --git a/src/lib/efl_canvas_wl/x11.x b/src/lib/efl_canvas_wl/x11.x
+index 2d7a88352f0..93d5e21f01d 100644
+--- a/src/lib/efl_canvas_wl/x11.x
++++ b/src/lib/efl_canvas_wl/x11.x
+@@ -640,7 +640,7 @@ x11_kbd_apply(Comp_Seat *s)
+ static void seat_keymap_update(Comp_Seat *s);
+ 
+ static Eina_Bool
+-x11_xkb_refresh()
++x11_xkb_refresh(void *data EINA_UNUSED, int event EINA_UNUSED, void *info EINA_UNUSED)
+ {
+    Eina_List *l;
+    Comp *c;
+diff --git a/src/lib/efreet/efreet_cache.c b/src/lib/efreet/efreet_cache.c
+index dd4dfb0b998..62134fdcd0a 100644
+--- a/src/lib/efreet/efreet_cache.c
++++ b/src/lib/efreet/efreet_cache.c
+@@ -222,7 +222,7 @@ _cb_server_del(void *data EINA_UNUSED, int type EINA_UNUSED, void *event)
+ }
+ 
+ static void
+-_efreet_cache_reset()
++_efreet_cache_reset(void *data EINA_UNUSED)
+ {
+    const char *s;
+    int len = 0;
+diff --git a/src/lib/eio/eio_monitor_inotify.c b/src/lib/eio/eio_monitor_inotify.c
+index e2668771345..4c3353e8324 100644
+--- a/src/lib/eio/eio_monitor_inotify.c
++++ b/src/lib/eio/eio_monitor_inotify.c
+@@ -159,7 +159,7 @@ _eio_inotify_handler(void *data EINA_UNUSED, Ecore_Fd_Handler *fdh)
+  */
+ static Eina_Bool reseting;
+ static void
+-_eio_monitor_reset()
++_eio_monitor_reset(void *data EINA_UNUSED)
+ {
+    Eina_Hash *h = _inotify_monitors;
+    Eina_Iterator *it;
+diff --git a/src/modules/ecore/system/systemd/ecore_system_systemd.c b/src/modules/ecore/system/systemd/ecore_system_systemd.c
+index ab19ff36cd2..3295e8f713e 100644
+--- a/src/modules/ecore/system/systemd/ecore_system_systemd.c
++++ b/src/modules/ecore/system/systemd/ecore_system_systemd.c
+@@ -253,7 +253,7 @@ static Eina_Bool _ecore_system_systemd_init(void);
+ static unsigned int reseting = 0;
+ 
+ static void
+-_ecore_system_systemd_reset()
++_ecore_system_systemd_reset(void *data EINA_UNUSED)
+ {
+    reseting = 1;
+    _ecore_system_systemd_shutdown();
+diff --git a/src/modules/ecore/system/upower/ecore_system_upower.c b/src/modules/ecore/system/upower/ecore_system_upower.c
+index 17ef5170c84..9e0a3d04b4c 100644
+--- a/src/modules/ecore/system/upower/ecore_system_upower.c
++++ b/src/modules/ecore/system/upower/ecore_system_upower.c
+@@ -413,7 +413,7 @@ static void _ecore_system_upower_shutdown(void);
+ static unsigned int reseting;
+ 
+ static void
+-_ecore_system_upower_reset()
++_ecore_system_upower_reset(void *data EINA_UNUSED)
+ {
+    reseting = 1;
+    _ecore_system_upower_shutdown();
+diff --git a/src/modules/evas/engines/gl_common/evas_gl_context.c b/src/modules/evas/engines/gl_common/evas_gl_context.c
+index 85035d42f9c..5c7deb4b307 100644
+--- a/src/modules/evas/engines/gl_common/evas_gl_context.c
++++ b/src/modules/evas/engines/gl_common/evas_gl_context.c
+@@ -42,14 +42,6 @@ const char *(*glsym_glGetStringi) (GLenum name, GLuint index) = NULL;
+ #  define GL_LINE_SMOOTH 0x0B20
+ # endif
+ 
+-// just used for finding symbols :)
+-typedef void (*_eng_fn) (void);
+-
+-typedef _eng_fn (*glsym_func_eng_fn) ();
+-typedef int  (*secsym_func_int) ();
+-typedef unsigned int  (*secsym_func_uint) ();
+-typedef void         *(*secsym_func_void_ptr) ();
+-
+ unsigned int   (*eglsym_eglDestroyImage)              (void *a, void *b) = NULL;
+ void           (*secsym_glEGLImageTargetTexture2DOES) (int a, void *b) = NULL;
+ void          *(*secsym_eglMapImageSEC)               (void *a, void *b, int c, int d) = NULL;
+@@ -71,10 +63,6 @@ int  (*secsym_tbm_surface_map) (void *surface, int opt, void *info) = NULL;
+ int  (*secsym_tbm_surface_unmap) (void *surface) = NULL;
+ int  (*secsym_tbm_surface_get_info) (void *surface, void *info) = NULL;
+ ////////////////////////////////////
+-#else
+-typedef void (*_eng_fn) (void);
+-
+-typedef _eng_fn (*glsym_func_eng_fn) ();
+ #endif
+ 
+ static int dbgflushnum = -1;
+@@ -216,27 +204,27 @@ evas_gl_symbols(void *(*GetProcAddress)(const char *name), const char *extsn)
+ 
+    glsym_glGetStringi = dlsym(RTLD_DEFAULT, "glGetStringi");
+ 
+-#define FINDSYM(dst, sym, ext, typ) do { \
++#define FINDSYM(dst, sym, ext) do { \
+    if (!dst) { \
+       if (_has_ext(ext, &exts, &num) && GetProcAddress) \
+-        dst = (typ) GetProcAddress(sym); \
++        dst = GetProcAddress(sym); \
+       if (!dst) \
+-        dst = (typ) dlsym(RTLD_DEFAULT, sym); \
++        dst = dlsym(RTLD_DEFAULT, sym); \
+    }} while (0)
+-#define FALLBAK(dst, typ) do { \
++#define FALLBAK(dst) do { \
+    if (!dst) { \
+       ERR("Symbol '%s' could not be found!", (#dst) + 6); \
+-      dst = (typ) sym_missing; \
++      dst = (void *)sym_missing; \
+       failed = EINA_TRUE; \
+    }} while (0)
+ 
+ #ifdef GL_GLES
+ 
+-   FINDSYM(glsym_glGenFramebuffers, "glGenFramebuffers", NULL, glsym_func_void);
+-   FALLBAK(glsym_glGenFramebuffers, glsym_func_void);
++   FINDSYM(glsym_glGenFramebuffers, "glGenFramebuffers", NULL);
++   FALLBAK(glsym_glGenFramebuffers);
+ 
+-   FINDSYM(glsym_glBindFramebuffer, "glBindFramebuffer", NULL, glsym_func_void);
+-   FALLBAK(glsym_glBindFramebuffer, glsym_func_void);
++   FINDSYM(glsym_glBindFramebuffer, "glBindFramebuffer", NULL);
++   FALLBAK(glsym_glBindFramebuffer);
+ 
+ #else
+ 
+@@ -274,79 +262,79 @@ evas_gl_symbols(void *(*GetProcAddress)(const char *name), const char *extsn)
+    glGenFramebuffers, glBindFramebuffer, glFramebufferTexture2D, glDeleteFramebuffers
+    */
+ 
+-   FINDSYM(glsym_glGenFramebuffers, "glGenFramebuffers", NULL, glsym_func_void);
+-   FINDSYM(glsym_glGenFramebuffers, "glGenFramebuffersARB", "GL_ARB_framebuffer_object", glsym_func_void);
+-   FINDSYM(glsym_glGenFramebuffers, "glGenFramebuffersEXT", "GL_EXT_framebuffer_object", glsym_func_void);
+-   FALLBAK(glsym_glGenFramebuffers, glsym_func_void);
++   FINDSYM(glsym_glGenFramebuffers, "glGenFramebuffers", NULL);
++   FINDSYM(glsym_glGenFramebuffers, "glGenFramebuffersARB", "GL_ARB_framebuffer_object");
++   FINDSYM(glsym_glGenFramebuffers, "glGenFramebuffersEXT", "GL_EXT_framebuffer_object");
++   FALLBAK(glsym_glGenFramebuffers);
+ 
+-   FINDSYM(glsym_glBindFramebuffer, "glBindFramebuffer", NULL, glsym_func_void);
+-   FINDSYM(glsym_glBindFramebuffer, "glBindFramebufferARB", "GL_ARB_framebuffer_object", glsym_func_void);
+-   FINDSYM(glsym_glBindFramebuffer, "glBindFramebufferEXT", "GL_EXT_framebuffer_object", glsym_func_void);
+-   FALLBAK(glsym_glBindFramebuffer, glsym_func_void);
++   FINDSYM(glsym_glBindFramebuffer, "glBindFramebuffer", NULL);
++   FINDSYM(glsym_glBindFramebuffer, "glBindFramebufferARB", "GL_ARB_framebuffer_object");
++   FINDSYM(glsym_glBindFramebuffer, "glBindFramebufferEXT", "GL_EXT_framebuffer_object");
++   FALLBAK(glsym_glBindFramebuffer);
+ 
+ #endif
+ 
+-   FINDSYM(glsym_glFramebufferTexture2D, "glFramebufferTexture2D", NULL, glsym_func_void);
+-   FINDSYM(glsym_glFramebufferTexture2D, "glFramebufferTexture2DARB", "GL_ARB_framebuffer_object", glsym_func_void);
+-   FINDSYM(glsym_glFramebufferTexture2D, "glFramebufferTexture2DEXT", "GL_EXT_framebuffer_object", glsym_func_void);
+-   FALLBAK(glsym_glFramebufferTexture2D, glsym_func_void);
++   FINDSYM(glsym_glFramebufferTexture2D, "glFramebufferTexture2D", NULL);
++   FINDSYM(glsym_glFramebufferTexture2D, "glFramebufferTexture2DARB", "GL_ARB_framebuffer_object");
++   FINDSYM(glsym_glFramebufferTexture2D, "glFramebufferTexture2DEXT", "GL_EXT_framebuffer_object");
++   FALLBAK(glsym_glFramebufferTexture2D);
+ 
+-   FINDSYM(glsym_glDeleteFramebuffers, "glDeleteFramebuffers", NULL, glsym_func_void);
+-   FINDSYM(glsym_glDeleteFramebuffers, "glDeleteFramebuffersARB", "GL_ARB_framebuffer_object", glsym_func_void);
+-   FINDSYM(glsym_glDeleteFramebuffers, "glDeleteFramebuffersEXT", "GL_EXT_framebuffer_object", glsym_func_void);
+-   FALLBAK(glsym_glDeleteFramebuffers, glsym_func_void);
++   FINDSYM(glsym_glDeleteFramebuffers, "glDeleteFramebuffers", NULL);
++   FINDSYM(glsym_glDeleteFramebuffers, "glDeleteFramebuffersARB", "GL_ARB_framebuffer_object");
++   FINDSYM(glsym_glDeleteFramebuffers, "glDeleteFramebuffersEXT", "GL_EXT_framebuffer_object");
++   FALLBAK(glsym_glDeleteFramebuffers);
+ 
+    // Not sure there's an EXT variant
+-   FINDSYM(glsym_glGetProgramBinary, "glGetProgramBinary", NULL, glsym_func_void);
+-   FINDSYM(glsym_glGetProgramBinary, "glGetProgramBinaryOES", "GL_OES_get_program_binary", glsym_func_void);
+-   FINDSYM(glsym_glGetProgramBinary, "glGetProgramBinaryEXT", "GL_EXT_get_program_binary", glsym_func_void);
++   FINDSYM(glsym_glGetProgramBinary, "glGetProgramBinary", NULL);
++   FINDSYM(glsym_glGetProgramBinary, "glGetProgramBinaryOES", "GL_OES_get_program_binary");
++   FINDSYM(glsym_glGetProgramBinary, "glGetProgramBinaryEXT", "GL_EXT_get_program_binary");
+ 
+    // Not sure there's an EXT variant
+-   FINDSYM(glsym_glProgramBinary, "glProgramBinary", NULL, glsym_func_void);
+-   FINDSYM(glsym_glProgramBinary, "glProgramBinaryOES", "GL_OES_get_program_binary", glsym_func_void);
+-   FINDSYM(glsym_glProgramBinary, "glProgramBinaryEXT", "GL_EXT_get_program_binary", glsym_func_void);
++   FINDSYM(glsym_glProgramBinary, "glProgramBinary", NULL);
++   FINDSYM(glsym_glProgramBinary, "glProgramBinaryOES", "GL_OES_get_program_binary");
++   FINDSYM(glsym_glProgramBinary, "glProgramBinaryEXT", "GL_EXT_get_program_binary");
+ 
+-   FINDSYM(glsym_glProgramParameteri, "glProgramParameteri", NULL, glsym_func_void);
+-   FINDSYM(glsym_glProgramParameteri, "glProgramParameteriEXT", "GL_EXT_separate_shader_objects", glsym_func_void);
+-   FINDSYM(glsym_glProgramParameteri, "glProgramParameteriARB", "GL_ARB_geometry_shader4", glsym_func_void);
++   FINDSYM(glsym_glProgramParameteri, "glProgramParameteri", NULL);
++   FINDSYM(glsym_glProgramParameteri, "glProgramParameteriEXT", "GL_EXT_separate_shader_objects");
++   FINDSYM(glsym_glProgramParameteri, "glProgramParameteriARB", "GL_ARB_geometry_shader4");
+ 
+-   FINDSYM(glsym_glReleaseShaderCompiler, "glReleaseShaderCompiler", NULL, glsym_func_void);
++   FINDSYM(glsym_glReleaseShaderCompiler, "glReleaseShaderCompiler", NULL);
+ #ifndef GL_GLES
+-   FINDSYM(glsym_glReleaseShaderCompiler, "glReleaseShaderCompiler", "GL_ARB_ES2_compatibility", glsym_func_void);
++   FINDSYM(glsym_glReleaseShaderCompiler, "glReleaseShaderCompiler", "GL_ARB_ES2_compatibility");
+ #endif
+ 
+    // Not sure there's a core variant, glActivateTileQCOM is strange as well
+-   FINDSYM(glsym_glStartTiling, "glStartTilingQCOM", "GL_QCOM_tiled_rendering", glsym_func_void);
+-   FINDSYM(glsym_glStartTiling, "glStartTiling", NULL, glsym_func_void);
+-   FINDSYM(glsym_glStartTiling, "glActivateTileQCOM", NULL, glsym_func_void);
+-   FINDSYM(glsym_glEndTiling, "glEndTilingQCOM", "GL_QCOM_tiled_rendering", glsym_func_void);
+-   FINDSYM(glsym_glEndTiling, "glEndTiling", NULL, glsym_func_void);
++   FINDSYM(glsym_glStartTiling, "glStartTilingQCOM", "GL_QCOM_tiled_rendering");
++   FINDSYM(glsym_glStartTiling, "glStartTiling", NULL);
++   FINDSYM(glsym_glStartTiling, "glActivateTileQCOM", NULL);
++   FINDSYM(glsym_glEndTiling, "glEndTilingQCOM", "GL_QCOM_tiled_rendering");
++   FINDSYM(glsym_glEndTiling, "glEndTiling", NULL);
+ 
+    if (!getenv("EVAS_GL_MAPBUFFER_DISABLE"))
+      {
+         // Not sure there's an EXT variant. (probably no KHR variant)
+-        FINDSYM(glsym_glMapBuffer, "glMapBuffer", NULL, glsym_func_void_ptr);
+-        FINDSYM(glsym_glMapBuffer, "glMapBufferOES", "GL_OES_mapbuffer", glsym_func_void_ptr);
+-        FINDSYM(glsym_glMapBuffer, "glMapBufferARB", "GL_ARB_vertex_buffer_object", glsym_func_void_ptr);
+-        FINDSYM(glsym_glMapBuffer, "glMapBufferARB", "GLX_ARB_vertex_buffer_object", glsym_func_void_ptr);
+-        FINDSYM(glsym_glMapBuffer, "glMapBufferEXT", NULL, glsym_func_void_ptr);
+-
+-        FINDSYM(glsym_glUnmapBuffer, "glUnmapBuffer", NULL, glsym_func_boolean);
+-        FINDSYM(glsym_glUnmapBuffer, "glUnmapBufferOES", "GL_OES_mapbuffer", glsym_func_boolean);
+-        FINDSYM(glsym_glUnmapBuffer, "glUnmapBufferARB", "GL_ARB_vertex_buffer_object", glsym_func_boolean);
+-        FINDSYM(glsym_glUnmapBuffer, "glUnmapBufferARB", "GLX_ARB_vertex_buffer_object", glsym_func_boolean);
+-        FINDSYM(glsym_glUnmapBuffer, "glUnmapBufferEXT", NULL, glsym_func_boolean);
++        FINDSYM(glsym_glMapBuffer, "glMapBuffer", NULL);
++        FINDSYM(glsym_glMapBuffer, "glMapBufferOES", "GL_OES_mapbuffer");
++        FINDSYM(glsym_glMapBuffer, "glMapBufferARB", "GL_ARB_vertex_buffer_object");
++        FINDSYM(glsym_glMapBuffer, "glMapBufferARB", "GLX_ARB_vertex_buffer_object");
++        FINDSYM(glsym_glMapBuffer, "glMapBufferEXT", NULL);
++
++        FINDSYM(glsym_glUnmapBuffer, "glUnmapBuffer", NULL);
++        FINDSYM(glsym_glUnmapBuffer, "glUnmapBufferOES", "GL_OES_mapbuffer");
++        FINDSYM(glsym_glUnmapBuffer, "glUnmapBufferARB", "GL_ARB_vertex_buffer_object");
++        FINDSYM(glsym_glUnmapBuffer, "glUnmapBufferARB", "GLX_ARB_vertex_buffer_object");
++        FINDSYM(glsym_glUnmapBuffer, "glUnmapBufferEXT", NULL);
+      }
+ 
+-   FINDSYM(glsym_glRenderbufferStorageMultisample, "glRenderbufferStorageMultisample", NULL, glsym_func_void);
++   FINDSYM(glsym_glRenderbufferStorageMultisample, "glRenderbufferStorageMultisample", NULL);
+ 
+ #ifdef GL_GLES
+-#define FINDSYMN(dst, sym, ext, typ) do { \
++#define FINDSYMN(dst, sym, ext) do { \
+    if (!dst) { \
+       if (_ckext(extsn, ext) && GetProcAddress) \
+-        dst = (typ) GetProcAddress(sym); \
++        dst = GetProcAddress(sym); \
+       if (!dst) \
+-        dst = (typ) dlsym(RTLD_DEFAULT, sym); \
++        dst = dlsym(RTLD_DEFAULT, sym); \
+    }} while (0)
+ 
+ // yes - gl core looking for egl stuff. i know it's odd. a reverse-layer thing
+@@ -374,22 +362,22 @@ evas_gl_symbols(void *(*GetProcAddress)(const char *name), const char *extsn)
+         {
+            eglsym_eglCreateImage = NULL;
+            eglsym_eglDestroyImage = NULL;
+-           FINDSYMN(eglsym_eglCreateImageKHR, "eglCreateImageKHR", "EGL_KHR_image_base", secsym_func_void_ptr);
+-           FINDSYMN(eglsym_eglDestroyImage, "eglDestroyImageKHR", "EGL_KHR_image_base", secsym_func_uint);
++           FINDSYMN(eglsym_eglCreateImageKHR, "eglCreateImageKHR", "EGL_KHR_image_base");
++           FINDSYMN(eglsym_eglDestroyImage, "eglDestroyImageKHR", "EGL_KHR_image_base");
+         }
+    }
+ 
+-   FINDSYM(glsym_glProgramParameteri, "glProgramParameteri", NULL, glsym_func_void);
+-   FINDSYM(glsym_glProgramParameteri, "glProgramParameteriEXT", "GL_EXT_geometry_shader4", glsym_func_void);
+-   FINDSYM(glsym_glProgramParameteri, "glProgramParameteriARB", "GL_ARB_geometry_shader4", glsym_func_void);
++   FINDSYM(glsym_glProgramParameteri, "glProgramParameteri", NULL);
++   FINDSYM(glsym_glProgramParameteri, "glProgramParameteriEXT", "GL_EXT_geometry_shader4");
++   FINDSYM(glsym_glProgramParameteri, "glProgramParameteriARB", "GL_ARB_geometry_shader4");
+ 
+-   FINDSYM(secsym_glEGLImageTargetTexture2DOES, "glEGLImageTargetTexture2DOES", "GL_OES_EGL_image_external", glsym_func_void);
+-   FINDSYM(secsym_glEGLImageTargetTexture2DOES, "glEGLImageTargetTexture2DOES", "GL_OES_EGL_image", glsym_func_void);
++   FINDSYM(secsym_glEGLImageTargetTexture2DOES, "glEGLImageTargetTexture2DOES", "GL_OES_EGL_image_external");
++   FINDSYM(secsym_glEGLImageTargetTexture2DOES, "glEGLImageTargetTexture2DOES", "GL_OES_EGL_image");
+ 
+    // Old SEC extensions
+-   FINDSYMN(secsym_eglMapImageSEC, "eglMapImageSEC", NULL, secsym_func_void_ptr);
+-   FINDSYMN(secsym_eglUnmapImageSEC, "eglUnmapImageSEC", NULL, secsym_func_uint);
+-   FINDSYMN(secsym_eglGetImageAttribSEC, "eglGetImageAttribSEC", NULL, secsym_func_uint);
++   FINDSYMN(secsym_eglMapImageSEC, "eglMapImageSEC", NULL);
++   FINDSYMN(secsym_eglUnmapImageSEC, "eglUnmapImageSEC", NULL);
++   FINDSYMN(secsym_eglGetImageAttribSEC, "eglGetImageAttribSEC", NULL);
+ 
+ #undef FINDSYMN
+ 
+@@ -421,19 +409,19 @@ tbm_symbols(void)
+         return;
+      }
+ 
+-#define FINDSYM(dst, sym, typ) \
+-   if (!dst) dst = (typ)dlsym(tbm_lib_handle, sym); \
++#define FINDSYM(dst, sym) \
++   if (!dst) dst = dlsym(tbm_lib_handle, sym); \
+    if (!dst)  \
+      { \
+         ERR("Symbol not found %s\n", sym); \
+         return; \
+      }
+ 
+-   FINDSYM(secsym_tbm_surface_create, "tbm_surface_create", secsym_func_void_ptr);
+-   FINDSYM(secsym_tbm_surface_destroy, "tbm_surface_destroy", secsym_func_int);
+-   FINDSYM(secsym_tbm_surface_map, "tbm_surface_map", secsym_func_int);
+-   FINDSYM(secsym_tbm_surface_unmap, "tbm_surface_unmap", secsym_func_int);
+-   FINDSYM(secsym_tbm_surface_get_info, "tbm_surface_get_info", secsym_func_int);
++   FINDSYM(secsym_tbm_surface_create, "tbm_surface_create");
++   FINDSYM(secsym_tbm_surface_destroy, "tbm_surface_destroy");
++   FINDSYM(secsym_tbm_surface_map, "tbm_surface_map");
++   FINDSYM(secsym_tbm_surface_unmap, "tbm_surface_unmap");
++   FINDSYM(secsym_tbm_surface_get_info, "tbm_surface_get_info");
+ 
+ #undef FINDSYM
+ #endif
+diff --git a/src/modules/evas/engines/gl_common/evas_gl_core.c b/src/modules/evas/engines/gl_common/evas_gl_core.c
+index c7d453ffbd6..40518b5cd94 100644
+--- a/src/modules/evas/engines/gl_common/evas_gl_core.c
++++ b/src/modules/evas/engines/gl_common/evas_gl_core.c
+@@ -21,7 +21,7 @@ EVGL_Engine *evgl_engine = NULL;
+ int _evas_gl_log_dom   = -1;
+ int _evas_gl_log_level = -1;
+ 
+-typedef void           *(*glsym_func_void_ptr) ();
++typedef void           *(*glsym_func_void_ptr) (void *);
+ glsym_func_void_ptr glsym_evas_gl_native_context_get = NULL;
+ glsym_func_void_ptr glsym_evas_gl_engine_data_get = NULL;
+ 
+diff --git a/src/modules/evas/engines/gl_drm/evas_engine.c b/src/modules/evas/engines/gl_drm/evas_engine.c
+index d59f762160d..1d57b69f4ba 100644
+--- a/src/modules/evas/engines/gl_drm/evas_engine.c
++++ b/src/modules/evas/engines/gl_drm/evas_engine.c
+@@ -74,11 +74,7 @@ static struct gbm_device *gbm_dev = NULL;
+ static int gbm_dev_refs = 0;
+ 
+ /* local function prototype types */
+-typedef void (*glsym_func_void)();
+-typedef void *(*glsym_func_void_ptr)();
+-typedef int (*glsym_func_int)();
+-typedef unsigned int (*glsym_func_uint)();
+-typedef const char *(*glsym_func_const_char_ptr)();
++typedef void *(*glsym_func_void_ptr)(void);
+ 
+ /* external dynamic loaded Evas_GL function pointers */
+ Evas_GL_Common_Image_Call glsym_evas_gl_common_image_ref = NULL;
+@@ -255,26 +251,20 @@ eng_egl_symbols(EGLDisplay edsp)
+ 
+    if (done) return;
+ 
+-#define FINDSYM(dst, sym, typ) \
+-   if (!dst) dst = (typ)glsym_eglGetProcAddress(sym);
++#define FINDSYM(dst, sym) \
++   if (!dst) dst = glsym_eglGetProcAddress(sym)
+ 
+    exts = eglQueryString(edsp, EGL_EXTENSIONS);
+ 
+-   FINDSYM(glsym_glEGLImageTargetTexture2DOES,
+-           "glEGLImageTargetTexture2DOES", glsym_func_void);
++   FINDSYM(glsym_glEGLImageTargetTexture2DOES, "glEGLImageTargetTexture2DOES");
+ 
+-   FINDSYM(glsym_eglSwapBuffersWithDamage, "eglSwapBuffersWithDamageEXT",
+-           glsym_func_uint);
+-   FINDSYM(glsym_eglSwapBuffersWithDamage, "eglSwapBuffersWithDamageINTEL",
+-           glsym_func_uint);
+-   FINDSYM(glsym_eglSwapBuffersWithDamage, "eglSwapBuffersWithDamage",
+-           glsym_func_uint);
++   FINDSYM(glsym_eglSwapBuffersWithDamage, "eglSwapBuffersWithDamageEXT");
++   FINDSYM(glsym_eglSwapBuffersWithDamage, "eglSwapBuffersWithDamageINTEL");
++   FINDSYM(glsym_eglSwapBuffersWithDamage, "eglSwapBuffersWithDamage");
+ 
+-   FINDSYM(glsym_eglSetDamageRegionKHR, "eglSetDamageRegionKHR",
+-           glsym_func_uint);
++   FINDSYM(glsym_eglSetDamageRegionKHR, "eglSetDamageRegionKHR");
+ 
+-   FINDSYM(glsym_eglQueryWaylandBufferWL, "eglQueryWaylandBufferWL",
+-           glsym_func_uint);
++   FINDSYM(glsym_eglQueryWaylandBufferWL, "eglQueryWaylandBufferWL");
+ 
+    if (_ckext(exts, "EGL_IMG_context_priority"))
+      _extn_have_context_priority = 1;
+diff --git a/src/modules/evas/engines/gl_x11/evas_engine.c b/src/modules/evas/engines/gl_x11/evas_engine.c
+index 72edcbf50eb..86f5064cf3e 100644
+--- a/src/modules/evas/engines/gl_x11/evas_engine.c
++++ b/src/modules/evas/engines/gl_x11/evas_engine.c
+@@ -33,13 +33,11 @@ static int gl_wins = 0;
+ static int extn_have_y_inverted = 1;
+ #endif
+ 
+-typedef void            (*_eng_fn) (void);
+-typedef _eng_fn         (*glsym_func_eng_fn) ();
+-typedef void            (*glsym_func_void) ();
+-typedef void           *(*glsym_func_void_ptr) ();
+-typedef int             (*glsym_func_int) ();
+-typedef unsigned int    (*glsym_func_uint) ();
+-typedef const char     *(*glsym_func_const_char_ptr) ();
++typedef void           *(*glsym_func_void_ptr) (void);
++
++typedef void            (*glsym_func_void_in_voidp) (void *);
++typedef void            (*glsym_func_void_in_int) (int);
++typedef int             (*glsym_func_int_in_voidp) (void *);
+ 
+ Evas_GL_Common_Image_Call glsym_evas_gl_common_image_ref = NULL;
+ Evas_GL_Common_Image_Call glsym_evas_gl_common_image_unref = NULL;
+@@ -68,14 +66,14 @@ Evas_GL_Preload_Render_Call glsym_evas_gl_preload_render_lock = NULL;
+ Evas_GL_Preload_Render_Call glsym_evas_gl_preload_render_unlock = NULL;
+ Evas_GL_Preload_Render_Call glsym_evas_gl_preload_render_relax = NULL;
+ 
+-glsym_func_void     glsym_evas_gl_common_shaders_flush = NULL;
+-glsym_func_void     glsym_evas_gl_common_error_set = NULL;
+-glsym_func_int      glsym_evas_gl_common_error_get = NULL;
+-glsym_func_void_ptr glsym_evas_gl_common_current_context_get = NULL;
++glsym_func_void_in_voidp glsym_evas_gl_common_shaders_flush = NULL;
++glsym_func_void_in_int   glsym_evas_gl_common_error_set = NULL;
++glsym_func_int_in_voidp  glsym_evas_gl_common_error_get = NULL;
++glsym_func_void_ptr      glsym_evas_gl_common_current_context_get = NULL;
+ 
+ #ifdef GL_GLES
+ 
+-_eng_fn      (*glsym_eglGetProcAddress)            (const char *a) = NULL;
++void        *(*glsym_eglGetProcAddress)            (const char *a) = NULL;
+ EGLImageKHR  (*glsym_evas_gl_common_eglCreateImage)(EGLDisplay a, EGLContext b, EGLenum c, EGLClientBuffer d, const EGLAttrib *e) = NULL;
+ int          (*glsym_evas_gl_common_eglDestroyImage) (EGLDisplay a, void *b) = NULL;
+ void         (*glsym_glEGLImageTargetTexture2DOES) (int a, void *b)  = NULL;
+@@ -87,7 +85,7 @@ unsigned int (*glsym_eglQueryWaylandBufferWL)(EGLDisplay a, /*struct wl_resource
+ 
+ typedef XID     (*glsym_func_xid) ();
+ 
+-_eng_fn  (*glsym_glXGetProcAddress)  (const char *a) = NULL;
++void    *(*glsym_glXGetProcAddress)  (const char *a) = NULL;
+ void     (*glsym_glXBindTexImage)    (Display *a, GLXDrawable b, int c, int *d) = NULL;
+ void     (*glsym_glXReleaseTexImage) (Display *a, GLXDrawable b, int c) = NULL;
+ int      (*glsym_glXGetVideoSync)    (unsigned int *a) = NULL;
+@@ -1310,19 +1308,19 @@ gl_symbols(void)
+    LINK2GENERIC(evas_gl_common_current_context_get);
+    LINK2GENERIC(evas_gl_common_shaders_flush);
+ 
+-#define FINDSYM(dst, sym, typ) if (!dst) dst = (typ)dlsym(RTLD_DEFAULT, sym);
++#define FINDSYM(dst, sym) if (!dst) dst = dlsym(RTLD_DEFAULT, sym)
+ #ifdef GL_GLES
+ 
+-   FINDSYM(glsym_eglGetProcAddress, "eglGetProcAddressKHR", glsym_func_eng_fn);
+-   FINDSYM(glsym_eglGetProcAddress, "eglGetProcAddressEXT", glsym_func_eng_fn);
+-   FINDSYM(glsym_eglGetProcAddress, "eglGetProcAddressARB", glsym_func_eng_fn);
+-   FINDSYM(glsym_eglGetProcAddress, "eglGetProcAddress", glsym_func_eng_fn);
++   FINDSYM(glsym_eglGetProcAddress, "eglGetProcAddressKHR");
++   FINDSYM(glsym_eglGetProcAddress, "eglGetProcAddressEXT");
++   FINDSYM(glsym_eglGetProcAddress, "eglGetProcAddressARB");
++   FINDSYM(glsym_eglGetProcAddress, "eglGetProcAddress");
+ 
+ #else
+ 
+-   FINDSYM(glsym_glXGetProcAddress, "glXGetProcAddressEXT", glsym_func_eng_fn);
+-   FINDSYM(glsym_glXGetProcAddress, "glXGetProcAddressARB", glsym_func_eng_fn);
+-   FINDSYM(glsym_glXGetProcAddress, "glXGetProcAddress", glsym_func_eng_fn);
++   FINDSYM(glsym_glXGetProcAddress, "glXGetProcAddressEXT");
++   FINDSYM(glsym_glXGetProcAddress, "glXGetProcAddressARB");
++   FINDSYM(glsym_glXGetProcAddress, "glXGetProcAddress");
+ 
+ #endif
+ #undef FINDSYM
+@@ -1348,12 +1346,12 @@ eng_gl_symbols(Outbuf *ob)
+     */
+ 
+ #ifdef GL_GLES
+-#define FINDSYM(dst, sym, ext, typ) do { \
++#define FINDSYM(dst, sym, ext) do { \
+    if (!dst) { \
+       if (_has_ext(exts, ext) && glsym_eglGetProcAddress) \
+-        dst = (typ) glsym_eglGetProcAddress(sym); \
++        dst = glsym_eglGetProcAddress(sym); \
+       if (!dst) \
+-        dst = (typ) dlsym(RTLD_DEFAULT, sym); \
++        dst = dlsym(RTLD_DEFAULT, sym); \
+    }} while (0)
+ 
+    // Find EGL extensions
+@@ -1365,23 +1363,23 @@ eng_gl_symbols(Outbuf *ob)
+    LINK2GENERIC(evas_gl_common_eglCreateImage);
+    LINK2GENERIC(evas_gl_common_eglDestroyImage);
+ 
+-   FINDSYM(glsym_eglSwapBuffersWithDamage, "eglSwapBuffersWithDamage", NULL, glsym_func_uint);
+-   FINDSYM(glsym_eglSwapBuffersWithDamage, "eglSwapBuffersWithDamageEXT", "EGL_EXT_swap_buffers_with_damage", glsym_func_uint);
+-   FINDSYM(glsym_eglSwapBuffersWithDamage, "eglSwapBuffersWithDamageKHR", "EGL_KHR_swap_buffers_with_damage", glsym_func_uint);
+-   FINDSYM(glsym_eglSwapBuffersWithDamage, "eglSwapBuffersWithDamageINTEL", "EGL_INTEL_swap_buffers_with_damage", glsym_func_uint);
++   FINDSYM(glsym_eglSwapBuffersWithDamage, "eglSwapBuffersWithDamage", NULL);
++   FINDSYM(glsym_eglSwapBuffersWithDamage, "eglSwapBuffersWithDamageEXT", "EGL_EXT_swap_buffers_with_damage");
++   FINDSYM(glsym_eglSwapBuffersWithDamage, "eglSwapBuffersWithDamageKHR", "EGL_KHR_swap_buffers_with_damage");
++   FINDSYM(glsym_eglSwapBuffersWithDamage, "eglSwapBuffersWithDamageINTEL", "EGL_INTEL_swap_buffers_with_damage");
+ 
+-   FINDSYM(glsym_eglSetDamageRegionKHR, "eglSetDamageRegionKHR", "EGL_KHR_partial_update", glsym_func_uint);
++   FINDSYM(glsym_eglSetDamageRegionKHR, "eglSetDamageRegionKHR", "EGL_KHR_partial_update");
+ 
+-   FINDSYM(glsym_eglQueryWaylandBufferWL, "eglQueryWaylandBufferWL", "EGL_WL_bind_wayland_display", glsym_func_uint);
++   FINDSYM(glsym_eglQueryWaylandBufferWL, "eglQueryWaylandBufferWL", "EGL_WL_bind_wayland_display");
+ 
+    // This is a GL extension
+    exts = (const char *) glGetString(GL_EXTENSIONS);
+-   FINDSYM(glsym_glEGLImageTargetTexture2DOES, "glEGLImageTargetTexture2DOES", "GL_OES_EGL_image_external", glsym_func_void);
+-   FINDSYM(glsym_glEGLImageTargetTexture2DOES, "glEGLImageTargetTexture2DOES", "GL_OES_EGL_image", glsym_func_void);
++   FINDSYM(glsym_glEGLImageTargetTexture2DOES, "glEGLImageTargetTexture2DOES", "GL_OES_EGL_image_external");
++   FINDSYM(glsym_glEGLImageTargetTexture2DOES, "glEGLImageTargetTexture2DOES", "GL_OES_EGL_image");
+ 
+ #else
+ 
+-#define FINDSYM(dst, sym, ext, typ) do { \
++#define FINDSYM(dst, sym, ext) do { \
+    if (!dst) { \
+       if (_has_ext(exts, ext) && glsym_glXGetProcAddress) \
+         dst = (typ) glsym_glXGetProcAddress(sym); \
+@@ -1395,30 +1393,30 @@ eng_gl_symbols(Outbuf *ob)
+    // Find GL extensions
+    glsym_evas_gl_symbols((void*)glsym_glXGetProcAddress, exts);
+ 
+-   FINDSYM(glsym_glXBindTexImage, "glXBindTexImage", NULL, glsym_func_void);
+-   FINDSYM(glsym_glXBindTexImage, "glXBindTexImageEXT", "GLX_EXT_texture_from_pixmap", glsym_func_void);
+-   FINDSYM(glsym_glXBindTexImage, "glXBindTexImageARB", "GLX_ARB_render_texture", glsym_func_void);
++   FINDSYM(glsym_glXBindTexImage, "glXBindTexImage", NULL);
++   FINDSYM(glsym_glXBindTexImage, "glXBindTexImageEXT", "GLX_EXT_texture_from_pixmap");
++   FINDSYM(glsym_glXBindTexImage, "glXBindTexImageARB", "GLX_ARB_render_texture");
+ 
+-   FINDSYM(glsym_glXReleaseTexImage, "glXReleaseTexImage", NULL, glsym_func_void);
+-   FINDSYM(glsym_glXReleaseTexImage, "glXReleaseTexImageEXT", "GLX_EXT_texture_from_pixmap", glsym_func_void);
+-   FINDSYM(glsym_glXReleaseTexImage, "glXReleaseTexImageARB", "GLX_ARB_render_texture", glsym_func_void);
++   FINDSYM(glsym_glXReleaseTexImage, "glXReleaseTexImage", NULL);
++   FINDSYM(glsym_glXReleaseTexImage, "glXReleaseTexImageEXT", "GLX_EXT_texture_from_pixmap");
++   FINDSYM(glsym_glXReleaseTexImage, "glXReleaseTexImageARB", "GLX_ARB_render_texture");
+ 
+-   FINDSYM(glsym_glXGetVideoSync, "glXGetVideoSyncSGI", "GLX_SGI_video_sync", glsym_func_int);
+-   FINDSYM(glsym_glXWaitVideoSync, "glXWaitVideoSyncSGI", "GLX_SGI_video_sync", glsym_func_int);
++   FINDSYM(glsym_glXGetVideoSync, "glXGetVideoSyncSGI", "GLX_SGI_video_sync");
++   FINDSYM(glsym_glXWaitVideoSync, "glXWaitVideoSyncSGI", "GLX_SGI_video_sync");
+ 
+    // GLX 1.3
+-   FINDSYM(glsym_glXCreatePixmap, "glXCreatePixmap", NULL, glsym_func_xid);
+-   FINDSYM(glsym_glXDestroyPixmap, "glXDestroyPixmap", NULL, glsym_func_void);
+-   FINDSYM(glsym_glXQueryDrawable, "glXQueryDrawable", NULL, glsym_func_void);
++   FINDSYM(glsym_glXCreatePixmap, "glXCreatePixmap", NULL);
++   FINDSYM(glsym_glXDestroyPixmap, "glXDestroyPixmap", NULL);
++   FINDSYM(glsym_glXQueryDrawable, "glXQueryDrawable", NULL);
+ 
+    // swap interval: MESA and SGI take (interval)
+-   FINDSYM(glsym_glXSwapIntervalSGI, "glXSwapIntervalMESA", "GLX_MESA_swap_control", glsym_func_int);
+-   FINDSYM(glsym_glXSwapIntervalSGI, "glXSwapIntervalSGI", "GLX_SGI_swap_control", glsym_func_int);
++   FINDSYM(glsym_glXSwapIntervalSGI, "glXSwapIntervalMESA", "GLX_MESA_swap_control");
++   FINDSYM(glsym_glXSwapIntervalSGI, "glXSwapIntervalSGI", "GLX_SGI_swap_control");
+ 
+    // swap interval: EXT takes (dpy, drawable, interval)
+-   FINDSYM(glsym_glXSwapIntervalEXT, "glXSwapIntervalEXT", "GLX_EXT_swap_control", glsym_func_void);
++   FINDSYM(glsym_glXSwapIntervalEXT, "glXSwapIntervalEXT", "GLX_EXT_swap_control");
+ 
+-   FINDSYM(glsym_glXReleaseBuffersMESA, "glXReleaseBuffersMESA", "GLX_MESA_release_buffers", glsym_func_void);
++   FINDSYM(glsym_glXReleaseBuffersMESA, "glXReleaseBuffersMESA", "GLX_MESA_release_buffers");
+ 
+ #endif
+ #undef FINDSYM
+diff --git a/src/modules/evas/engines/gl_x11/evas_x_main.c b/src/modules/evas/engines/gl_x11/evas_x_main.c
+index 3bc2b0b6e57..06e05f8e4d9 100644
+--- a/src/modules/evas/engines/gl_x11/evas_x_main.c
++++ b/src/modules/evas/engines/gl_x11/evas_x_main.c
+@@ -7,8 +7,8 @@
+ static Eina_TLS _outbuf_key = 0;
+ static Eina_TLS _context_key = 0;
+ 
+-typedef void (*glsym_func_void) ();
+-glsym_func_void glsym_evas_gl_common_context_restore_set = NULL;
++typedef void (*glsym_func_void_in_bool) (Eina_Bool);
++glsym_func_void_in_bool glsym_evas_gl_common_context_restore_set = NULL;
+ 
+ Eina_Bool gles3_supported = EINA_FALSE;
+ 
+diff --git a/src/modules/evas/engines/wayland_egl/evas_engine.c b/src/modules/evas/engines/wayland_egl/evas_engine.c
+index 58eb54a467b..3d1b106ecf1 100644
+--- a/src/modules/evas/engines/wayland_egl/evas_engine.c
++++ b/src/modules/evas/engines/wayland_egl/evas_engine.c
+@@ -27,13 +27,6 @@ struct _Render_Engine
+    Render_Output_GL_Generic generic;
+ };
+ 
+-/* local function prototypes */
+-typedef void (*glsym_func_void) ();
+-typedef void *(*glsym_func_void_ptr) ();
+-typedef int (*glsym_func_int) ();
+-typedef unsigned int (*glsym_func_uint) ();
+-typedef const char *(*glsym_func_const_char_ptr) ();
+-
+ Evas_GL_Common_Image_Call glsym_evas_gl_common_image_ref = NULL;
+ Evas_GL_Common_Image_Call glsym_evas_gl_common_image_unref = NULL;
+ Evas_GL_Common_Image_Call glsym_evas_gl_common_image_free = NULL;
+@@ -142,11 +135,11 @@ eng_gl_symbols(EGLDisplay edsp)
+    const char *exts = NULL;
+ 
+    if (done) return;
+-#define FINDSYM(dst, sym, typ) \
++#define FINDSYM(dst, sym) \
+    if (glsym_eglGetProcAddress) { \
+-      if (!dst) dst = (typ)glsym_eglGetProcAddress(sym); \
++      if (!dst) dst = glsym_eglGetProcAddress(sym); \
+    } else { \
+-      if (!dst) dst = (typ)dlsym(RTLD_DEFAULT, sym); \
++      if (!dst) dst = dlsym(RTLD_DEFAULT, sym); \
+    }
+ 
+    // Find EGL extensions
+@@ -155,20 +148,14 @@ eng_gl_symbols(EGLDisplay edsp)
+    // Find GL extensions
+    glsym_evas_gl_symbols(glsym_eglGetProcAddress, exts);
+ 
+-   FINDSYM(glsym_glEGLImageTargetTexture2DOES, "glEGLImageTargetTexture2DOES",
+-           glsym_func_void);
++   FINDSYM(glsym_glEGLImageTargetTexture2DOES, "glEGLImageTargetTexture2DOES");
+ 
+-   FINDSYM(glsym_eglSwapBuffersWithDamage, "eglSwapBuffersWithDamageEXT",
+-           glsym_func_uint);
+-   FINDSYM(glsym_eglSwapBuffersWithDamage, "eglSwapBuffersWithDamageINTEL",
+-           glsym_func_uint);
+-   FINDSYM(glsym_eglSwapBuffersWithDamage, "eglSwapBuffersWithDamage",
+-           glsym_func_uint);
+-   FINDSYM(glsym_eglSetDamageRegionKHR, "eglSetDamageRegionKHR",
+-           glsym_func_uint);
++   FINDSYM(glsym_eglSwapBuffersWithDamage, "eglSwapBuffersWithDamageEXT");
++   FINDSYM(glsym_eglSwapBuffersWithDamage, "eglSwapBuffersWithDamageINTEL");
++   FINDSYM(glsym_eglSwapBuffersWithDamage, "eglSwapBuffersWithDamage");
++   FINDSYM(glsym_eglSetDamageRegionKHR, "eglSetDamageRegionKHR");
+ 
+-   FINDSYM(glsym_eglQueryWaylandBufferWL, "eglQueryWaylandBufferWL",
+-           glsym_func_uint);
++   FINDSYM(glsym_eglQueryWaylandBufferWL, "eglQueryWaylandBufferWL");
+ 
+    done = EINA_TRUE;
+ }
diff --git a/628c40cce2de0a18818b40615d3351b0c9e9b889.patch b/628c40cce2de0a18818b40615d3351b0c9e9b889.patch
new file mode 100644
index 0000000..317f727
--- /dev/null
+++ b/628c40cce2de0a18818b40615d3351b0c9e9b889.patch
@@ -0,0 +1,69 @@
+From 628c40cce2de0a18818b40615d3351b0c9e9b889 Mon Sep 17 00:00:00 2001
+From: "Carsten Haitzler (Rasterman)" <raster at rasterman.com>
+Date: Sat, 3 May 2025 15:04:54 +0100
+Subject: [PATCH] edje - edit - gcc15 break - adapt to new keywords in c23
+
+gcc 15 default policy of breaking existing code. adapt.
+---
+ src/lib/edje/edje_edit.c | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/src/lib/edje/edje_edit.c b/src/lib/edje/edje_edit.c
+index 70294fd824..e4a5b4a1da 100644
+--- a/src/lib/edje/edje_edit.c
++++ b/src/lib/edje/edje_edit.c
+@@ -7757,11 +7757,11 @@ edje_edit_state_map_backface_cull_get(Evas_Object *obj, const char *part, const
+ }
+ 
+ EAPI Eina_Bool
+-edje_edit_state_map_backface_cull_set(Evas_Object *obj, const char *part, const char *state, double value, Eina_Bool bool)
++edje_edit_state_map_backface_cull_set(Evas_Object *obj, const char *part, const char *state, double value, Eina_Bool b)
+ {
+    GET_PD_OR_RETURN(EINA_FALSE);
+ 
+-   pd->map.backcull = bool;
++   pd->map.backcull = b;
+ 
+    edje_object_calc_force(obj);
+    return EINA_TRUE;
+@@ -7776,11 +7776,11 @@ edje_edit_state_map_perspective_on_get(Evas_Object *obj, const char *part, const
+ }
+ 
+ EAPI Eina_Bool
+-edje_edit_state_map_perspective_on_set(Evas_Object *obj, const char *part, const char *state, double value, Eina_Bool bool)
++edje_edit_state_map_perspective_on_set(Evas_Object *obj, const char *part, const char *state, double value, Eina_Bool b)
+ {
+    GET_PD_OR_RETURN(EINA_FALSE);
+ 
+-   pd->map.persp_on = bool;
++   pd->map.persp_on = b;
+ 
+    edje_object_calc_force(obj);
+    return EINA_TRUE;
+@@ -7795,22 +7795,22 @@ edje_edit_state_map_alpha_get(Evas_Object *obj, const char *part, const char *st
+ }
+ 
+ EAPI Eina_Bool
+-edje_edit_state_map_alpha_set(Evas_Object *obj, const char *part, const char *state, double value, Eina_Bool bool)
++edje_edit_state_map_alpha_set(Evas_Object *obj, const char *part, const char *state, double value, Eina_Bool b)
+ {
+    GET_PD_OR_RETURN(EINA_FALSE);
+ 
+-   pd->map.alpha = bool;
++   pd->map.alpha = b;
+ 
+    edje_object_calc_force(obj);
+    return EINA_TRUE;
+ }
+ 
+ EAPI Eina_Bool
+-edje_edit_state_map_smooth_set(Evas_Object *obj, const char *part, const char *state, double value, Eina_Bool bool)
++edje_edit_state_map_smooth_set(Evas_Object *obj, const char *part, const char *state, double value, Eina_Bool b)
+ {
+    GET_PD_OR_RETURN(EINA_FALSE);
+ 
+-   pd->map.smooth = bool;
++   pd->map.smooth = b;
+ 
+    edje_object_calc_force(obj);
+    return EINA_TRUE;
diff --git a/6d47ea358c4ece8ecc94a8aaf8f501e8cdea24fb.patch b/6d47ea358c4ece8ecc94a8aaf8f501e8cdea24fb.patch
new file mode 100644
index 0000000..8516f93
--- /dev/null
+++ b/6d47ea358c4ece8ecc94a8aaf8f501e8cdea24fb.patch
@@ -0,0 +1,1076 @@
+From 6d47ea358c4ece8ecc94a8aaf8f501e8cdea24fb Mon Sep 17 00:00:00 2001
+From: "Carsten Haitzler (Rasterman)" <raster at rasterman.com>
+Date: Mon, 5 May 2025 18:51:34 +0100
+Subject: [PATCH] tests+examples - fix more gcc 15 issues
+
+this "c23" move by default is just so wrong.
+---
+ src/examples/eldbus/server.c                  |  6 ++---
+ src/examples/elementary/win_example.c         |  2 +-
+ src/tests/ecore/ecore_suite.c                 |  2 +-
+ src/tests/ecore/ecore_test_timer.c            |  4 +--
+ src/tests/elementary/efl_ui_suite.h           |  4 +--
+ src/tests/elementary/efl_ui_test_atspi.c      |  2 +-
+ src/tests/elementary/efl_ui_test_box.c        |  2 +-
+ src/tests/elementary/efl_ui_test_box_flow.c   |  2 +-
+ src/tests/elementary/efl_ui_test_box_stack.c  |  2 +-
+ src/tests/elementary/efl_ui_test_callback.c   |  2 +-
+ src/tests/elementary/efl_ui_test_check.c      |  2 +-
+ src/tests/elementary/efl_ui_test_collection.c |  2 +-
+ .../elementary/efl_ui_test_collection_view.c  |  4 +--
+ src/tests/elementary/efl_ui_test_gesture.c    |  2 +-
+ src/tests/elementary/efl_ui_test_grid.c       |  2 +-
+ .../elementary/efl_ui_test_grid_collection.c  |  2 +-
+ src/tests/elementary/efl_ui_test_group_item.c |  2 +-
+ .../elementary/efl_ui_test_list_collection.c  |  2 +-
+ src/tests/elementary/efl_ui_test_popup.c      | 16 ++++++------
+ .../efl_ui_test_position_manager_common.c     |  6 ++---
+ .../elementary/efl_ui_test_progressbar.c      |  2 +-
+ .../elementary/efl_ui_test_radio_group.c      |  2 +-
+ src/tests/elementary/efl_ui_test_scroller.c   |  4 +--
+ src/tests/elementary/efl_ui_test_slider.c     |  6 ++---
+ src/tests/elementary/efl_ui_test_spin.c       |  2 +-
+ .../elementary/efl_ui_test_spin_button.c      |  2 +-
+ src/tests/elementary/efl_ui_test_table.c      |  2 +-
+ src/tests/elementary/efl_ui_test_text.c       | 26 +++++++++----------
+ src/tests/elementary/efl_ui_test_timepicker.c |  4 +--
+ src/tests/elementary/efl_ui_test_win.c        |  2 +-
+ src/tests/elementary/elm_suite.h              |  5 ++--
+ src/tests/elementary/elm_test_ctxpopup.c      |  2 +-
+ src/tests/elementary/elm_test_entry.c         |  2 +-
+ src/tests/elementary/elm_test_gengrid.c       |  2 +-
+ src/tests/elementary/elm_test_genlist.c       |  8 +++---
+ src/tests/elementary/elm_test_hoversel.c      |  4 +--
+ src/tests/elementary/elm_test_radio.c         |  2 +-
+ src/tests/elementary/elm_test_widget_basics.c |  4 +--
+ .../spec/efl_test_multi_selectable.c          | 16 ++++++------
+ .../spec/efl_test_single_selectable.c         |  2 +-
+ src/tests/elementary/spec/efl_ui_spec_suite.c |  2 +-
+ src/tests/elementary/spec/efl_ui_spec_suite.h |  2 +-
+ src/tests/elementary/suite_helpers.c          | 26 ++++++++++++-------
+ src/tests/elementary/suite_helpers.h          |  3 ++-
+ src/tests/evas/evas_test_evasgl.c             |  2 +-
+ 45 files changed, 105 insertions(+), 97 deletions(-)
+
+diff --git a/src/examples/eldbus/server.c b/src/examples/eldbus/server.c
+index 532ce4267ff..98f44913440 100644
+--- a/src/examples/eldbus/server.c
++++ b/src/examples/eldbus/server.c
+@@ -54,10 +54,10 @@ static Eldbus_Message *
+ _send_bool(const Eldbus_Service_Interface *iface EINA_UNUSED, const Eldbus_Message *msg)
+ {
+    Eldbus_Message *reply = eldbus_message_method_return_new(msg);
+-   Eina_Bool bool;
+-   if (!eldbus_message_arguments_get(msg, "b", &bool))
++   Eina_Bool b;
++   if (!eldbus_message_arguments_get(msg, "b", &b))
+      printf("eldbus_message_arguments_get() error\n");
+-   eldbus_message_arguments_append(reply, "b", bool);
++   eldbus_message_arguments_append(reply, "b", b);
+    return reply;
+ }
+ 
+diff --git a/src/examples/elementary/win_example.c b/src/examples/elementary/win_example.c
+index 26cd59cc906..48fb6025df8 100644
+--- a/src/examples/elementary/win_example.c
++++ b/src/examples/elementary/win_example.c
+@@ -171,7 +171,7 @@ _win_focused_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event EINA_UNUSE
+ }
+ 
+ static Eina_Bool
+-key_down()
++key_down(void *data EINA_UNUSED, int ev EINA_UNUSED, void *info EINA_UNUSED)
+ {
+    elm_win_fullscreen_set(win2, 0);
+ 
+diff --git a/src/tests/ecore/ecore_suite.c b/src/tests/ecore/ecore_suite.c
+index a0f6d19aba4..f697d1b6085 100644
+--- a/src/tests/ecore/ecore_suite.c
++++ b/src/tests/ecore/ecore_suite.c
+@@ -38,7 +38,7 @@ static Ecore_Timer *timeout;
+ int timeout_reached = 0;
+ 
+ static Eina_Bool
+-timeout_cb()
++timeout_cb(void *data EINA_UNUSED)
+ {
+ #if CHECK_MINOR_VERSION >= 11
+    const char *tcname = tcase_name();
+diff --git a/src/tests/ecore/ecore_test_timer.c b/src/tests/ecore/ecore_test_timer.c
+index de4958738d2..88cf437141c 100644
+--- a/src/tests/ecore/ecore_test_timer.c
++++ b/src/tests/ecore/ecore_test_timer.c
+@@ -207,7 +207,7 @@ _timeri_cb(void *data)
+ }
+ 
+ static Eina_Bool
+-timeout_timer_cb()
++timeout_timer_cb(void *data EINA_UNUSED)
+ {
+    ck_abort();
+    return EINA_FALSE;
+@@ -359,7 +359,7 @@ EFL_START_TEST(ecore_test_timer_iteration)
+ EFL_END_TEST
+ 
+ static Eina_Bool
+-_recursion()
++_recursion(void *data EINA_UNUSED)
+ {
+    static unsigned int recurse = 0;
+    static Ecore_Timer *timer;
+diff --git a/src/tests/elementary/efl_ui_suite.h b/src/tests/elementary/efl_ui_suite.h
+index 4963b4a77c3..618822c68bf 100644
+--- a/src/tests/elementary/efl_ui_suite.h
++++ b/src/tests/elementary/efl_ui_suite.h
+@@ -64,6 +64,6 @@ void loop_timer_interval_set(Eo *obj, double in);
+ const Efl_Class* efl_ui_widget_realized_class_get(void);
+ #define WIDGET_CLASS efl_ui_widget_realized_class_get()
+ 
+-Eo *win_add();
+-Eo *win_add_focused();
++Eo *win_add(Evas_Object *parent, const char *title, Efl_Ui_Win_Type type);
++Eo *win_add_focused(Evas_Object *parent, const char *title, Efl_Ui_Win_Type type);
+ #endif
+diff --git a/src/tests/elementary/efl_ui_test_atspi.c b/src/tests/elementary/efl_ui_test_atspi.c
+index 68a88ec6c3b..e15fa0dfb5f 100644
+--- a/src/tests/elementary/efl_ui_test_atspi.c
++++ b/src/tests/elementary/efl_ui_test_atspi.c
+@@ -15,7 +15,7 @@ static Evas_Object *g_win, *g_btn, *g_bg;
+ 
+ void generate_app(void)
+ {
+-   g_win = win_add(NULL, "Title", ELM_WIN_BASIC);
++   g_win = win_add(NULL, "Title", EFL_UI_WIN_TYPE_BASIC);
+    efl_gfx_entity_position_set(g_win, EINA_POSITION2D(100, 100));
+    efl_gfx_entity_size_set(g_win, EINA_SIZE2D(100, 100));
+ 
+diff --git a/src/tests/elementary/efl_ui_test_box.c b/src/tests/elementary/efl_ui_test_box.c
+index 64133cdb8da..7b8aa253802 100644
+--- a/src/tests/elementary/efl_ui_test_box.c
++++ b/src/tests/elementary/efl_ui_test_box.c
+@@ -223,7 +223,7 @@ btn_geom_assert(Hint *hint, Eina_Rect btn_geom)
+ static void
+ layout_setup()
+ {
+-   win = win_add();
++   win = win_add(NULL, "win", ELM_WIN_BASIC);
+ 
+    layout = efl_add(EFL_UI_BOX_CLASS, win);
+ }
+diff --git a/src/tests/elementary/efl_ui_test_box_flow.c b/src/tests/elementary/efl_ui_test_box_flow.c
+index 121e67324be..59f81528901 100644
+--- a/src/tests/elementary/efl_ui_test_box_flow.c
++++ b/src/tests/elementary/efl_ui_test_box_flow.c
+@@ -221,7 +221,7 @@ btn_geom_assert(Hint *hint, Eina_Rect btn_geom)
+ static void
+ layout_setup()
+ {
+-   win = win_add();
++   win = win_add(NULL, "win", ELM_WIN_BASIC);
+ 
+    layout = efl_add(EFL_UI_BOX_FLOW_CLASS, win,
+                     efl_gfx_arrangement_content_align_set(efl_added, 0.8, 0.2),
+diff --git a/src/tests/elementary/efl_ui_test_box_stack.c b/src/tests/elementary/efl_ui_test_box_stack.c
+index d7fbc2b3be9..cbe57d6024d 100644
+--- a/src/tests/elementary/efl_ui_test_box_stack.c
++++ b/src/tests/elementary/efl_ui_test_box_stack.c
+@@ -130,7 +130,7 @@ btn_geom_assert(Hint *hint, Eina_Rect btn_geom)
+ static void
+ layout_setup()
+ {
+-   win = win_add();
++   win = win_add(NULL, "win", ELM_WIN_BASIC);
+ 
+    layout = efl_add(EFL_UI_BOX_STACK_CLASS, win,
+                     efl_gfx_arrangement_content_align_set(efl_added, 0.8, 0.2),
+diff --git a/src/tests/elementary/efl_ui_test_callback.c b/src/tests/elementary/efl_ui_test_callback.c
+index 35f625455f4..d5be4669433 100644
+--- a/src/tests/elementary/efl_ui_test_callback.c
++++ b/src/tests/elementary/efl_ui_test_callback.c
+@@ -11,7 +11,7 @@ static Eo *win;
+ static void
+ callback_setup()
+ {
+-   win = win_add();
++   win = win_add(NULL, "win", ELM_WIN_BASIC);
+ 
+    efl_gfx_entity_size_set(win, EINA_SIZE2D(500, 50));
+ }
+diff --git a/src/tests/elementary/efl_ui_test_check.c b/src/tests/elementary/efl_ui_test_check.c
+index a013f93f102..7566fd612d8 100644
+--- a/src/tests/elementary/efl_ui_test_check.c
++++ b/src/tests/elementary/efl_ui_test_check.c
+@@ -10,7 +10,7 @@ static Eo *win, *check;
+ static void
+ check_setup()
+ {
+-   win = win_add();
++   win = win_add(NULL, "win", EFL_UI_WIN_TYPE_BASIC);
+ 
+    check = efl_add(EFL_UI_CHECK_CLASS, win);
+ }
+diff --git a/src/tests/elementary/efl_ui_test_collection.c b/src/tests/elementary/efl_ui_test_collection.c
+index c645fba2106..7884038ee1b 100644
+--- a/src/tests/elementary/efl_ui_test_collection.c
++++ b/src/tests/elementary/efl_ui_test_collection.c
+@@ -11,7 +11,7 @@ static Eo* win;
+ static void
+ item_container_setup()
+ {
+-   win = win_add();
++   win = win_add(NULL, "win", EFL_UI_WIN_TYPE_BASIC);
+ }
+ 
+ static void
+diff --git a/src/tests/elementary/efl_ui_test_collection_view.c b/src/tests/elementary/efl_ui_test_collection_view.c
+index 9e9f91b48e7..c19f58d89f4 100644
+--- a/src/tests/elementary/efl_ui_test_collection_view.c
++++ b/src/tests/elementary/efl_ui_test_collection_view.c
+@@ -76,7 +76,7 @@ EFL_START_TEST(test_efl_ui_collection_view_basic)
+    int count_realize = 0;
+    int count_unrealize = 0;
+ 
+-   win = win_add();
++   win = win_add(NULL, "win", EFL_UI_WIN_TYPE_BASIC);
+    efl_gfx_entity_size_set(win, EINA_SIZE2D(100, 100));
+ 
+    model = _make_model(win);
+@@ -116,7 +116,7 @@ EFL_START_TEST(test_efl_ui_collection_view_select)
+    Eina_Value *sel_val;
+    unsigned long sel = 10000;
+ 
+-   win = win_add();
++   win = win_add(NULL, "win", EFL_UI_WIN_TYPE_BASIC);
+    efl_gfx_entity_size_set(win, EINA_SIZE2D(100, 100));
+ 
+    model = _make_model(win);
+diff --git a/src/tests/elementary/efl_ui_test_gesture.c b/src/tests/elementary/efl_ui_test_gesture.c
+index 0805cd82ee5..fe3193c8b51 100644
+--- a/src/tests/elementary/efl_ui_test_gesture.c
++++ b/src/tests/elementary/efl_ui_test_gesture.c
+@@ -79,7 +79,7 @@ setup(void)
+ 
+    RESET;
+ 
+-   win = win_add();
++   win = win_add(NULL, "win", EFL_UI_WIN_TYPE_BASIC);
+    efl_gfx_entity_size_set(win, EINA_SIZE2D(1000, 1000));
+ 
+    rect = efl_add(EFL_CANVAS_RECTANGLE_CLASS, win);
+diff --git a/src/tests/elementary/efl_ui_test_grid.c b/src/tests/elementary/efl_ui_test_grid.c
+index db19e58d879..1928fc707e4 100644
+--- a/src/tests/elementary/efl_ui_test_grid.c
++++ b/src/tests/elementary/efl_ui_test_grid.c
+@@ -13,7 +13,7 @@ static Efl_Ui_Grid *grid;
+ static void
+ grid_setup()
+ {
+-   win = win_add();
++   win = win_add(NULL, "win", EFL_UI_WIN_TYPE_BASIC);
+ 
+    grid = efl_add(EFL_UI_GRID_CLASS, win);
+ 
+diff --git a/src/tests/elementary/efl_ui_test_grid_collection.c b/src/tests/elementary/efl_ui_test_grid_collection.c
+index d0dad63c7dd..c0ac3bb23b9 100644
+--- a/src/tests/elementary/efl_ui_test_grid_collection.c
++++ b/src/tests/elementary/efl_ui_test_grid_collection.c
+@@ -13,7 +13,7 @@ item_container_setup()
+ {
+    Eo * list = efl_new(EFL_UI_POSITION_MANAGER_GRID_CLASS);
+    position_manager = efl_new(EFL_UI_POSITION_MANAGER_GRID_CLASS);
+-   win = win_add();
++   win = win_add(NULL, "win", EFL_UI_WIN_TYPE_BASIC);
+    item_container = efl_add(EFL_UI_COLLECTION_CLASS, win,
+       efl_ui_collection_position_manager_set(efl_added, list));
+ 
+diff --git a/src/tests/elementary/efl_ui_test_group_item.c b/src/tests/elementary/efl_ui_test_group_item.c
+index 248ffcc2f89..41a52c644f3 100644
+--- a/src/tests/elementary/efl_ui_test_group_item.c
++++ b/src/tests/elementary/efl_ui_test_group_item.c
+@@ -12,7 +12,7 @@ static Eo *grid;
+ static void
+ create_ui(void)
+ {
+-   win = win_add();
++   win = win_add(NULL, "win", EFL_UI_WIN_TYPE_BASIC);
+    grid = efl_add(EFL_UI_GRID_CLASS, win);
+ 
+ }
+diff --git a/src/tests/elementary/efl_ui_test_list_collection.c b/src/tests/elementary/efl_ui_test_list_collection.c
+index cdaca085f42..513960bf652 100644
+--- a/src/tests/elementary/efl_ui_test_list_collection.c
++++ b/src/tests/elementary/efl_ui_test_list_collection.c
+@@ -13,7 +13,7 @@ item_container_setup()
+ {
+    Eo * list = efl_new(EFL_UI_POSITION_MANAGER_LIST_CLASS);
+    position_manager = efl_new(EFL_UI_POSITION_MANAGER_LIST_CLASS);
+-   win = win_add();
++   win = win_add(NULL, "win", EFL_UI_WIN_TYPE_BASIC);
+    item_container = efl_add(EFL_UI_COLLECTION_CLASS, win,
+       efl_ui_collection_position_manager_set(efl_added, list));
+    efl_content_set(win, item_container);
+diff --git a/src/tests/elementary/efl_ui_test_popup.c b/src/tests/elementary/efl_ui_test_popup.c
+index d15df256c22..e96c59f30a9 100644
+--- a/src/tests/elementary/efl_ui_test_popup.c
++++ b/src/tests/elementary/efl_ui_test_popup.c
+@@ -32,7 +32,7 @@ _popup_alert_setup(const Efl_Class *klass)
+ {
+    Eo *win, *popup;
+ 
+-   win = win_add();
++   win = win_add(NULL, "win", EFL_UI_WIN_TYPE_BASIC);
+    efl_gfx_entity_size_set(win, EINA_SIZE2D(WIN_SIZE, WIN_SIZE));
+ 
+    popup = efl_add(klass, win);
+@@ -62,7 +62,7 @@ EFL_START_TEST(efl_ui_test_popup_basic_align)
+ {
+    Eo *win, *popup;
+ 
+-   win = win_add();
++   win = win_add(NULL, "win", EFL_UI_WIN_TYPE_BASIC);
+    efl_gfx_entity_size_set(win, EINA_SIZE2D(WIN_SIZE, WIN_SIZE));
+ 
+    popup = efl_add(EFL_UI_POPUP_CLASS, win);
+@@ -146,7 +146,7 @@ EFL_START_TEST(efl_ui_test_popup_basic_sizing)
+ {
+    Eo *win, *popup;
+ 
+-   win = win_add();
++   win = win_add(NULL, "win", EFL_UI_WIN_TYPE_BASIC);
+    efl_gfx_entity_size_set(win, EINA_SIZE2D(WIN_SIZE, WIN_SIZE));
+ 
+    popup = efl_add(EFL_UI_POPUP_CLASS, win);
+@@ -171,14 +171,14 @@ EFL_START_TEST(efl_ui_test_popup_events)
+    Eo *win, *popup;
+    int called = 0;
+ 
+-   win = win_add();
++   win = win_add(NULL, "win", EFL_UI_WIN_TYPE_BASIC);
+    efl_gfx_entity_size_set(win, EINA_SIZE2D(WIN_SIZE, WIN_SIZE));
+ 
+    popup = efl_add(EFL_UI_POPUP_CLASS, win);
+ 
+    efl_event_callback_add(popup, EFL_UI_POPUP_EVENT_BACKWALL_CLICKED,
+      (void*)event_callback_single_call_int_data, &called);
+-   efl_event_callback_add(popup, EFL_UI_POPUP_EVENT_TIMEOUT, event_callback_that_quits_the_main_loop_when_called, NULL);
++   efl_event_callback_add(popup, EFL_UI_POPUP_EVENT_TIMEOUT, event_callback_that_quits_the_main_loop_when_called_efl, NULL);
+    efl_gfx_hint_size_min_set(popup, EINA_SIZE2D(POPUP_SIZE, POPUP_SIZE));
+ 
+    Eo *btn = efl_add(EFL_UI_BUTTON_CLASS, popup);
+@@ -213,7 +213,7 @@ EFL_START_TEST(efl_ui_test_popup_backwall_img)
+    Eo *win, *popup;
+    char buf[PATH_MAX];
+ 
+-   win = win_add();
++   win = win_add(NULL, "win", EFL_UI_WIN_TYPE_BASIC);
+    efl_gfx_entity_size_set(win, EINA_SIZE2D(WIN_SIZE, WIN_SIZE));
+ 
+    popup = efl_add(EFL_UI_POPUP_CLASS, win);
+@@ -239,7 +239,7 @@ EFL_START_TEST(efl_ui_test_popup_alert)
+    Eina_Size2D layout_sz_min;
+    int called;
+ 
+-   win = win_add();
++   win = win_add(NULL, "win", EFL_UI_WIN_TYPE_BASIC);
+    efl_gfx_entity_size_set(win, EINA_SIZE2D(WIN_SIZE, WIN_SIZE));
+ 
+    popup = efl_add(EFL_UI_ALERT_POPUP_CLASS, win);
+@@ -758,7 +758,7 @@ EFL_START_TEST(efl_ui_test_popup_text_anchor)
+    char buf[PATH_MAX];
+    int i, num_anchors = 6;
+ 
+-   win = win_add();
++   win = win_add(NULL, "win", EFL_UI_WIN_TYPE_BASIC);
+    efl_gfx_entity_size_set(win, EINA_SIZE2D(WIN_SIZE, WIN_SIZE));
+ 
+    layout = efl_add(EFL_UI_LAYOUT_CLASS, win);
+diff --git a/src/tests/elementary/efl_ui_test_position_manager_common.c b/src/tests/elementary/efl_ui_test_position_manager_common.c
+index ea73d01e4ea..dbfa181ac3d 100644
+--- a/src/tests/elementary/efl_ui_test_position_manager_common.c
++++ b/src/tests/elementary/efl_ui_test_position_manager_common.c
+@@ -14,13 +14,13 @@ static Eina_Array *arr_obj;
+ static Eina_Inarray *arr_size;
+ 
+ static void
+-item_container_setup()
++item_container_setup(void)
+ {
+-   win = win_add();
++   win = win_add(NULL, "win", EFL_UI_WIN_TYPE_BASIC);
+ }
+ 
+ static void
+-item_container_teardown()
++item_container_teardown(void)
+ {
+    win = NULL;
+ }
+diff --git a/src/tests/elementary/efl_ui_test_progressbar.c b/src/tests/elementary/efl_ui_test_progressbar.c
+index bf2f9614034..e40b90df882 100644
+--- a/src/tests/elementary/efl_ui_test_progressbar.c
++++ b/src/tests/elementary/efl_ui_test_progressbar.c
+@@ -10,7 +10,7 @@ static Eo *win, *pb;
+ static void
+ check_setup()
+ {
+-   win = win_add();
++   win = win_add(NULL, "win", EFL_UI_WIN_TYPE_BASIC);
+ 
+    pb = efl_add(EFL_UI_PROGRESSBAR_CLASS, win);
+ }
+diff --git a/src/tests/elementary/efl_ui_test_radio_group.c b/src/tests/elementary/efl_ui_test_radio_group.c
+index cf017bdc249..f49df1fa515 100644
+--- a/src/tests/elementary/efl_ui_test_radio_group.c
++++ b/src/tests/elementary/efl_ui_test_radio_group.c
+@@ -34,7 +34,7 @@ _group_value_changed_cb(void *data EINA_UNUSED, const Efl_Event *ev)
+ static void
+ check_setup()
+ {
+-   win = win_add();
++   win = win_add(NULL, "win", EFL_UI_WIN_TYPE_BASIC);
+    radio_group = efl_new(EFL_UI_RADIO_GROUP_IMPL_CLASS, NULL);
+    efl_event_callback_add(radio_group, EFL_UI_RADIO_GROUP_EVENT_VALUE_CHANGED, _group_value_changed_cb, NULL);
+ }
+diff --git a/src/tests/elementary/efl_ui_test_scroller.c b/src/tests/elementary/efl_ui_test_scroller.c
+index 78f8bfaf7f7..14d03c65252 100644
+--- a/src/tests/elementary/efl_ui_test_scroller.c
++++ b/src/tests/elementary/efl_ui_test_scroller.c
+@@ -19,7 +19,7 @@ EFL_START_TEST(efl_ui_test_scroller_events)
+ {
+    Eo *sc, *sc2, *sc3, *bx, *bx2, *gd, *gd2;
+    int i, j, called = 0, called2 = 0, called3 = 0;
+-   Eo *win = win_add();
++   Eo *win = win_add(NULL, "win", EFL_UI_WIN_TYPE_BASIC);
+    efl_gfx_entity_size_set(win, EINA_SIZE2D(500, 500));
+ 
+ 
+@@ -148,7 +148,7 @@ EFL_START_TEST(efl_ui_test_scroller_scrollbar)
+ {
+    Eo *sc;
+ 
+-   Eo *win = win_add();
++   Eo *win = win_add(NULL, "win", EFL_UI_WIN_TYPE_BASIC);
+    Eina_Bool hbar_visible = EINA_FALSE, vbar_visible = EINA_FALSE;
+    efl_gfx_entity_size_set(win, EINA_SIZE2D(500, 500));
+ 
+diff --git a/src/tests/elementary/efl_ui_test_slider.c b/src/tests/elementary/efl_ui_test_slider.c
+index ac348a0e00e..a235e4ff0c1 100644
+--- a/src/tests/elementary/efl_ui_test_slider.c
++++ b/src/tests/elementary/efl_ui_test_slider.c
+@@ -26,7 +26,7 @@ EFL_START_TEST(efl_ui_test_slider_events)
+ {
+    Eo *slider;
+    Evas *e;
+-   Eo *win = win_add();
++   Eo *win = win_add(NULL, "win", EFL_UI_WIN_TYPE_BASIC);
+ 
+    efl_gfx_entity_size_set(win, EINA_SIZE2D(400, 100));
+    slider = efl_add(EFL_UI_SLIDER_CLASS, win,
+@@ -62,7 +62,7 @@ EFL_START_TEST(efl_ui_test_slider_step)
+ {
+    Eo *slider;
+    Evas *e;
+-   Eo *win = win_add();
++   Eo *win = win_add(NULL, "win", EFL_UI_WIN_TYPE_BASIC);
+ 
+    efl_gfx_entity_size_set(win, EINA_SIZE2D(400, 100));
+    slider = efl_add(EFL_UI_SLIDER_CLASS, win,
+@@ -101,7 +101,7 @@ EFL_START_TEST(efl_ui_test_slider_step_drag)
+ {
+    Eo *slider;
+    Evas *e;
+-   Eo *win = win_add();
++   Eo *win = win_add(NULL, "win", EFL_UI_WIN_TYPE_BASIC);
+ 
+    efl_gfx_entity_size_set(win, EINA_SIZE2D(400, 100));
+    slider = efl_add(EFL_UI_SLIDER_CLASS, win,
+diff --git a/src/tests/elementary/efl_ui_test_spin.c b/src/tests/elementary/efl_ui_test_spin.c
+index 3bbb551a7f7..9b7495da547 100644
+--- a/src/tests/elementary/efl_ui_test_spin.c
++++ b/src/tests/elementary/efl_ui_test_spin.c
+@@ -10,7 +10,7 @@ static Eo *win, *spin;
+ static void
+ spin_setup()
+ {
+-   win = win_add();
++   win = win_add(NULL, "win", EFL_UI_WIN_TYPE_BASIC);
+ 
+    spin = efl_add(EFL_UI_SPIN_CLASS, win);
+    efl_content_set(win, spin);
+diff --git a/src/tests/elementary/efl_ui_test_spin_button.c b/src/tests/elementary/efl_ui_test_spin_button.c
+index 6df99b340f6..051c12b8039 100644
+--- a/src/tests/elementary/efl_ui_test_spin_button.c
++++ b/src/tests/elementary/efl_ui_test_spin_button.c
+@@ -12,7 +12,7 @@ static Eo *win, *spin;
+ static void
+ spin_setup()
+ {
+-   win = win_add();
++   win = win_add(NULL, "win", EFL_UI_WIN_TYPE_BASIC);
+ 
+    spin = efl_add(EFL_UI_SPIN_BUTTON_CLASS, win);
+    efl_content_set(win, spin);
+diff --git a/src/tests/elementary/efl_ui_test_table.c b/src/tests/elementary/efl_ui_test_table.c
+index 0f7c2365c07..83fe2dbb270 100644
+--- a/src/tests/elementary/efl_ui_test_table.c
++++ b/src/tests/elementary/efl_ui_test_table.c
+@@ -249,7 +249,7 @@ btn_geom_assert(Hint *hint, Eina_Rect btn_geom)
+ static void
+ layout_setup()
+ {
+-   win = win_add();
++   win = win_add(NULL, "win", ELM_WIN_BASIC);
+ 
+    layout = efl_add(EFL_UI_TABLE_CLASS, win);
+ }
+diff --git a/src/tests/elementary/efl_ui_test_text.c b/src/tests/elementary/efl_ui_test_text.c
+index 521bf1339c9..73f06f552c4 100644
+--- a/src/tests/elementary/efl_ui_test_text.c
++++ b/src/tests/elementary/efl_ui_test_text.c
+@@ -17,7 +17,7 @@ increment_int_changed(void *data EINA_UNUSED, const Efl_Event *ev EINA_UNUSED)
+ EFL_START_TEST(text_cnp)
+ {
+    Eo *txt;
+-   Eo *win = win_add();
++   Eo *win = win_add(NULL, "win", EFL_UI_WIN_TYPE_BASIC);
+ 
+    int i_copy = 0, i_paste = 0, i_cut = 0;
+ 
+@@ -65,7 +65,7 @@ _stop_event_soon(void *data EINA_UNUSED, const Efl_Event *ev)
+ EFL_START_TEST(text_all_select_all_unselect)
+ {
+    Eo *txt, *txt2;
+-   Eo *win = win_add();
++   Eo *win = win_add(NULL, "win", EFL_UI_WIN_TYPE_BASIC);
+ 
+    int i_have_selection = 0, i_selection = 0;
+ 
+@@ -141,7 +141,7 @@ EFL_END_TEST
+ EFL_START_TEST(text_selection)
+ {
+    Eo *txt;
+-   Eo *win = win_add();
++   Eo *win = win_add(NULL, "win", EFL_UI_WIN_TYPE_BASIC);
+ 
+    txt = efl_add(EFL_UI_TEXTBOX_CLASS, win);
+    efl_event_callback_priority_add(txt, EFL_UI_SELECTION_EVENT_WM_SELECTION_CHANGED, EFL_CALLBACK_PRIORITY_BEFORE, _stop_event_soon, NULL);
+@@ -178,7 +178,7 @@ user_changed(void *data, const Efl_Event *ev)
+ EFL_START_TEST(text_user_change)
+ {
+    Eo *txt;
+-   Eo *win = win_add();
++   Eo *win = win_add(NULL, "win", EFL_UI_WIN_TYPE_BASIC);
+    Efl_Text_Change_Info info = {0};
+    txt = efl_add(EFL_UI_TEXTBOX_CLASS, win,
+                 efl_event_callback_add(efl_added, EFL_TEXT_INTERACTIVE_EVENT_CHANGED_USER, user_changed, &info)
+@@ -198,7 +198,7 @@ EFL_END_TEST
+ EFL_START_TEST(text_scroll_mode)
+ {
+    Eo *txt, *win, *cur;
+-   win = win_add();
++   win = win_add(NULL, "win", EFL_UI_WIN_TYPE_BASIC);
+    txt = efl_add(EFL_UI_TEXTBOX_CLASS, win);
+    efl_event_callback_priority_add(txt, EFL_UI_SELECTION_EVENT_WM_SELECTION_CHANGED, EFL_CALLBACK_PRIORITY_BEFORE, _stop_event_soon, NULL);
+    cur = efl_text_interactive_main_cursor_get(txt);
+@@ -220,7 +220,7 @@ EFL_END_TEST
+ EFL_START_TEST(text_change_event)
+ {
+    Eo *txt;
+-   Eo *win = win_add();
++   Eo *win = win_add(NULL, "win", EFL_UI_WIN_TYPE_BASIC);
+ 
+    txt = efl_add(EFL_UI_TEXTBOX_CLASS, win);
+    efl_event_callback_priority_add(txt, EFL_UI_SELECTION_EVENT_WM_SELECTION_CHANGED, EFL_CALLBACK_PRIORITY_BEFORE, _stop_event_soon, NULL);
+@@ -245,7 +245,7 @@ EFL_END_TEST
+ EFL_START_TEST(text_keys_handler)
+ {
+    Eo *txt;
+-   Eo *win = win_add();
++   Eo *win = win_add(NULL, "win", EFL_UI_WIN_TYPE_BASIC);
+ 
+    txt = efl_add(EFL_UI_TEXTBOX_CLASS, win);
+    efl_event_callback_priority_add(txt, EFL_UI_SELECTION_EVENT_WM_SELECTION_CHANGED, EFL_CALLBACK_PRIORITY_BEFORE, _stop_event_soon, NULL);
+@@ -283,7 +283,7 @@ EFL_END_TEST
+ EFL_START_TEST(text_editable)
+ {
+    Eo *txt, *win;
+-   win = win_add();
++   win = win_add(NULL, "win", EFL_UI_WIN_TYPE_BASIC);
+    txt = efl_add(EFL_UI_TEXTBOX_CLASS, win);
+    efl_text_font_size_set(txt, 100);
+    efl_text_font_family_set(txt, "Arial");
+@@ -303,7 +303,7 @@ EFL_END_TEST
+ EFL_START_TEST(text_on_startup)
+ {
+    Eo *txt, *win;
+-   win = win_add();
++   win = win_add(NULL, "win", EFL_UI_WIN_TYPE_BASIC);
+    unsigned char r,g,b,a;
+    txt = efl_add(EFL_UI_TEXTBOX_CLASS, win,
+                efl_text_color_set(efl_added, 0, 255, 0, 255),
+@@ -328,7 +328,7 @@ EFL_START_TEST(text_multiline_selection)
+    Eo *txt, *win;
+    Eo *cursor1, *cursor2;
+    Eina_Rect rc1, rc2;
+-   win = win_add();
++   win = win_add(NULL, "win", EFL_UI_WIN_TYPE_BASIC);
+    txt = efl_add(EFL_UI_TEXTBOX_CLASS, win);
+    efl_text_markup_set(txt, "p1<ps/>p2<ps/>p3");
+    efl_text_multiline_set(txt, EINA_FALSE);
+@@ -350,7 +350,7 @@ EFL_START_TEST(text_singleline_cursor_movement)
+    Eo *txt, *win;
+    Eo *cursor;
+    Eina_Rect rc1, rc2;
+-   win = win_add();
++   win = win_add(NULL, "win", EFL_UI_WIN_TYPE_BASIC);
+    txt = efl_add(EFL_UI_TEXTBOX_CLASS, win);
+    efl_text_markup_set(txt, "p1<ps>p<b>2</b>2<ps>p3");
+    efl_text_multiline_set(txt, EINA_FALSE);
+@@ -407,7 +407,7 @@ EFL_START_TEST(text_multiline_singleline_cursor_pos)
+    Eo *txt, *win;
+    Eo *cursor, *cursor1, *cursor2;
+    Eina_Rect rc1, rc2;
+-   win = win_add();
++   win = win_add(NULL, "win", EFL_UI_WIN_TYPE_BASIC);
+    txt = efl_add(EFL_UI_TEXTBOX_CLASS, win);
+    efl_text_markup_set(txt, "p1<ps>p<b>2</b>2<ps>p3<ps>");
+    cursor = efl_text_interactive_main_cursor_get(txt);
+@@ -488,7 +488,7 @@ EFL_START_TEST(text_keyboard_mouse_cluster_cursor_movement)
+ {
+    Eo *txt;
+    Eo *cursor;
+-   Eo *win = win_add();
++   Eo *win = win_add(NULL, "win", EFL_UI_WIN_TYPE_BASIC);
+    Evas *e;
+    Eina_Rect rc, rc2;
+ 
+diff --git a/src/tests/elementary/efl_ui_test_timepicker.c b/src/tests/elementary/efl_ui_test_timepicker.c
+index 1aca88cc237..aa003488751 100644
+--- a/src/tests/elementary/efl_ui_test_timepicker.c
++++ b/src/tests/elementary/efl_ui_test_timepicker.c
+@@ -8,7 +8,7 @@
+ 
+ EFL_START_TEST(check_all_times)
+ {
+-   Eo *win = win_add();
++   Eo *win = win_add(NULL, "win", ELM_WIN_BASIC);
+    Eo *timepicker = efl_add(EFL_UI_TIMEPICKER_CLASS, win);
+ 
+    for (int min = 0; min < 60; ++min)
+@@ -23,7 +23,7 @@ EFL_END_TEST
+ 
+ EFL_START_TEST(check_all_times_24_mode)
+ {
+-   Eo *win = win_add();
++   Eo *win = win_add(NULL, "win", ELM_WIN_BASIC);
+    Eo *timepicker = efl_add(EFL_UI_TIMEPICKER_CLASS, win,
+                             efl_ui_timepicker_is_24hour_set(efl_added, EINA_TRUE));
+ 
+diff --git a/src/tests/elementary/efl_ui_test_win.c b/src/tests/elementary/efl_ui_test_win.c
+index 2d893be5bb9..5bb65607022 100644
+--- a/src/tests/elementary/efl_ui_test_win.c
++++ b/src/tests/elementary/efl_ui_test_win.c
+@@ -438,7 +438,7 @@ EFL_START_TEST(efl_ui_win_test_type)
+ {
+    Efl_Ui_Win *win;
+ 
+-   win = win_add();
++   win = win_add(NULL, "win", EFL_UI_WIN_TYPE_BASIC);
+ 
+    ck_assert_int_eq(efl_ui_win_type_get(win), EFL_UI_WIN_TYPE_BASIC);
+ }
+diff --git a/src/tests/elementary/elm_suite.h b/src/tests/elementary/elm_suite.h
+index 67f5d0d5c41..60046c020ec 100644
+--- a/src/tests/elementary/elm_suite.h
++++ b/src/tests/elementary/elm_suite.h
+@@ -17,6 +17,7 @@
+ 
+ #include <Evas.h>
+ #include <Ecore.h>
++#include <Elementary.h>
+ #include "suite_helpers.h"
+ 
+ void elm_test_config(TCase *tc);
+@@ -99,8 +100,8 @@ void elm_code_test_widget_text(TCase *tc);
+ void elm_code_test_widget_selection(TCase *tc);
+ void elm_code_test_widget_undo(TCase *tc);
+ 
+-Evas_Object *win_add();
+-Evas_Object *win_add_focused();
++Evas_Object *win_add(Evas_Object *parent, const char *title, Elm_Win_Type type);
++Evas_Object *win_add_focused(Evas_Object *parent, const char *title, Elm_Win_Type type);
+ 
+ Eo *timer_add(double in, Ecore_Task_Cb cb, void *data);
+ 
+diff --git a/src/tests/elementary/elm_test_ctxpopup.c b/src/tests/elementary/elm_test_ctxpopup.c
+index a6f74de6769..a45d01d2fa9 100644
+--- a/src/tests/elementary/elm_test_ctxpopup.c
++++ b/src/tests/elementary/elm_test_ctxpopup.c
+@@ -57,7 +57,7 @@ EFL_START_TEST(elm_ctxpopup_test_sizing)
+    Eo *win, *bt, *ctx;
+    int pass = 0;
+ 
+-   win = win_add();
++   win = win_add(NULL, "win", ELM_WIN_BASIC);
+    bt = elm_button_add(win);
+    ctx = elm_ctxpopup_add(win);
+    evas_object_smart_callback_add(ctx, "geometry,update", _geometry_update, &pass);
+diff --git a/src/tests/elementary/elm_test_entry.c b/src/tests/elementary/elm_test_entry.c
+index 85ada68a494..b7250b7aa9f 100644
+--- a/src/tests/elementary/elm_test_entry.c
++++ b/src/tests/elementary/elm_test_entry.c
+@@ -394,7 +394,7 @@ EFL_START_TEST(elm_atspi_role_get)
+ EFL_END_TEST
+ 
+ static Eina_Bool
+-end_test()
++end_test(void *data EINA_UNUSED)
+ {
+    ecore_main_loop_quit();
+    return EINA_FALSE;
+diff --git a/src/tests/elementary/elm_test_gengrid.c b/src/tests/elementary/elm_test_gengrid.c
+index 77a4eb46f7f..402f1fa2ed5 100644
+--- a/src/tests/elementary/elm_test_gengrid.c
++++ b/src/tests/elementary/elm_test_gengrid.c
+@@ -106,7 +106,7 @@ EFL_START_TEST(elm_gengrid_focus)
+    Evas_Object *win, *grid, *bx, *bt;
+    Elm_Object_Item *it;
+ 
+-   win = win_add_focused();
++   win = win_add_focused(NULL, "win", ELM_WIN_BASIC);
+ 
+    bx = elm_box_add(win);
+    evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+diff --git a/src/tests/elementary/elm_test_genlist.c b/src/tests/elementary/elm_test_genlist.c
+index 81eca40d813..6ea3e19f0c1 100644
+--- a/src/tests/elementary/elm_test_genlist.c
++++ b/src/tests/elementary/elm_test_genlist.c
+@@ -358,19 +358,19 @@ EFL_END_TEST
+ static int it_del = 0;
+ 
+ static void
+-_gl_destroy()
++_gl_destroy(void *data EINA_UNUSED, const Efl_Event *ev EINA_UNUSED)
+ {
+    ck_assert_int_eq(it_del, 2);
+ }
+ 
+ static void
+-_it_destroy()
++_it_destroy(void *data EINA_UNUSED, const Efl_Event *ev EINA_UNUSED)
+ {
+    it_del++;
+ }
+ 
+ static void
+-_it_del()
++_it_del(void *data EINA_UNUSED, const Efl_Event *ev EINA_UNUSED)
+ {
+    it_del = 1;
+ }
+@@ -461,7 +461,7 @@ genlist_tree_test_expand(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, v
+ }
+ 
+ static void
+-_do_quit()
++_do_quit(void *data EINA_UNUSED)
+ {
+    itc.func.content_get = NULL;
+    ecore_main_loop_quit();
+diff --git a/src/tests/elementary/elm_test_hoversel.c b/src/tests/elementary/elm_test_hoversel.c
+index e00a073b09e..d53f7c69e10 100644
+--- a/src/tests/elementary/elm_test_hoversel.c
++++ b/src/tests/elementary/elm_test_hoversel.c
+@@ -46,7 +46,7 @@ EFL_END_TEST
+ 
+ EFL_START_TEST(elm_test_hoversel_behavior)
+ {
+-   Eo *hoversel, *win = win_add();
++   Eo *hoversel, *win = win_add(NULL, "win", ELM_WIN_BASIC);
+    unsigned int i;
+    const char *callbacks[] =
+    {
+@@ -110,7 +110,7 @@ EFL_END_TEST
+ 
+ EFL_START_TEST(elm_test_hoversel_position)
+ {
+-   Eo *hoversel, *win = win_add();
++   Eo *hoversel, *win = win_add(NULL, "win", ELM_WIN_BASIC);
+ 
+    evas_object_resize(win, 500, 500);
+    hoversel = elm_hoversel_add(win);
+diff --git a/src/tests/elementary/elm_test_radio.c b/src/tests/elementary/elm_test_radio.c
+index 677fdb0b1ec..0859cb70075 100644
+--- a/src/tests/elementary/elm_test_radio.c
++++ b/src/tests/elementary/elm_test_radio.c
+@@ -44,7 +44,7 @@ EFL_END_TEST
+ static unsigned int radio_change_count = 0;
+ 
+ static void
+-_rdg_changed_cb()
++_rdg_changed_cb(void *data EINA_UNUSED, Evas_Object *o EINA_UNUSED, void *info EINA_UNUSED)
+ {
+    radio_change_count++;
+    ecore_main_loop_quit();
+diff --git a/src/tests/elementary/elm_test_widget_basics.c b/src/tests/elementary/elm_test_widget_basics.c
+index 38ef46efd9c..0333c0d2982 100644
+--- a/src/tests/elementary/elm_test_widget_basics.c
++++ b/src/tests/elementary/elm_test_widget_basics.c
+@@ -80,7 +80,7 @@ static const Simple_Test_Widget simple_widgets[] = {
+ EFL_START_TEST(elm_test_widget_creation_easy)
+ {
+    Evas_Object *win, *o;
+-   win = win_add();
++   win = win_add(NULL, "win", ELM_WIN_BASIC);
+ 
+    evas_object_resize(win, 200, 200);
+    evas_object_show(win);
+@@ -102,7 +102,7 @@ EFL_START_TEST(elm_test_widget_creation_error_parent)
+    Evas_Object *win, *o, *parent;
+    Evas *evas;
+ 
+-   win = win_add();
++   win = win_add(NULL, "win", ELM_WIN_BASIC);
+    evas = evas_object_evas_get(win);
+    evas_object_resize(win, 200, 200);
+    evas_object_show(win);
+diff --git a/src/tests/elementary/spec/efl_test_multi_selectable.c b/src/tests/elementary/spec/efl_test_multi_selectable.c
+index 3a02ed9e16c..1a869da8506 100644
+--- a/src/tests/elementary/spec/efl_test_multi_selectable.c
++++ b/src/tests/elementary/spec/efl_test_multi_selectable.c
+@@ -38,7 +38,7 @@ EFL_START_TEST(test_multi_select)
+    Eina_Array *arr_selected;
+    efl_ui_multi_selectable_select_mode_set(widget, EFL_UI_SELECT_MODE_MULTI);
+    efl_event_callback_add(widget, EFL_UI_SELECTABLE_EVENT_SELECTION_CHANGED, (void*) event_callback_single_call_int_data, &c);
+-   efl_event_callback_add(widget, EFL_UI_SELECTABLE_EVENT_SELECTION_CHANGED, event_callback_that_quits_the_main_loop_when_called, NULL);
++   efl_event_callback_add(widget, EFL_UI_SELECTABLE_EVENT_SELECTION_CHANGED, event_callback_that_quits_the_main_loop_when_called_efl, NULL);
+ 
+    efl_ui_selectable_selected_set(efl_pack_content_get(widget, 0), EINA_TRUE);
+    if (c == 0) efl_loop_begin(efl_main_loop_get());
+@@ -61,7 +61,7 @@ EFL_START_TEST(test_multi_select)
+    ck_assert_int_eq(c, 0);
+ 
+    efl_event_callback_del(widget, EFL_UI_SELECTABLE_EVENT_SELECTION_CHANGED, (void*) event_callback_single_call_int_data, &c);
+-   efl_event_callback_del(widget, EFL_UI_SELECTABLE_EVENT_SELECTION_CHANGED, event_callback_that_quits_the_main_loop_when_called, NULL);
++   efl_event_callback_del(widget, EFL_UI_SELECTABLE_EVENT_SELECTION_CHANGED, event_callback_that_quits_the_main_loop_when_called_efl, NULL);
+    eina_array_free(arr_selected);
+ }
+ EFL_END_TEST
+@@ -72,7 +72,7 @@ EFL_START_TEST(test_multi_select_removal)
+    Eina_Array *arr_selected;
+    efl_ui_multi_selectable_select_mode_set(widget, EFL_UI_SELECT_MODE_MULTI);
+    efl_event_callback_add(widget, EFL_UI_SELECTABLE_EVENT_SELECTION_CHANGED, (void*) event_callback_single_call_int_data, &c);
+-   efl_event_callback_add(widget, EFL_UI_SELECTABLE_EVENT_SELECTION_CHANGED, event_callback_that_quits_the_main_loop_when_called, NULL);
++   efl_event_callback_add(widget, EFL_UI_SELECTABLE_EVENT_SELECTION_CHANGED, event_callback_that_quits_the_main_loop_when_called_efl, NULL);
+ 
+    efl_ui_selectable_selected_set(efl_pack_content_get(widget, 0), EINA_TRUE);
+    c = 0;
+@@ -91,7 +91,7 @@ EFL_START_TEST(test_multi_select_removal)
+    _iterator_to_array(&arr_selected, efl_ui_multi_selectable_selected_iterator_new(widget));
+    ck_assert_int_eq(eina_array_count(arr_selected), 0);
+    efl_event_callback_del(widget, EFL_UI_SELECTABLE_EVENT_SELECTION_CHANGED, (void*) event_callback_single_call_int_data, &c);
+-   efl_event_callback_del(widget, EFL_UI_SELECTABLE_EVENT_SELECTION_CHANGED, event_callback_that_quits_the_main_loop_when_called, NULL);
++   efl_event_callback_del(widget, EFL_UI_SELECTABLE_EVENT_SELECTION_CHANGED, event_callback_that_quits_the_main_loop_when_called_efl, NULL);
+    eina_array_free(arr_selected);
+ }
+ EFL_END_TEST
+@@ -103,7 +103,7 @@ EFL_START_TEST(test_single_select)
+ 
+    efl_ui_multi_selectable_select_mode_set(widget, EFL_UI_SELECT_MODE_SINGLE);
+    efl_event_callback_add(widget, EFL_UI_SELECTABLE_EVENT_SELECTION_CHANGED, (void*) event_callback_single_call_int_data, &c);
+-   efl_event_callback_add(widget, EFL_UI_SELECTABLE_EVENT_SELECTION_CHANGED, event_callback_that_quits_the_main_loop_when_called, NULL);
++   efl_event_callback_add(widget, EFL_UI_SELECTABLE_EVENT_SELECTION_CHANGED, event_callback_that_quits_the_main_loop_when_called_efl, NULL);
+ 
+    efl_ui_selectable_selected_set(efl_pack_content_get(widget, 0), EINA_TRUE);
+    if (c == 0) efl_loop_begin(efl_main_loop_get());
+@@ -124,7 +124,7 @@ EFL_START_TEST(test_single_select)
+    ck_assert_int_eq(c, 0);
+ 
+    efl_event_callback_del(widget, EFL_UI_SELECTABLE_EVENT_SELECTION_CHANGED, (void*) event_callback_single_call_int_data, &c);
+-   efl_event_callback_del(widget, EFL_UI_SELECTABLE_EVENT_SELECTION_CHANGED, event_callback_that_quits_the_main_loop_when_called, NULL);
++   efl_event_callback_del(widget, EFL_UI_SELECTABLE_EVENT_SELECTION_CHANGED, event_callback_that_quits_the_main_loop_when_called_efl, NULL);
+    eina_array_free(arr_selected);
+ }
+ EFL_END_TEST
+@@ -136,7 +136,7 @@ EFL_START_TEST(test_none_select)
+ 
+    efl_ui_multi_selectable_select_mode_set(widget, EFL_UI_SELECT_MODE_NONE);
+    efl_event_callback_add(widget, EFL_UI_SELECTABLE_EVENT_SELECTION_CHANGED, (void*) event_callback_single_call_int_data, &c);
+-   efl_event_callback_add(widget, EFL_UI_SELECTABLE_EVENT_SELECTION_CHANGED, event_callback_that_quits_the_main_loop_when_called, NULL);
++   efl_event_callback_add(widget, EFL_UI_SELECTABLE_EVENT_SELECTION_CHANGED, event_callback_that_quits_the_main_loop_when_called_efl, NULL);
+ 
+    efl_ui_selectable_selected_set(efl_pack_content_get(widget, 0), EINA_TRUE);
+    get_me_to_those_events(widget);
+@@ -150,7 +150,7 @@ EFL_START_TEST(test_none_select)
+    _iterator_to_array(&arr_selected, efl_ui_multi_selectable_selected_iterator_new(widget));
+    ck_assert_int_eq(eina_array_count(arr_selected), 0);
+    efl_event_callback_del(widget, EFL_UI_SELECTABLE_EVENT_SELECTION_CHANGED, (void*) event_callback_single_call_int_data, &c);
+-   efl_event_callback_del(widget, EFL_UI_SELECTABLE_EVENT_SELECTION_CHANGED, event_callback_that_quits_the_main_loop_when_called, NULL);
++   efl_event_callback_del(widget, EFL_UI_SELECTABLE_EVENT_SELECTION_CHANGED, event_callback_that_quits_the_main_loop_when_called_efl, NULL);
+    eina_array_free(arr_selected);
+ }
+ EFL_END_TEST
+diff --git a/src/tests/elementary/spec/efl_test_single_selectable.c b/src/tests/elementary/spec/efl_test_single_selectable.c
+index b4873ae7cb4..d5d48e75fb7 100644
+--- a/src/tests/elementary/spec/efl_test_single_selectable.c
++++ b/src/tests/elementary/spec/efl_test_single_selectable.c
+@@ -38,7 +38,7 @@ EFL_START_TEST(last_selectable_check)
+    int c = 0;
+ 
+    efl_event_callback_add(widget, EFL_UI_SELECTABLE_EVENT_SELECTION_CHANGED, (void*) event_callback_single_call_int_data, &c);
+-   efl_event_callback_add(widget, EFL_UI_SELECTABLE_EVENT_SELECTION_CHANGED, event_callback_that_quits_the_main_loop_when_called, NULL);
++   efl_event_callback_add(widget, EFL_UI_SELECTABLE_EVENT_SELECTION_CHANGED, event_callback_that_quits_the_main_loop_when_called_efl, NULL);
+ 
+    Eo *c1 = efl_pack_content_get(widget, 0);
+    Eo *c2 = efl_pack_content_get(widget, 2);
+diff --git a/src/tests/elementary/spec/efl_ui_spec_suite.c b/src/tests/elementary/spec/efl_ui_spec_suite.c
+index 49ca5a993f1..8bc7bfdd1ef 100644
+--- a/src/tests/elementary/spec/efl_ui_spec_suite.c
++++ b/src/tests/elementary/spec/efl_ui_spec_suite.c
+@@ -29,7 +29,7 @@ _setup_window_and_widget(const Efl_Class *klass, const Efl_Class *content_klass)
+ 
+    test_content_klass = content_klass;
+    widget_klass = klass;
+-   win = win_add();
++   win = win_add(NULL, "win", EFL_UI_WIN_TYPE_BASIC);
+    widget = efl_add(klass, win);
+    ck_assert(efl_content_set(win, widget));
+ 
+diff --git a/src/tests/elementary/spec/efl_ui_spec_suite.h b/src/tests/elementary/spec/efl_ui_spec_suite.h
+index 463f44dc70d..cf3d18054d9 100644
+--- a/src/tests/elementary/spec/efl_ui_spec_suite.h
++++ b/src/tests/elementary/spec/efl_ui_spec_suite.h
+@@ -33,7 +33,7 @@ Efl_Ui_Widget* efl_test_parent_get(Eo *obj);
+ 
+ Eo* create_test_widget(void);
+ 
+-Eo * win_add();
++Eo * win_add(Eo *parent, const char *title, Efl_Ui_Win_Type type);
+ 
+ const Efl_Class* efl_ui_widget_realized_class_get(void);
+ 
+diff --git a/src/tests/elementary/suite_helpers.c b/src/tests/elementary/suite_helpers.c
+index 62fe6deb771..bbd7c6e52e5 100644
+--- a/src/tests/elementary/suite_helpers.c
++++ b/src/tests/elementary/suite_helpers.c
+@@ -145,7 +145,7 @@ real_timer_add(double in, Ecore_Task_Cb cb, void *data)
+ }
+ 
+ static Eina_Bool
+-_timer_quit()
++_timer_quit(void *data EINA_UNUSED)
+ {
+    ecore_main_loop_quit();
+    return EINA_FALSE;
+@@ -208,13 +208,13 @@ _ui_win_visibility_change(void *data EINA_UNUSED, const Efl_Event *ev)
+ EFL_CLASS_SIMPLE_CLASS(efl_loop, "Efl.Loop", EFL_LOOP_CLASS)
+ 
+ static Evas_Object *
+-_elm_suite_win_create(void)
++_elm_suite_win_create(Evas_Object *parent, const char *title, Elm_Win_Type type)
+ {
+    Evas_Object *win;
+    Eo *loop, *timer;
+ 
+    if (legacy_mode)
+-     win = elm_win_add(NULL, "elm_suite", ELM_WIN_BASIC);
++     win = elm_win_add(parent, title, type);
+    else
+      win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get());
+    if (!buffer) return win;
+@@ -243,7 +243,7 @@ _elm_suite_win_create(void)
+ #define TEST_FONT_DIR TESTS_SRC_DIR "/fonts/"
+ 
+ Evas_Object *
+-win_add(void)
++win_add(Evas_Object *parent, const char *title, Elm_Win_Type type)
+ {
+    static Eina_Bool font_path = EINA_FALSE;
+ 
+@@ -256,7 +256,7 @@ win_add(void)
+      {
+         if (global_win) return global_win;
+      }
+-   return _elm_suite_win_create();
++   return _elm_suite_win_create(parent, title, type);
+ }
+ 
+ static void
+@@ -273,7 +273,7 @@ force_focus_win(Evas_Object *win)
+ }
+ 
+ Evas_Object *
+-win_add_focused()
++win_add_focused(Evas_Object *parent, const char *title, Elm_Win_Type type)
+ {
+    Evas_Object *win;
+ 
+@@ -282,7 +282,7 @@ win_add_focused()
+         if (global_win) return global_win;
+      }
+ 
+-   win = _elm_suite_win_create();
++   win = _elm_suite_win_create(parent, title, type);
+    force_focus_win(win);
+    return win;
+ }
+@@ -339,7 +339,7 @@ suite_setup(Eina_Bool legacy)
+    failed_count += !elm_init(1, args);
+    if (buffer)
+      {
+-        global_win = _elm_suite_win_create();
++        global_win = _elm_suite_win_create(NULL, "efl_wuite", ELM_WIN_BASIC);
+         force_focus_win(global_win);
+         if (suite_setup_cb) suite_setup_cb(global_win);
+      }
+@@ -412,7 +412,7 @@ fail_on_errors_setup(void)
+ }
+ 
+ static void
+-next_event_job()
++next_event_job(void *data EINA_UNUSED)
+ {
+    ecore_main_loop_quit();
+ }
+@@ -614,7 +614,13 @@ event_callback_that_increments_an_int_when_called(void *data, Evas_Object *obj E
+ }
+ 
+ void
+-event_callback_that_quits_the_main_loop_when_called()
++event_callback_that_quits_the_main_loop_when_called(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *info EINA_UNUSED)
++{
++   ecore_main_loop_quit();
++}
++
++void
++event_callback_that_quits_the_main_loop_when_called_efl(void *data EINA_UNUSED, const Efl_Event *ev EINA_UNUSED)
+ {
+    ecore_main_loop_quit();
+ }
+diff --git a/src/tests/elementary/suite_helpers.h b/src/tests/elementary/suite_helpers.h
+index 7e5a0ad1054..b6e3c03ff37 100644
+--- a/src/tests/elementary/suite_helpers.h
++++ b/src/tests/elementary/suite_helpers.h
+@@ -43,7 +43,8 @@ void wheel_object(Eo *obj, Eina_Bool horiz, Eina_Bool down);
+ void wheel_part(Eo *obj, const char *part, Eina_Bool horiz, Eina_Bool down);
+ void wheel_object_at(Eo *obj, int x, int y, Eina_Bool horiz, Eina_Bool down);
+ void event_callback_single_call_int_data(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED);
+-void event_callback_that_quits_the_main_loop_when_called();
++void event_callback_that_quits_the_main_loop_when_called(void *data, Evas_Object *obj, void *info);
++void event_callback_that_quits_the_main_loop_when_called_efl(void *data, const Efl_Event *ev);
+ void event_callback_that_increments_an_int_when_called(void *data, Evas_Object *obj, void *event_info);
+ void smart_callback_that_stores_event_info_to_data(void *data, Evas_Object *obj EINA_UNUSED, void *event_info);
+ 
+diff --git a/src/tests/evas/evas_test_evasgl.c b/src/tests/evas/evas_test_evasgl.c
+index 7c069f865ea..39635efb4ef 100644
+--- a/src/tests/evas/evas_test_evasgl.c
++++ b/src/tests/evas/evas_test_evasgl.c
+@@ -175,7 +175,7 @@ _test_evasgl_context_version(const char *engine)
+    /* verify function pointers - GLES 2 only */
+    typedef void (*fptr_t)();
+    const int idx_glViewport = ((char*) &gl->glViewport - (char*) &gl->glActiveTexture) / sizeof(fptr_t);
+-   fptr_t *fptr= &gl->glActiveTexture;
++   fptr_t *fptr= (fptr_t *)&gl->glActiveTexture;
+    for (int i = 0; i < idx_glViewport; i++, fptr++)
+      fail_if(!*fptr);
+ 
diff --git a/6e63309b26c25cc1c09228b9d06fd47bd6b13884.patch b/6e63309b26c25cc1c09228b9d06fd47bd6b13884.patch
new file mode 100644
index 0000000..986bfb1
--- /dev/null
+++ b/6e63309b26c25cc1c09228b9d06fd47bd6b13884.patch
@@ -0,0 +1,34 @@
+From 6e63309b26c25cc1c09228b9d06fd47bd6b13884 Mon Sep 17 00:00:00 2001
+From: "Carsten Haitzler (Rasterman)" <raster at rasterman.com>
+Date: Mon, 28 Apr 2025 18:27:37 +0100
+Subject: [PATCH] ecore-file: silence gcc 15 warnings
+
+no bug here - just warnings for perfectly ok code and people using -Werror ...
+
+fixes #85
+---
+ src/lib/ecore_file/ecore_file_monitor_inotify.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/lib/ecore_file/ecore_file_monitor_inotify.c b/src/lib/ecore_file/ecore_file_monitor_inotify.c
+index 988893de4f0..b187fbc2c19 100644
+--- a/src/lib/ecore_file/ecore_file_monitor_inotify.c
++++ b/src/lib/ecore_file/ecore_file_monitor_inotify.c
+@@ -51,7 +51,7 @@ static Eina_Bool reseting;
+ static Eina_Hash *monitor_hash;
+ 
+ static void
+-_ecore_file_monitor_inotify_reset()
++_ecore_file_monitor_inotify_reset(void *data EINA_UNUSED)
+ {
+    Eina_Iterator *it;
+    Ecore_File_Monitor *em;
+@@ -132,7 +132,7 @@ ecore_file_monitor_backend_add(const char *path,
+    if (_inotify_fd_pid == -1) return NULL;
+ 
+    if (_inotify_fd_pid != getpid())
+-     _ecore_file_monitor_inotify_reset();
++     _ecore_file_monitor_inotify_reset(NULL);
+ 
+    em = (Ecore_File_Monitor *)calloc(1, sizeof(Ecore_File_Monitor_Inotify));
+    if (!em) return NULL;
diff --git a/9948f15ebdfae6b39f88ab58623e28c2b9320e0b.patch b/9948f15ebdfae6b39f88ab58623e28c2b9320e0b.patch
new file mode 100644
index 0000000..1a261b1
--- /dev/null
+++ b/9948f15ebdfae6b39f88ab58623e28c2b9320e0b.patch
@@ -0,0 +1,100 @@
+From 9948f15ebdfae6b39f88ab58623e28c2b9320e0b Mon Sep 17 00:00:00 2001
+From: "Carsten Haitzler (Rasterman)" <raster at rasterman.com>
+Date: Mon, 28 Apr 2025 12:53:01 +0100
+Subject: [PATCH] eldbus - silence gcc 15 warnings
+
+nmo bug here - just warnings for perfectly ok code and people using
+-Werror ...
+
+fixes #85
+---
+ src/lib/eldbus/eldbus_core.c         |  2 +-
+ src/lib/emile/emile_cipher_openssl.c | 54 ++++++++++++++++++++--------
+ 2 files changed, 41 insertions(+), 15 deletions(-)
+
+diff --git a/src/lib/eldbus/eldbus_core.c b/src/lib/eldbus/eldbus_core.c
+index 513314741a4..3f4aedd4425 100644
+--- a/src/lib/eldbus/eldbus_core.c
++++ b/src/lib/eldbus/eldbus_core.c
+@@ -103,7 +103,7 @@ eldbus_fd_handler_del(Eldbus_Handler_Data *hd)
+ }
+ 
+ static void
+-_eldbus_fork_reset()
++_eldbus_fork_reset(void *data EINA_UNUSED)
+ {
+    int i;
+ 
+diff --git a/src/lib/emile/emile_cipher_openssl.c b/src/lib/emile/emile_cipher_openssl.c
+index 7dd2033db15..52575e653a6 100644
+--- a/src/lib/emile/emile_cipher_openssl.c
++++ b/src/lib/emile/emile_cipher_openssl.c
+@@ -313,7 +313,6 @@ EAPI Emile_SSL *
+ emile_cipher_server_listen(Emile_Cipher_Type t)
+ {
+    Emile_SSL *r;
+-   DH *dh_params = NULL;
+    int options;
+    int dh = 0;
+ 
+@@ -343,20 +342,47 @@ emile_cipher_server_listen(Emile_Cipher_Type t)
+ 
+    if (!r->ssl_ctx) goto on_error;
+ 
+-   dh_params = DH_new();
+-   if (!dh_params) goto on_error;
+-   if (!DH_generate_parameters_ex(dh_params, 1024, DH_GENERATOR_5, NULL))
+-     goto on_error;
+-   if (!DH_check(dh_params, &dh))
+-     goto on_error;
+-   if ((dh & DH_CHECK_P_NOT_PRIME) || (dh & DH_CHECK_P_NOT_SAFE_PRIME))
+-     goto on_error;
+-   if (!DH_generate_key(dh_params))
+-     goto on_error;
+-   if (!SSL_CTX_set_tmp_dh(r->ssl_ctx, dh_params))
+-     goto on_error;
++//#define OPENSSL_DH_OLD 1
++
++   do
++     {
++#ifdef OPENSSL_DH_OLD
++       DH *dh_params = DH_new();
++       if (!dh_params) goto on_error;
++       if (!DH_generate_parameters_ex(dh_params, 1024, DH_GENERATOR_5, NULL))
++         goto on_error;
++       if (!DH_check(dh_params, &dh))
++         goto on_error;
++       if ((dh & DH_CHECK_P_NOT_PRIME) || (dh & DH_CHECK_P_NOT_SAFE_PRIME))
++         goto on_error;
++       if (!DH_generate_key(dh_params))
++         goto on_error;
++       if (!SSL_CTX_set_tmp_dh(r->ssl_ctx, dh_params))
++         goto on_error;
++       DH_free(dh_params);
++#else
++       EVP_PKEY *params = NULL;
++       EVP_PKEY_CTX *pctx = EVP_PKEY_CTX_new_id(EVP_PKEY_DH, NULL);
++       if (!pctx)
++         goto on_error;
++       if (EVP_PKEY_paramgen_init(pctx) <= 0)
++         goto on_error2;
++       if (EVP_PKEY_CTX_set_dh_paramgen_prime_len(pctx, 1024) <= 0)
++         goto on_error2;
++       if (EVP_PKEY_CTX_set_dh_paramgen_generator(pctx, 5) <= 0)
++         goto on_error2;
++       if (EVP_PKEY_paramgen(pctx, &params) <= 0)
++         goto on_error2;
++       if (SSL_CTX_set0_tmp_dh_pkey(r->ssl_ctx, params) <= 0)
++         goto on_error2;
++on_error2:
++       if (params) EVP_PKEY_free(params);
++       EVP_PKEY_CTX_free(pctx);
++       if (!params) goto on_error;
++#endif
++     }
++   while (0);
+ 
+-   DH_free(dh_params);
+    INF("DH params successfully generated and applied!");
+ 
+    if (!SSL_CTX_set_cipher_list(r->ssl_ctx,
diff --git a/fc4c5ec8afc3d1d145eff9807e5235ae6bfeea83.patch b/fc4c5ec8afc3d1d145eff9807e5235ae6bfeea83.patch
new file mode 100644
index 0000000..f518196
--- /dev/null
+++ b/fc4c5ec8afc3d1d145eff9807e5235ae6bfeea83.patch
@@ -0,0 +1,149 @@
+From fc4c5ec8afc3d1d145eff9807e5235ae6bfeea83 Mon Sep 17 00:00:00 2001
+From: "Carsten Haitzler (Rasterman)" <raster at rasterman.com>
+Date: Sat, 3 May 2025 15:02:45 +0100
+Subject: [PATCH] emrbyo - new gcc 15  breaks builds - new keyword constexpr
+
+gcc 15 default policy of breaking existing code. adapt.
+---
+ src/bin/embryo/embryo_cc_sc.h  |  2 +-
+ src/bin/embryo/embryo_cc_sc1.c | 28 ++++++++++++++--------------
+ src/bin/embryo/embryo_cc_sc2.c |  2 +-
+ 3 files changed, 16 insertions(+), 16 deletions(-)
+
+diff --git a/src/bin/embryo/embryo_cc_sc.h b/src/bin/embryo/embryo_cc_sc.h
+index f6271afec0a..19fc0845011 100644
+--- a/src/bin/embryo/embryo_cc_sc.h
++++ b/src/bin/embryo/embryo_cc_sc.h
+@@ -432,7 +432,7 @@ symbol     *fetchfunc(char *name, int tag);
+ char       *operator_symname(char *symname, char *opername, int tag1,
+ 				     int tag2, int numtags, int resulttag);
+ char       *funcdisplayname(char *dest, char *funcname);
+-int         constexpr(cell * val, int *tag);
++int         constexpress(cell * val, int *tag);
+ constvalue *append_constval(constvalue * table, char *name, cell val,
+ 				    short index);
+ constvalue *find_constval(constvalue * table, char *name, short index);
+diff --git a/src/bin/embryo/embryo_cc_sc1.c b/src/bin/embryo/embryo_cc_sc1.c
+index 9fbeb4dcf04..4cc0da293fd 100644
+--- a/src/bin/embryo/embryo_cc_sc1.c
++++ b/src/bin/embryo/embryo_cc_sc1.c
+@@ -1513,7 +1513,7 @@ init(int ident, int *tag)
+ 	  }			/* if */
+ 	*tag = 0;
+      }
+-   else if (constexpr(&i, tag))
++   else if (constexpress(&i, tag))
+      {
+ 	stowlit(i);		/* store expression result in literal table */
+      }				/* if */
+@@ -1532,7 +1532,7 @@ needsub(int *tag)
+    *tag = 0;
+    if (matchtoken(']'))		/* we've already seen "[" */
+       return 0;			/* null size (like "char msg[]") */
+-   constexpr(&val, tag);	/* get value (must be constant expression) */
++   constexpress(&val, tag);	/* get value (must be constant expression) */
+    if (val < 0)
+      {
+ 	error(9);		/* negative array size is invalid; assumed zero */
+@@ -1561,7 +1561,7 @@ decl_const(int vclass)
+    strncpy(constname, str, sizeof(constname) - 1);	/* save symbol name */
+    constname[sizeof(constname) - 1] = 0;
+    needtoken('=');
+-   constexpr(&val, &exprtag);	/* get value */
++   constexpress(&val, &exprtag);	/* get value */
+    needtoken(tTERM);
+    /* add_constant() checks for duplicate definitions */
+    if (!matchtag(tag, exprtag, FALSE))
+@@ -1627,15 +1627,15 @@ decl_enum(int vclass)
+      {
+ 	if (matchtoken(taADD))
+ 	  {
+-	     constexpr(&increment, NULL);
++	     constexpress(&increment, NULL);
+ 	  }
+ 	else if (matchtoken(taMULT))
+ 	  {
+-	     constexpr(&multiplier, NULL);
++	     constexpress(&multiplier, NULL);
+ 	  }
+ 	else if (matchtoken(taSHL))
+ 	  {
+-	     constexpr(&lexval, NULL);
++	     constexpress(&lexval, NULL);
+ 	     while (lexval-- > 0)
+ 		multiplier *= 2;
+ 	  }			/* if */
+@@ -1659,9 +1659,9 @@ decl_enum(int vclass)
+ 	constname[sNAMEMAX] = 0;
+ 	size = increment;	/* default increment of 'val' */
+ 	if (tok == tLABEL || matchtoken(':'))
+-	   constexpr(&size, NULL);	/* get size */
++	   constexpress(&size, NULL);	/* get size */
+ 	if (matchtoken('='))
+-	   constexpr(&enumvalue, NULL);	/* get value */
++	   constexpress(&enumvalue, NULL);	/* get value */
+ 	/* add_constant() checks whether a variable (global or local) or
+ 	 * a constant with the same name already exists */
+ 	add_constant(constname, enumvalue, vclass, tag);
+@@ -2137,7 +2137,7 @@ funcstub(int native)
+ 	       }
+ 	     else
+ 	       {
+-		  constexpr(&val, NULL);
++		  constexpress(&val, NULL);
+ 		  sym->addr = val;
+ 		  /*
+ 		   * ?? Must mark this address, so that it won't be generated again
+@@ -2758,7 +2758,7 @@ doarg(char *name, int ident, int offset, int tags[], int numtags,
+ 	       }
+ 	     else
+ 	       {
+-		  constexpr(&arg->defvalue.val, &arg->defvalue_tag);
++		  constexpress(&arg->defvalue.val, &arg->defvalue_tag);
+ 		  assert(numtags > 0);
+ 		  if (!matchtag(tags[0], arg->defvalue_tag, TRUE))
+ 		     error(213);	/* tagname mismatch */
+@@ -3391,10 +3391,10 @@ doexpr(int comma, int chkeffect, int allowarray, int mark_endexpr,
+      }				/* if */
+ }
+ 
+-/*  constexpr
++/*  constexpress
+  */
+ int
+-constexpr(cell * val, int *tag)
++constexpress(cell * val, int *tag)
+ {
+    int                 constant, idx;
+    cell                cidx;
+@@ -3728,7 +3728,7 @@ doswitch(void)
+ 		   * parse all expressions until that special token.
+ 		   */
+ 
+-		  constexpr(&val, NULL);
++		  constexpress(&val, NULL);
+ 		  /* Search the insertion point (the table is kept in sorted
+ 		   * order, so that advanced abstract machines can sift the
+ 		   * case table with a binary search). Check for duplicate
+@@ -3753,7 +3753,7 @@ doswitch(void)
+ 		    {
+ 		       cell                end;
+ 
+-		       constexpr(&end, NULL);
++		       constexpress(&end, NULL);
+ 		       if (end <= val)
+ 			  error(50);	/* invalid range */
+ 		       while (++val <= end)
+diff --git a/src/bin/embryo/embryo_cc_sc2.c b/src/bin/embryo/embryo_cc_sc2.c
+index 5a51655a546..f0416e86c95 100644
+--- a/src/bin/embryo/embryo_cc_sc2.c
++++ b/src/bin/embryo/embryo_cc_sc2.c
+@@ -742,7 +742,7 @@ preproc_expr(cell * val, int *tag)
+    term = strchr(pline, '\0');
+    assert(term != NULL);
+    chrcat(pline, PREPROC_TERM);	/* the "DEL" code (see SC.H) */
+-   result = constexpr(val, tag);	/* get value (or 0 on error) */
++   result = constexpress(val, tag);	/* get value (or 0 on error) */
+    *term = '\0';		/* erase the token (if still present) */
+    lexclr(FALSE);		/* clear any "pushed" tokens */
+    return result;
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/efl.git/commitdiff/648ce7c4ea6c167eecd1a537e0717fde0a5bec6d



More information about the pld-cvs-commit mailing list