Page MenuHomePhabricator

efl: remove EFL_EO_API_SUPPORT macro

Authored by q66 on Mar 12 2019, 7:50 AM.



Since we're now going to be shipping some eo classes as stable,
there is no point in keeping the eo api behind a macro, and it
should be enabled by default. Another case is beta classes, but
those are behind the EFL_BETA_API_SUPPORT guard.

This also changes includes around the place where things are
clearly broken (such as an included header needing something
from another header but that other header being guarded, notably
efl_ui_widget.h needing focus manager but focus manager being
behind beta in Elementary.h)

Diff Detail

rEFL core/efl
Automatic diff as part of commit; lint not applicable.
Automatic diff as part of commit; unit tests not applicable.
q66 created this revision.Mar 12 2019, 7:50 AM
q66 requested review of this revision.Mar 12 2019, 7:50 AM
cedric accepted this revision.Mar 13 2019, 4:18 PM
This revision is now accepted and ready to land.Mar 13 2019, 4:18 PM
zmike added a comment.Mar 14 2019, 8:21 AM

Would like to see a travis build of this pass before landing in master.

q66 updated this revision to Diff 20600.Mar 14 2019, 5:16 PM

rebase + more fixes

segfaultxavi requested changes to this revision.Mar 18 2019, 3:55 AM
segfaultxavi added a subscriber: segfaultxavi.

Builds and passes tests. Simple test apps (hello-cmd tutorial) can be compiled without defining EFL_EO_API_SUPPORT nor EFL_BETA_API_SUPPORT.

However, I found two places where this symbol still appears:

  • src/tests/elementary/efl_ui_compile_test.c: Can you remove it from here?
  • src/lib/elementary/elm_interface_scrollable.c: Can you adapt the comment so it matches the new situation?

This has been added and removed several times in the past few days and I no longer know what's going on. @zmike ?


I thought we removed all conditional including of files, because now all .eo.h files have their own #ifdef BETA_API guards.
If these two files cannot be included unconditionally, then maybe their eo files are missing some @beta tags, right?


So what happens to this include? It is not needed anymore?

This revision now requires changes to proceed.Mar 18 2019, 3:55 AM
q66 added inline comments.Mar 18 2019, 4:00 AM

It's definitely wrong to guard it, it breaks build


Let's not worry about this one for now, and do it separately in order to not complicate this any more, this just moves the BETA_API_SUPPORT from above a bit below


yeah, the legacy generator is more or less gone, as in, it only generates types, which are also in .eo.h, which is included unconditionally

q66 added a comment.Mar 18 2019, 4:02 AM

The comment in elm_interface_scrollable.c is fine, doesn't need changing.

q66 updated this revision to Diff 20677.Mar 18 2019, 4:03 AM

rebase + remove leftover macro usage

segfaultxavi accepted this revision.Mar 18 2019, 4:13 AM
segfaultxavi added inline comments.

True. Confirmed.

This revision is now accepted and ready to land.Mar 18 2019, 4:13 AM
This revision was automatically updated to reflect the committed changes.