summaryrefslogtreecommitdiff
path: root/src/Makefile_Eolian_Cxx.am
diff options
context:
space:
mode:
authorSavio Sena <savio@expertisesolutions.com.br>2014-05-03 00:55:51 +0200
committerCedric Bail <cedric.bail@free.fr>2014-05-03 00:56:32 +0200
commit46b6e8a563bd429690e7bffba4e98d06aa40798d (patch)
treeb7a2aebfc32bcc6d7a2600072a00d69a9f68d9a1 /src/Makefile_Eolian_Cxx.am
parent64c6c63725d96f03baf34b660ca71e13b29078c1 (diff)
downloadefl-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 'src/Makefile_Eolian_Cxx.am')
-rw-r--r--src/Makefile_Eolian_Cxx.am46
1 files changed, 46 insertions, 0 deletions
diff --git a/src/Makefile_Eolian_Cxx.am b/src/Makefile_Eolian_Cxx.am
new file mode 100644
index 0000000000..301f051ebb
--- /dev/null
+++ b/src/Makefile_Eolian_Cxx.am
@@ -0,0 +1,46 @@
+
+### Binary
+
+bin_PROGRAMS += \
+ bin/eolian_cxx/eolian_cxx
+
+bin_eolian_cxx_eolian_cxx_SOURCES = \
+ bin/eolian_cxx/comments.cc \
+ bin/eolian_cxx/comments.hh \
+ bin/eolian_cxx/convert.cc \
+ bin/eolian_cxx/convert.hh \
+ bin/eolian_cxx/eo_read.h \
+ bin/eolian_cxx/safe_strings.hh \
+ bin/eolian_cxx/eolian_cxx.cc
+
+bin_eolian_cxx_eolian_cxx_CFLAGS = \
+ -I$(top_builddir)/src/lib/efl \
+ -I$(top_builddir)/src/lib/eo \
+ -I$(top_srcdir)/src/lib/eo \
+ -I$(top_builddir)/src/lib/eina \
+ -I$(top_srcdir)/src/lib/eina \
+ -I$(top_builddir)/src/lib/eolian \
+ -I$(top_srcdir)/src/lib/eolian
+
+bin_eolian_cxx_eolian_cxx_CXXFLAGS = \
+ -I$(top_builddir)/src/lib/efl \
+ -I$(top_builddir)/src/lib/eo \
+ -I$(top_srcdir)/src/lib/eo \
+ -I$(top_builddir)/src/lib/eina \
+ -I$(top_srcdir)/src/lib/eina \
+ -I$(top_builddir)/src/lib/eolian \
+ -I$(top_srcdir)/src/lib/eolian \
+ -I$(top_builddir)/src/bindings/eina_cxx \
+ -I$(top_srcdir)/src/bindings/eina_cxx \
+ -I$(top_builddir)/src/lib/eolian_cxx \
+ -I$(top_srcdir)/src/lib/eolian_cxx
+
+bin_eolian_cxx_eolian_cxx_LDADD = \
+ @USE_EOLIAN_LIBS@
+
+bin_eolian_cxx_eolian_cxx_DEPENDENCIES = \
+ @USE_EOLIAN_INTERNAL_LIBS@
+
+include Makefile_Eolian_Cxx_Helper.am
+
+CLEANFILES += $(BUILT_SOURCES)