summaryrefslogtreecommitdiff
path: root/src/Makefile_Eo_Cxx.am
diff options
context:
space:
mode:
authorVitor Sousa <vitorsousasilva@gmail.com>2014-12-17 11:47:19 -0200
committerVitor Sousa <vitorsousasilva@gmail.com>2015-01-05 15:52:27 -0200
commited75aa32d6ccdea66a952ed5c82203b0cd1961b2 (patch)
tree3fb61da2424b4443c525adb2ee4e483df8617146 /src/Makefile_Eo_Cxx.am
parentebebcf64389d4e362ee9efaaf8aad4a1e76149e4 (diff)
downloadefl-ed75aa32d6ccdea66a952ed5c82203b0cd1961b2.tar.gz
cxx: General C++ Eo wrapper generation improvement
Using a new architecture in the generated files that simplify multiple inheritance and allows the use of interface types as parameters. No longer using a hand-crafted C++ header for eo_base.eo. This file was added to the generation process. Updated all files that are dependent in the hand-crafted eo_base C++ header. Now there is a class that contains the essentials functions of the former eo::base wrapper and that is used to create (through inheritance) the "concrete" classes for all Eo generated wrappers. No longer binding any function or property that are protected, private or legacy for now. eolian_type_instance is now a struct with general information for the whole type. Added the new header file namespace_generator.hh to hold namespace generation grammars. Separated declaration and definition of Eo wrappers methods. Referring for most objects by its full name (starting at the global namespace ::) in the generated files. Created additional helper grammars to avoid code replication. Removed a TODO comment referring to a doubt about inheritance of constructor methods. Added a TODO comment regarding memory allocation for callbacks in static member functions.
Diffstat (limited to 'src/Makefile_Eo_Cxx.am')
-rw-r--r--src/Makefile_Eo_Cxx.am13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/Makefile_Eo_Cxx.am b/src/Makefile_Eo_Cxx.am
index 21987b588d..81c8826579 100644
--- a/src/Makefile_Eo_Cxx.am
+++ b/src/Makefile_Eo_Cxx.am
@@ -1,4 +1,15 @@
+### Generated Headers
+
+generated_eo_cxx_bindings = \
+lib/eo/eo_base.eo.hh \
+lib/eo/eo_abstract_class.eo.hh
+
+CLEANFILES += $(generated_eo_cxx_bindings)
+
+installed_eocxxheadersdir = $(includedir)/eo-cxx-@VMAJ@
+nodist_installed_eocxxheaders_DATA = $(generated_eo_cxx_bindings)
+
### Library
if HAVE_CXX11
@@ -9,7 +20,7 @@ bindings/eo_cxx/Eo.hh
installed_eocxxheadersdir = $(includedir)/eo-cxx-@VMAJ@/
dist_installed_eocxxheaders_DATA = \
-bindings/eo_cxx/eo_base.hh \
+bindings/eo_cxx/eo_concrete.hh \
bindings/eo_cxx/eo_event.hh \
bindings/eo_cxx/eo_init.hh \
bindings/eo_cxx/eo_wref.hh \