Page MenuHomePhabricator

build: time for efl-one

Authored by bu5hm4n on May 10 2020, 7:01 AM.



this is building parts of efl into a single .so and links all modules
and binaries to it.

The libraries themselfs are build as .a's which are linked together as
.so's. Which is required as every subproject has its little custom
c_flags, which are somtimes conflicting.

After the final .so is then built, all the split up libraries are
replaced with the efl-one. After that the modules and binaries are built
correctly with the correct link on the efl-one parts.

Depends on D11806

Diff Detail

rEFL core/efl
Automatic diff as part of commit; lint not applicable.
Automatic diff as part of commit; unit tests not applicable.
bu5hm4n created this revision.May 10 2020, 7:01 AM

It seems that this patch has no reviewers specified. If you are unsure who can review your patch, please check this wiki page and see if anyone can be added:

bu5hm4n requested review of this revision.May 10 2020, 7:01 AM

When doing some first build tests with this I saw a jump in ninja build targets from 3600 to 5800 without efl-one set and 5200 with it set. Is this to be expected due to the different ordering?

I did not do any build time measurements yet to so this is only observing the target number raised.

Yeah that is expected. We need to build each and every shared object lib again as a static library, which doubles the amount of libraries we are building, that is sadly nothing we can get around right now.

bu5hm4n updated this revision to Diff 30387.May 25 2020, 6:53 AM
bu5hm4n edited the summary of this revision. (Show Details)

fix wrong package_c_args defines

bu5hm4n updated this revision to Diff 30411.May 26 2020, 1:28 AM

rebase on master

The build time concerns have been fixed and a build without the efl-one option set will not have a build time penalty anymore.

ecore_avahi should not be part of efl-one, or simply overlooked?

stefan_schmidt requested changes to this revision.May 26 2020, 6:58 AM

A few last comments. With them fixed I think this one is ready to go.

The comment is outdated now? Its set to treu for efl-one


The comment is outdated now? Its set to treu for efl-one


As mentioned in D11805 the meson_option efl-one should move into this patch as it gets used here first.

This revision now requires changes to proceed.May 26 2020, 6:58 AM
bu5hm4n updated this revision to Diff 30431.May 27 2020, 12:55 AM

Final update

bu5hm4n added inline comments.

Not part of efl-one as it does not have a usage within efl ...

stefan_schmidt accepted this revision.May 27 2020, 2:04 AM
This revision is now accepted and ready to land.May 27 2020, 2:04 AM
Closed by commit rEFL92b049b4d7e7: build: time for efl-one (authored by Marcel Hollerbach <>, committed by stefan_schmidt). · Explain WhyMay 27 2020, 2:07 AM
This revision was automatically updated to reflect the committed changes.