diff options
author | Savio Sena <savio@expertisesolutions.com.br> | 2014-05-03 00:55:51 +0200 |
---|---|---|
committer | Cedric Bail <cedric.bail@free.fr> | 2014-05-03 00:56:32 +0200 |
commit | 46b6e8a563bd429690e7bffba4e98d06aa40798d (patch) | |
tree | b7a2aebfc32bcc6d7a2600072a00d69a9f68d9a1 /pc | |
parent | 64c6c63725d96f03baf34b660ca71e13b29078c1 (diff) | |
download | efl-46b6e8a563bd429690e7bffba4e98d06aa40798d.tar.gz |
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>
Diffstat (limited to 'pc')
-rw-r--r-- | pc/.gitignore | 4 | ||||
-rw-r--r-- | pc/eet-cxx.pc.in | 2 | ||||
-rw-r--r-- | pc/eina-cxx.pc.in | 2 | ||||
-rw-r--r-- | pc/eo-cxx.pc.in | 12 | ||||
-rw-r--r-- | pc/eolian-cxx.pc.in | 12 | ||||
-rw-r--r-- | pc/evas-cxx.pc.in | 15 |
6 files changed, 45 insertions, 2 deletions
diff --git a/pc/.gitignore b/pc/.gitignore index ae42f58ef3..f872dd524e 100644 --- a/pc/.gitignore +++ b/pc/.gitignore @@ -52,3 +52,7 @@ /evas.pc /evil.pc /eolian.pc +/eolian-cxx.pc +/eo-cxx.pc +/evas-cxx.pc +/ecore-audio-cxx.pc.in diff --git a/pc/eet-cxx.pc.in b/pc/eet-cxx.pc.in index 2412c487a3..23d2bbb986 100644 --- a/pc/eet-cxx.pc.in +++ b/pc/eet-cxx.pc.in @@ -9,4 +9,4 @@ Version: @VERSION@ Requires.private: @requirements_pc_eet@ Libs: -L${libdir} -leet Libs.private: @requirements_libs_eet@ -Cflags: -I${includedir}/efl-@VMAJ@ -I${includedir}/eet-@VMAJ@ -I${includedir}/efl-@VMAJ@ -I${includedir}/eet_cxx-@VMAJ@ -I${includedir}/eet_cxx-@VMAJ@/eet_cxx +Cflags: -I${includedir}/efl-@VMAJ@ -I${includedir}/eet-@VMAJ@ -I${includedir}/efl-@VMAJ@ -I${includedir}/eet-cxx-@VMAJ@ -I${includedir}/eet-cxx-@VMAJ@/eet-cxx diff --git a/pc/eina-cxx.pc.in b/pc/eina-cxx.pc.in index c6571fa4ae..4063866443 100644 --- a/pc/eina-cxx.pc.in +++ b/pc/eina-cxx.pc.in @@ -9,4 +9,4 @@ Requires.private: @requirements_pc_eina@ Version: @VERSION@ Libs: -L${libdir} -leina @requirements_public_libs_eina@ Libs.private: @requirements_libs_eina@ -Cflags: -I${includedir}/efl-@VMAJ@ -I${includedir}/eina-@VMAJ@ -I${includedir}/eina-@VMAJ@/eina -I${includedir}/eina_cxx-@VMAJ@ -I${includedir}/eina_cxx-@VMAJ@/eina_cxx +Cflags: -I${includedir}/efl-@VMAJ@ -I${includedir}/eina-@VMAJ@ -I${includedir}/eina-@VMAJ@/eina -I${includedir}/eina-cxx-@VMAJ@ -I${includedir}/eina-cxx-@VMAJ@/eina-cxx diff --git a/pc/eo-cxx.pc.in b/pc/eo-cxx.pc.in new file mode 100644 index 0000000000..a44e7f9ab6 --- /dev/null +++ b/pc/eo-cxx.pc.in @@ -0,0 +1,12 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: Eo C++ +Description: C++ bindings for EFL's generic object system. +Version: @PACKAGE_VERSION@ +Requires.private: @requirements_pc_eo@ +Libs.private: @requirements_libs_eo@ +Libs: -L${libdir} -leo +Cflags: -I${includedir}/efl-@VMAJ@ -I${includedir}/eo-@VMAJ@ -I${includedir}/eo-cxx-@VMAJ@ diff --git a/pc/eolian-cxx.pc.in b/pc/eolian-cxx.pc.in new file mode 100644 index 0000000000..1dad9f2d6d --- /dev/null +++ b/pc/eolian-cxx.pc.in @@ -0,0 +1,12 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: Eolian C++ +Description: EFL's C++ bindings generator. +Version: @VERSION@ +Require.private: @requirements_pc_eolian_cxx@ +Libs: -L${libdir} +Libs.private: @requirements_libs_eolian_cxx@ +Cflags: -I${includedir}/efl-@VMAJ@ -I${includedir}/eolian-cxx-@VMAJ@ diff --git a/pc/evas-cxx.pc.in b/pc/evas-cxx.pc.in new file mode 100644 index 0000000000..eb22b99937 --- /dev/null +++ b/pc/evas-cxx.pc.in @@ -0,0 +1,15 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ +eoincludedir=@datarootdir@/eolian/include +eolian_flags=-I${eoincludedir}/evas-cxx-@VMAJ@ + +Name: evas +Description: Evas C++ Bindings +Requires.private: @requirements_pc_evas@ +Version: @VERSION@ +Libs: -L${libdir} -levas +Libs.private: @requirements_libs_evas@ +Cflags: -I${includedir}/efl-@VMAJ@ -I${includedir}/evas-@VMAJ@ -I${includedir}/evas-cxx-@VMAJ@ + |