On Mon, Jan 14, 2013 at 4:53 AM, Nicolas Aguirre <aguirre.nico...@gmail.com> wrote: > 2013/1/11 Gustavo Sverzut Barbieri <barbi...@profusion.mobi> > >> On Fri, Jan 11, 2013 at 4:43 PM, Nicolas Aguirre >> <aguirre.nico...@gmail.com> wrote: >> >> > >> modules/ecore_evas/engines/win32/modules_ecore_evas_engines_win32_module_la-ecore_evas_win32.lo >> > In file included from >> > modules/ecore_evas/engines/win32/ecore_evas_win32.c:19:0: error: >> > unterminated #ifdef >> > make[4]: *** >> > >> [modules/ecore_evas/engines/win32/modules_ecore_evas_engines_win32_module_la-ecore_evas_win32.lo] >> > Error 1 >> >> Flavio split ecore-evas engines out of ecore_evas itself, but seems he >> couldn't test with win32. It should be a matter of basing the fixes on >> other modules. Very likely these are just C errors that once fixed >> will work. >> >> >> > Anyway I'm away this week end, i will look into it next week. >> >> It's better if you can engage for couple of days into that. It will >> require lots of work and compilation rounds, not just the code >> changed, but the build system as well. Maybe some modules will have to >> be disabled, etc. >> >> >> > after ifdef correction (patch attached) i get a new kind of error, and i > fear it's related with all include you removed. > > Making all in src > make all-recursive > CC > modules/ecore_evas/engines/win32/modules_ecore_evas_engines_win32_module_la-ecore_evas_win32.lo > In file included from > modules/ecore_evas/engines/win32/ecore_evas_win32.c:12:0: > ../src/lib/ecore_win32/Ecore_Win32.h:14:4: warning: #warning "You are using > a work in progress API. This API is not stable" [-Wcpp] > ../src/lib/ecore_win32/Ecore_Win32.h:15:4: warning: #warning "and is > subject to change. You use this at your own risk." [-Wcpp]
ugh, this is annoying... what about if you patch Ecore_Win32.h to do like other libraries: #ifndef _ECORE_WIN32_API_IS_UNSTABLE_AND_I_KNOW_IT #warning "..."" #endif then define that for every user file in EFL. It does pollute too much and maybe that caused the confusion. See below. > modules/ecore_evas/engines/win32/ecore_evas_win32.c: In function > '_ecore_evas_win32_event_window_damage': > modules/ecore_evas/engines/win32/ecore_evas_win32.c:258:3: warning: > #warning [ECORE] [WIN32] No Region code [-Wcpp] > modules/ecore_evas/engines/win32/ecore_evas_win32.c: In function > '_ecore_evas_win32_rotation_set': > modules/ecore_evas/engines/win32/ecore_evas_win32.c:630:66: warning: unused > parameter 'resize' [-Wunused-parameter] > modules/ecore_evas/engines/win32/ecore_evas_win32.c: In function > '_ecore_evas_win32_cursor_set': > modules/ecore_evas/engines/win32/ecore_evas_win32.c:814:42: warning: unused > parameter 'ee' [-Wunused-parameter] > modules/ecore_evas/engines/win32/ecore_evas_win32.c:814:59: warning: unused > parameter 'obj' [-Wunused-parameter] > modules/ecore_evas/engines/win32/ecore_evas_win32.c:814:68: warning: unused > parameter 'layer' [-Wunused-parameter] > modules/ecore_evas/engines/win32/ecore_evas_win32.c:814:79: warning: unused > parameter 'hot_x' [-Wunused-parameter] > modules/ecore_evas/engines/win32/ecore_evas_win32.c:814:90: warning: unused > parameter 'hot_y' [-Wunused-parameter] > modules/ecore_evas/engines/win32/ecore_evas_win32.c: In function > '_ecore_evas_win32_alpha_set': > modules/ecore_evas/engines/win32/ecore_evas_win32.c:979:34: warning: unused > variable 'wdata' [-Wunused-variable] > modules/ecore_evas/engines/win32/ecore_evas_win32.c: In function > '_ecore_evas_win32_screen_dpi_get': > modules/ecore_evas/engines/win32/ecore_evas_win32.c:1056:52: warning: > unused parameter 'ee' [-Wunused-parameter] please also fix these with EINA_UNUSED after the unused parameter name. > modules/ecore_evas/engines/win32/ecore_evas_win32.c: In function > '_ecore_evas_win32_new_internal': > modules/ecore_evas/engines/win32/ecore_evas_win32.c:1324:38: warning: > declaration of '_ecore_evas_engine_init' shadows a global declaration > [-Wshadow] > ../src/lib/ecore_evas/ecore_evas_private.h:403:6: warning: shadowed > declaration is here [-Wshadow] this is a regular programming mistake. Just fix the declaration of _ecore_evas_engine_init :-) > modules/ecore_evas/engines/win32/ecore_evas_win32.c:1354:4: error: 'iface' > undeclared (first use in this function) > modules/ecore_evas/engines/win32/ecore_evas_win32.c:1354:4: note: each > undeclared identifier is reported only once for each function it appears in also another programming mistake. Please look at other ecore_evas engines and see their handling of "iface". It's nothing related to platform dependent stuff, just need to declare the variable with the proper ecore evas engine type. > modules/ecore_evas/engines/win32/ecore_evas_win32.c: At top level: > modules/ecore_evas/engines/win32/ecore_evas_win32.c:1412:1: warning: > 'ecore_evas_software_gdi_new' already declared with dllexport attribute: > dllimport ignored [-Wattributes] > modules/ecore_evas/engines/win32/ecore_evas_win32.c:1443:1: warning: > 'ecore_evas_software_ddraw_new' already declared with dllexport attribute: > dllimport ignored [-Wattributes] > modules/ecore_evas/engines/win32/ecore_evas_win32.c:1473:1: warning: > 'ecore_evas_software_16_ddraw_new' already declared with dllexport > attribute: dllimport ignored [-Wattributes] > modules/ecore_evas/engines/win32/ecore_evas_win32.c:1502:1: warning: > 'ecore_evas_direct3d_new' already declared with dllexport attribute: > dllimport ignored [-Wattributes] > modules/ecore_evas/engines/win32/ecore_evas_win32.c:1534:1: warning: > 'ecore_evas_gl_glew_new' already declared with dllexport attribute: > dllimport ignored [-Wattributes] These are a mix of programming errors when splitting the modules. 1 - names: these functions (_new()) should be called (_new_internal) and that's what src/lib/ecore_evas/ecore_evas.c should be looking. See http://trac.enlightenment.org/e/browser/trunk/efl/src/lib/ecore_evas/ecore_evas.c#L3287 that's the symbol you must have. 2 - attribute: these EAPI in there should be defined to always be export, that in the C file. At the beginning of ecore_evas_win32.c and AFTER all the #include, add: #undef EAPI #ifdef DLL_EXPORT # define EAPI __declspec(dllexport) #else # define EAPI #endif that's similar to what is in Ecore_Evas.h, but simplified as 1) we're always doing the dllexport; 2) we're always building this for windows; 3) we know EAPI was already defined by other #include :-) > modules/ecore_evas/engines/win32/ecore_evas_win32.c: In function > '_ecore_evas_win32_interface_new': > modules/ecore_evas/engines/win32/ecore_evas_win32.c:1559:23: error: > 'interface_win32_name' undeclared (first use in this function) > modules/ecore_evas/engines/win32/ecore_evas_win32.c:1560:26: error: > 'interface_win32_version' undeclared (first use in this function) regular programming errors. Missing variables, see what other ecore_evas engine does. > I think that the best choice we have here is to revert all the commits with > headers remove, Lucas did last week :/ relax and take a deep breath, the port won't be easy, but we're still not any close to Lucas' changes yet ;-) These are all regular programming errors, nothing related to includes. No need to remove his work. And my advice is to read the error messages rather than assume/imagine a problem. -- Gustavo Sverzut Barbieri http://profusion.mobi embedded systems -------------------------------------- MSN: barbi...@gmail.com Skype: gsbarbieri Mobile: +55 (19) 9225-2202 ------------------------------------------------------------------------------ Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft MVPs and experts. SALE $99.99 this month only -- learn more at: http://p.sf.net/sfu/learnmore_122412 _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel