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
