Commit Graph

15 Commits

Author SHA1 Message Date
Savio Sena becdaf89c8 autotools: Renamed EOS variable in the Makefiles uniquely.
EOS in Makefile_Efl.am becomes EFL_EOS.
EOS in examples/eolian_cxx/Makefile.am becomes ECXX_EXAMPLE_EOS.
2014-09-12 16:07:34 -03:00
Savio Sena 007a4934cc autotools: Add -I$(srcdir)/lib/efl/ to the examples.
This fixes 'make examples'.
2014-09-12 15:28:23 -03:00
Cedric BAIL b91012f62c autotools: try to simplify our Makefile.am to reduce warnings. 2014-08-12 11:19:57 +02:00
Savio Sena 2214ae92a2 autotools: Fixed 'make dist' for Eolian-Cxx
Added .eo to EXTRA_DIST and *_stub.h to example's source lists.
2014-07-24 19:52:23 -03:00
Savio Sena 3e43bb57d8 eolian-cxx: Added example of Eo implementation in C++.
Instead of implementing Eo functions in C we do it in C++ simply.
2014-07-24 19:52:23 -03:00
Savio Sena 88f1293527 eolian-cxx: Added examples.
Added complex types, callbacks and events examples.
2014-07-18 18:57:09 -03:00
Felipe Magno de Almeida 5e5b00bc90 eolian-cxx: Disabled temporarily the inheritance feature
This feature is buggy when using multi-level namespaces. I disabled it
temporarily and will fix it ASAP and re-enable it.
2014-07-18 12:28:03 -03:00
Daniel Kolesa c05493b480 eolian-cxx: Added namespaces and more (see below)
Implemented namespaces
Added eolian_wrappers.hh with C++ code wrapping Eolain API
Changed eolian_cxx program options. Now they're eolian_gen's
Added functions to safe_str.hh (safe_lower, safe_upper, normalize_spaces, path_base)
Added a mocked version of type_lookup.hh in advance. The full
version will come as soon as complex-types are added.

Made apply again by Daniel Kolesa, original implementation by Savio Sena.
2014-06-30 19:35:06 +01:00
Savio Sena a9babe8053 eolian-cxx: remove annoying compilation warnings and messages
Summary:
- remove an automake warning caused by a variable redefinition
- remove unnecessary verbosity during debug compilation

Reviewers: cedric, smohanty

CC: felipealmeida, cedric

Differential Revision: https://phab.enlightenment.org/D844

Signed-off-by: Cedric Bail <cedric.bail@free.fr>
2014-05-10 10:15:37 +02:00
Savio Sena c08990a081 examples: fix eolian_cxx Makefile.am to work with --with-eolian-cxx.
Summary:
Includes Makefile_Eolian*_Helper.am and -- since
_EOLIAN_GEN_DEP and _EOLIAN_CXX_DEP can't be resolved from
src/examples -- redefine the generation rules locally.

Reviewers: cedric, stefan, stefan_schmidt

CC: felipealmeida, cedric

Differential Revision: https://phab.enlightenment.org/D836

Signed-off-by: Cedric Bail <cedric.bail@free.fr>
2014-05-09 15:35:51 +02:00
Savio Sena 95f5c11703 eolian_cxx: fix install-examples and (post-install) compilation.
Summary:
This patch fixes T1226 by adding a Makefile.examples to
examples/eolian_cxx. It also fixes a bug in bin/eolian_cxx: the
include paths were not being correctly generated for directories
outside EFL tree.

Reviewers: cedric, smohanty, stefan_schmidt, stefan

CC: uartie, wayland-efl, felipealmeida, raster, woohyun, cedric

Maniphest Tasks: T1226

Differential Revision: https://phab.enlightenment.org/D824

Signed-off-by: Cedric Bail <cedric.bail@free.fr>
2014-05-07 23:40:46 +02:00
Felipe Magno de Almeida f6cf7cf35e eolian_cxx: fix compilation of examples out-of-tree
Summary: Changed erroneous top_builddir for include paths for eolian_gen tool.

Reviewers: cedric, stefan_schmidt, stefan

CC: cedric

Differential Revision: https://phab.enlightenment.org/D830

Signed-off-by: Cedric Bail <cedric.bail@free.fr>
2014-05-07 23:37:47 +02:00
Stefan Schmidt a28b48644b examples: Fix install for eolian_cxx examples
Remove reference to non existing Makefile.example to let the install
succeed.

Fixes T1226
2014-05-06 09:56:46 +02:00
Savio Sena 2fdc88b33a eolian-cxx: Fixed the generation .eo.h path.
Summary: This patch fixes T1225

Reviewers: uartie

CC: uartie, wayland-efl, felipealmeida, cedric, smohanty, raster, stefan_schmidt, stefan, woohyun

Maniphest Tasks: T1225

Differential Revision: https://phab.enlightenment.org/D821
2014-05-05 13:09:28 -07:00
Savio Sena 46b6e8a563 eolian_cxx: initial version of the EFL C++ Bindings Generator.
Summary:
This patch adds 'eolian_cxx' -- a C++ bindings generator --
to the EFL tree. Eolian Cxx uses Eolian API to read .eo files and generate
.eo.hh. It relies/depends on Eo Cxx and Eina Cxx (both non-generated
bindings).

src/bin/eolian_cxx: The eolian_cxx program.
src/lib/eolian_cxx: A header-only library that implements the C++ code
generation that binds the .eo classes.

=Examples=

src/examples/eolian_cxx/eolian_cxx_simple_01.cc: The simplest example,
it just uses some "dummy" generated C++ classes.

src/examples/eolian_cxx/eolian_cxx_inherit_01.cc: Illustrates how
pure C++ classes inherit from .eo generated classes.

src/examples/evas/evas_cxx_rectangle.cc: More realistic example using
the generated bindings Evas Cxx. Still a bit shallow because we don't
have full fledged .eo descriptions yet, but will be improved.

=Important=

The generated code is not supported and not a stable API/ABI. It is
here to gather people interest and get review before we set things in
stone for release 1.11.

@feature

Reviewers: cedric, smohanty, raster, stefan_schmidt

CC: felipealmeida, JackDanielZ, cedric, stefan

Differential Revision: https://phab.enlightenment.org/D805

Signed-off-by: Cedric Bail <cedric.bail@free.fr>
2014-05-03 00:56:32 +02:00