This took quite a while to figure out. The two object names for the cxx callback
test and callback.c have been to close. callback.c needs the eolian headers and
the CXX test needs the eolian_cxx headers.
Split it up and set the deps correctly. If you always run check with something
like -j 9 you might have never noticed as it was very likely that the headers
have been generated due to the wrong dep before.
This reverts commit 638e72fda4.
After this change the files did not end up in the tarball and failing make distcheck
../../src/tests/eolian_cxx/callback.c:11:25: fatal error: callback.eo.h: No such file or directory
This reverts commit 577a6bfbba.
This brings efl back to building - it entirely stopped building for me
with this change so even if this tried to fix something... it made
just regular building of efl at all cease to work here which i'd say
is bad (if this just fixes a dist problem - at least dist is broken,
but regular build is not - we are in better shape).
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.
Summary:
Sorry, last patch added the headers to the correct relative
location but replaced dist with nodist which is incorrect. nodist is
for generated headers only.
Reviewers: cedric, raster
Reviewed By: raster
CC: felipealmeida, smohanty, cedric
Differential Revision: https://phab.enlightenment.org/D898
Summary:
Fixed distcheck for Eolian C++. Made the generated files as
nodist so it doesn't get picked up for generation way too
early.
Reviewers: cedric, seoz
CC: cedric
Maniphest Tasks: T1220
Differential Revision: https://phab.enlightenment.org/D820
Signed-off-by: Cedric Bail <cedric.bail@free.fr>
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>