On 05/02/14 14:04, Savio Sena wrote:
>
> Hello everyone,
>
> Me and Felipe Almeida have been working on the C++ bindings for EFL
> for a couple of months or so. We finally managed to have something
> usable. We would highly appreciate feedbacks, reviews and critics:
>
> https://github.com/expertisesolutions/ecxx
>
> Ecxx is integrated with Eolian -- ie, it reads classes descriptions
> from '.eo' files through it -- and can generate C++ bindings for Eo-1
> and Eo-2.
>
> Some examples that use Eolian as parser and C code generator:
>
> https://github.com/expertisesolutions/ecxx/tree/master/src/examples/eolian
>
> [Please notice cpp_inheritance_01.cc in special. it illustrates a cool
> feature. :-P]
>
> To compile run './build.sh eo1 ${PREFIX}' and check its corresponding
> build/ directory for the generated files.
>
> Here's the Eo-2 example. Uses Eolian only as parser. The Eo class is
> declared/defined as usual .c/.h model:
>
> https://github.com/expertisesolutions/ecxx/tree/master/src/examples/eo2
>
> To compile it run './build.sh ${PREFIX}'. (default=eo2)
>
> This ${PREFIX} is both your CMAKE_INSTALLATION_PREFIX (similar to
> autoconf's --prefix) but is also used as base to PKG_CONFIG_PATH.
> It's assumed you have Eolian installed in this prefix. You will also
> need cmake (>=2.8), not necessarily in this prefix.
>
> The README.txt in the project root shows more compilation options and
> usage examples.
>

I'm not a C++ guy, so I just skimmed through everything, and looked at 
the examples.

I'm really happy with those, they look really good. I'm very glad to see 
you've integrated your work with Eolian.

I have a couple of questions:
1. Have you tried with more complex Eo files that represent complex Eo 
inheritance (like Evas/Elm)? I'm sure the Eolian guys have some complex 
examples.
2. Have you taken pre-cautions into making sure generated C++ API/ABI is 
solid? I know C++ can be funny with ABI, and you have to assume people 
are going to create classes inheriting from your API, they can not break 
every time you re-generate API, and also, they can't break when we 
change something in C (that doesn't break API/ABI), like adding a new 
class, or whatever.

--
Tom.


------------------------------------------------------------------------------
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121051231&iu=/4140/ostg.clktrk
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to