Page MenuHomePhabricator

efl: remove EFL_EO_API_SUPPORT macro
ClosedPublic

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

Details

Summary

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

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

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

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

rebase + more fixes

segfaultxavi requested changes to this revision.Mon, Mar 18, 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?
src/lib/ecore/Ecore.h
278

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

src/lib/elementary/Elementary.h
171

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?

src/lib/elementary/efl_access_text.h
10

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

This revision now requires changes to proceed.Mon, Mar 18, 3:55 AM
q66 added inline comments.Mon, Mar 18, 4:00 AM
src/lib/ecore/Ecore.h
278

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

src/lib/elementary/Elementary.h
171

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

src/lib/elementary/efl_access_text.h
10

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.Mon, Mar 18, 4:02 AM

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

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

rebase + remove leftover macro usage

segfaultxavi accepted this revision.Mon, Mar 18, 4:13 AM
segfaultxavi added inline comments.
src/lib/ecore/Ecore.h
278

True. Confirmed.

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