[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, ¶ms) <= 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