Hi!

Indeed, it is fixed now.

Following the same logic, could it be possible to create Efl_One.h file with ALL headers in the same file?

It will be usable to create bindings for some languages. For example, I tried to create Nim bindings, but their tool analyses headers and EFL/Elementary headers have too complex structure, so it was failed.

Peter


On 28/05/2020 14:04, Marcel Hollerbach wrote:
Should be fixed.

On 5/27/20 6:13 PM, Marcel Hollerbach wrote:
Hi,

yep, that is a missed dependency, I think i know what went wrong. Will merge a fix tomorrow. :)

Thank you a lot for the report,
    bu5hm4n

On 5/27/20 4:25 PM, Quelrond wrote:
Hi,

Trying to build on FreeBSD with the new option:


[1959/4907] Compiling C object 'src/bin/elementary/aea5856@@elementary_test@sha/test_efl_gfx_vg_value_provider.c.o' FAILED:src/bin/elementary/aea5856@@elementary_test@sha/test_efl_gfx_vg_value_provider.c.o cc -Isrc/bin/elementary/aea5856@@elementary_test@sha -Isrc/bin/elementary -I../src/bin/elementary -I. -I.. -Isrc/lib/evil -I../src/lib/evil -Isrc/lib/eina -I../src/lib/eina -Isrc/lib/eo -I../src/lib/eo -Isrc/lib/efl -I../src/lib/efl -Isrc/lib/emile -I../src/lib/emile -Isrc/lib/eet -I../src/lib/eet -Isrc/lib/ecore -I../src/lib/ecore -Isrc/lib/eldbus -I../src/lib/eldbus -Isrc/lib/ecore_audio -I../src/lib/ecore_audio -Isrc/lib/ecore_con -I../src/lib/ecore_con -Isrc/lib/ecore_file -I../src/lib/ecore_file -Isrc/lib/ecore_input -I../src/lib/ecore_input -Isrc/lib/ecore_x -I../src/lib/ecore_x -Isrc/lib/ecore_win32 -I../src/lib/ecore_win32 -Isrc/lib/ecore_ipc -I../src/lib/ecore_ipc -Isrc/lib/ector -I../src/lib/ector -Isrc/lib/evas/software_generic -I../src/lib/evas/software_generic -I../src/modules/evas/engines/software_generic/filters -Isrc/lib/evas -I../src/lib/evas -Isrc/lib/evas/common -I../src/lib/evas/common -Isrc/lib/evas/include -I../src/lib/evas/include -Isrc/lib/evas/filters -I../src/lib/evas/filters -Isrc/lib/evas/canvas -I../src/lib/evas/canvas -Isrc/lib/efreet -I../src/lib/efreet -Isrc/lib/ecore_input_evas -I../src/lib/ecore_input_evas -Isrc/modules/evas/engines/buffer -I../src/modules/evas/engines/buffer -Isrc/lib/ecore_evas -I../src/lib/ecore_evas -Isrc/lib/ecore_imf -I../src/lib/ecore_imf -Isrc/lib/embryo -I../src/lib/embryo -Isrc/lib/eio -I../src/lib/eio -Isrc/lib/ecore_imf_evas -I../src/lib/ecore_imf_evas -Isrc/lib/edje -I../src/lib/edje -Isrc/lib/emotion -I../src/lib/emotion -Isrc/lib/ethumb -I../src/lib/ethumb -Isrc/lib/ethumb_client -I../src/lib/ethumb_client -Isrc/lib/elementary -I../src/lib/elementary -Isrc/static_libs/vg_common -I../src/static_libs/vg_common -Isrc/static_libs/buildsystem -I../src/static_libs/buildsystem -Isrc/lib -I../src/lib -Isrc/lib/efl/interfaces -Isrc/lib/ector/gl -Isrc/lib/ector/software -Isrc/lib/evas/gesture -I/usr/local/include -Xclang -fcolor-diagnostics -pipe -D_FILE_OFFSET_BITS=64 -fvisibility=hidden -Wall -Wpointer-arith -Wunused-parameter -Wsign-compare -Wno-missing-field-initializers -DHAVE_CONFIG_H=1 -D_GNU_SOURCE=1 -DEFL_BETA_API_SUPPORT=1 -DELM_INTERNAL_API_ARGESFSDFEFC=1 -fPIC -pthread '-DPACKAGE_DATA_DIR="/usr/local/share/elementary"' -DNEED_RUN_IN_TREE=1 -fPIC '-Delementary_test_BIN_DIR="/usr/local/bin"' '-Delementary_test_LIB_DIR="/usr/local/lib"' '-Delementary_test_DATA_DIR="/usr/local/share/elementary"' -MD -MQ 'src/bin/elementary/aea5856@@elementary_test@sha/test_efl_gfx_vg_value_provider.c.o' -MF'src/bin/elementary/aea5856@@elementary_test@sha/test_efl_gfx_vg_value_provider.c.o.d' -o'src/bin/elementary/aea5856@@elementary_test@sha/test_efl_gfx_vg_value_provider.c.o' -c ../src/bin/elementary/test_efl_gfx_vg_value_provider.c In file included from ../src/bin/elementary/test_efl_gfx_vg_value_provider.c:6: ../src/lib/elementary/elm_priv.h:161:11: fatal error: 'efl_ui_size_model.eo.h' file not found
# include "efl_ui_size_model.eo.h"
           ^~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.



On 27/05/2020 11:34, Marcel Hollerbach wrote:
Hi,

after quite a big amount of work we have successfully landed this morning a update to our build system which enables to build efl as a single big .so instead of multiple seperated .so's. The layout is that every single .so is merged into efl-one.so except: - eolian: no normal app would benefit from it, and it would make our build *a lot* more complex - ecore_avahi: there is no real user for this within efl, in general i dont think anyone is going to benefit from it - efl_canvas_wl: This is also not beneficial to a standard efl application
- elua: This is only for bindings.
- ecore_drm / wayland : These are deprecated libs, not to confuse with ecore_wl2 / ecore_drm2, which is included in efl-one
- exactness: Not useful for a normal efl app.

To build efl-one you need to pass: "-Defl-one=true" to meson. After this is done, additionally to all the smaller libs, efl-one.so will be build. The modules of ecore / evas etc. and all the binaries will link to efl-one.so not to the smaller libraries. However, for compatibility reasons, and complexity reasons, the small .so's are still build and installed.

If you have an app that you want to test out with efl-one: There is now a efl-one.pc file installed, which can be used to link to the correct libraries, no other efl dependency is then required.

From some early profiling: this saves ~1MB of memory when running a efl app, i have so far not tested out what impact it has on runtime performance or first frame numbers.

greetings,
   bu5hm4n



_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to