cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=5155c2d156db16a454c542460223d99cf8fd6414

commit 5155c2d156db16a454c542460223d99cf8fd6414
Author: Cedric BAIL <ced...@osg.samsung.com>
Date:   Mon Mar 28 16:16:15 2016 -0700

    elementary: add back C++ generated binding.
---
 src/Makefile.am                     |   1 +
 src/Makefile_Elementary_Cxx.am      |  54 ++++++++++++++
 src/lib/elementary/Elementary.hh.in | 142 ------------------------------------
 3 files changed, 55 insertions(+), 142 deletions(-)

diff --git a/src/Makefile.am b/src/Makefile.am
index 084d1a4..c256c4f 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -81,6 +81,7 @@ include Makefile_Efl_Cxx.am
 include Makefile_Edje_Cxx.am
 include Makefile_Evas_Cxx.am
 include Makefile_Eio_Cxx.am
+include Makefile_Elementary_Cxx.am
 
 include Makefile_Elua.am
 
diff --git a/src/Makefile_Elementary_Cxx.am b/src/Makefile_Elementary_Cxx.am
new file mode 100644
index 0000000..d88795c
--- /dev/null
+++ b/src/Makefile_Elementary_Cxx.am
@@ -0,0 +1,54 @@
+if HAVE_CXX11
+
+
+### Generated headers
+generated_elementary_cxx_bindings = $(elm_eolian_files:%.eo=%.eo.hh)
+generated_elementary_cxx_impl_bindings = $(elm_eolian_files:%.eo=%.eo.impl.hh)
+
+lib/elementary/Elementary.hh: $(generated_elementary_cxx_bindings)
+       @echo @ECHO_E@ "#ifndef EFL_CXX_ELEMENTARY_HH\n#define 
EFL_CXX_ELEMENTARY_HH\n" > $(top_builddir)/src/lib/elementary/Elementary.hh
+       @echo @ECHO_E@ "#if defined(ELEMENTARY_H) || defined(ELM_WIDGET_H)" >> 
$(top_builddir)/src/lib/elementary/Elementary.hh
+       @echo @ECHO_E@ "#error Do not include Elm C API headers before 
including Elementary.hh" >> $(top_builddir)/src/lib/elementary/Elementary.hh
+       @echo @ECHO_E@ "#endif" >> 
$(top_builddir)/src/lib/elementary/Elementary.hh
+       @echo @ECHO_E@ "" >> $(top_builddir)/src/lib/elementary/Elementary.hh
+       @echo @ECHO_E@ "extern \"C\" {" >> 
$(top_builddir)/src/lib/elementary/Elementary.hh
+       @echo @ECHO_E@ "#include \"Elementary.h\"" >> 
$(top_builddir)/src/lib/elementary/Elementary.hh
+       @echo @ECHO_E@ "#include \"elm_widget.h\"" >> 
$(top_builddir)/src/lib/elementary/Elementary.hh
+       @echo @ECHO_E@ "}" >> $(top_builddir)/src/lib/elementary/Elementary.hh
+       @echo @ECHO_E@ "" >> $(top_builddir)/src/lib/elementary/Elementary.hh
+       @echo @ECHO_E@ "#ifdef EFL_BETA_API_SUPPORT" >> 
$(top_builddir)/src/lib/elementary/Elementary.hh
+       @for i in $(generated_elementary_cxx_bindings); do echo "#include 
<$$(basename $$i)>" >> $(top_builddir)/src/lib/elementary/Elementary.hh; done
+       @echo @ECHO_E@ "#endif\n\n#endif\n" >> 
$(top_builddir)/src/lib/elementary/Elementary.hh
+
+generated_elementary_cxx_all = \
+       $(generated_elementary_cxx_bindings) \
+       $(generated_elementary_cxx_impl_bindings) \
+       lib/elementary/Elementary.hh
+
+CLEANFILES += $(generated_elementary_cxx_all)
+
+installed_elementarycxxmainheadersdir = $(includedir)/elementary-cxx-@VMAJ@/
+nodist_installed_elementarycxxmainheaders_DATA = 
$(generated_elementary_cxx_all)
+
+### Unit tests
+### To be reenable in the future when we do have a meaningful tests
+
+if EFL_ENABLE_TESTS
+
+check_PROGRAMS += 
+TESTS += 
+
+# tests_elementary_cxx_cxx_compile_test_SOURCES = 
tests/elementary_cxx/cxx_compile_test.cc
+# tests_elementary_cxx_cxx_compile_test_CPPFLAGS = 
-I$(top_builddir)/src/lib/efl \
+# -I$(top_builddir)/src/lib/evas/canvas/ \
+# -I$(top_builddir)/src/lib/efl/interfaces/ \
+# -DTESTS_SRC_DIR=\"$(top_srcdir)/src/tests/elementary_cxx\" \
+# -DTESTS_BUILD_DIR=\"$(top_builddir)/src/tests/elementary_cxx\" \
+# @CHECK_CFLAGS@ @ECORE_CXX_CFLAGS@ @EINA_CXX_CFLAGS@ @EVAS_CXX_CFLAGS@ 
@ELEMENTARY_CXX_CFLAGS@ @EO_CXX_CFLAGS@ \
+# @ECORE_CFLAGS@ @EINA_CFLAGS@ @EVAS_CFLAGS@ @ELEMENTARY_CFLAGS@ @EO_CFLAGS@
+# tests_elementary_cxx_cxx_compile_test_LDADD = @CHECK_LIBS@ 
@USE_ELEMENTARY_LIBS@
+# tests_elementary_cxx_cxx_compile_test_DEPENDENCIES = 
@USE_ELEMENTARY_INTERNAL_LIBS@
+
+endif
+
+endif
diff --git a/src/lib/elementary/Elementary.hh.in 
b/src/lib/elementary/Elementary.hh.in
deleted file mode 100644
index 965e3fa..0000000
--- a/src/lib/elementary/Elementary.hh.in
+++ /dev/null
@@ -1,142 +0,0 @@
-/* This is the prmary Elementary header file that includes all other useful
- * headers.
- *
- * Elementary is distributed under the LGPLv2 license. Please see the COPYING
- * file that was distributed with this source.
- */
-#ifndef ELEMENTARY_CXX_HH
-#define ELEMENTARY_CXX_HH
-
-#if defined(ELEMENTARY_H) || defined(ELM_WIDGET_H)
-#error Do not include Elm C API headers before including Elementary.hh
-#endif
-
-#define EFL_BETA_API_SUPPORT 1
-#define EFL_EO_API_SUPPORT 1
-#define ELM_INTERNAL_API_ARGESFSDFEFC
-#define ELM_WIDGET_ITEM_PROTECTED
-
-extern "C" {
-
-#include "Elementary.h"
-
-#include "elm_widget.h"
-
-}
-
-#ifdef EFL_BETA_API_SUPPORT
-#define ELM_ELOCATION
-#include <elm_widget_item.eo.hh>
-#include <elm_access.eo.hh>
-#include <elm_actionslider.eo.hh>
-#include <elm_atspi_bridge.eo.hh>
-#include <elm_app_client.eo.hh>
-#include <elm_app_client_view.eo.hh>
-#include <elm_app_server.eo.hh>
-#include <elm_app_server_view.eo.hh>
-#include <elm_atspi_app_object.eo.hh>
-#include <elm_bg.eo.hh>
-#include <elm_box.eo.hh>
-#include <elm_bubble.eo.hh>
-#include <elm_button.eo.hh>
-#include <elm_calendar.eo.hh>
-#include <elm_check.eo.hh>
-#include <elm_clock.eo.hh>
-#include <elm_colorselector.eo.hh>
-#include <elm_conformant.eo.hh>
-#include <elm_container.eo.hh>
-#include <elm_ctxpopup.eo.hh>
-#include <elm_datetime.eo.hh>
-#include <elm_dayselector.eo.hh>
-#include <elm_diskselector.eo.hh>
-#include <elm_entry.eo.hh>
-#include <elm_fileselector.eo.hh>
-#include <elm_fileselector_button.eo.hh>
-#include <elm_fileselector_entry.eo.hh>
-#include <elm_flip.eo.hh>
-#include <elm_flipselector.eo.hh>
-#include <elm_frame.eo.hh>
-#include <elm_gengrid.eo.hh>
-#include <elm_gengrid_pan.eo.hh>
-#include <elm_genlist.eo.hh>
-#include <elm_genlist_pan.eo.hh>
-#include <elm_gesture_layer.eo.hh>
-#include <elm_glview.eo.hh>
-#include <elm_grid.eo.hh>
-#include <elm_hover.eo.hh>
-#include <elm_hoversel.eo.hh>
-#include <elm_icon.eo.hh>
-#include <elm_image.eo.hh>
-#include <elm_index.eo.hh>
-#include <elm_interface_atspi_accessible.eo.hh>
-#include <elm_interface_atspi_action.eo.hh>
-#include <elm_interface_atspi_component.eo.hh>
-#include <elm_interface_atspi_editable_text.eo.hh>
-#include <elm_interface_atspi_image.eo.hh>
-#include <elm_interface_atspi_selection.eo.hh>
-#include <elm_interface_atspi_text.eo.hh>
-#include <elm_interface_atspi_value.eo.hh>
-#include <elm_interface_atspi_widget_action.eo.hh>
-#include <elm_interface_atspi_window.eo.hh>
-#include <elm_interface_fileselector.eo.hh>
-#include <elm_interface_scrollable.eo.hh>
-#include <elm_inwin.eo.hh>
-#include <elm_label.eo.hh>
-#include <elm_layout.eo.hh>
-#include <elm_list.eo.hh>
-#include <elm_map.eo.hh>
-#include <elm_map_pan.eo.hh>
-#include <elm_mapbuf.eo.hh>
-#include <elm_menu.eo.hh>
-#include <elm_multibuttonentry.eo.hh>
-#include <elm_naviframe.eo.hh>
-#include <elm_notify.eo.hh>
-#include <elm_pan.eo.hh>
-#include <elm_panel.eo.hh>
-#include <elm_panes.eo.hh>
-#include <elm_photo.eo.hh>
-#include <elm_photocam.eo.hh>
-#include <elm_photocam_pan.eo.hh>
-#include <elm_player.eo.hh>
-#include <elm_plug.eo.hh>
-#include <elm_popup.eo.hh>
-#include <elm_prefs.eo.hh>
-#include <elm_progressbar.eo.hh>
-#include <elm_radio.eo.hh>
-#include <elm_route.eo.hh>
-#include <elm_scroller.eo.hh>
-#include <elm_segment_control.eo.hh>
-#include <elm_separator.eo.hh>
-#include <elm_slider.eo.hh>
-#include <elm_slideshow.eo.hh>
-#include <elm_spinner.eo.hh>
-#include <elm_systray.eo.hh>
-#include <elm_table.eo.hh>
-#include <elm_thumb.eo.hh>
-#include <elm_toolbar.eo.hh>
-#include <elm_video.eo.hh>
-#include <elm_view_list.eo.hh>
-#include <elm_view_form.eo.hh>
-#include <elm_web.eo.hh>
-#include <elm_widget.eo.hh>
-#include <elm_win.eo.hh>
-#include <elm_win_standard.eo.hh>
-#include <elm_color_item.eo.hh>
-#include <elm_dayselector_item.eo.hh>
-#include <elm_hoversel_item.eo.hh>
-#include <elm_segment_control_item.eo.hh>
-#include <elm_slideshow_item.eo.hh>
-#include <elm_flipselector_item.eo.hh>
-#include <elm_menu_item.eo.hh>
-#include <elm_ctxpopup_item.eo.hh>
-#include <elm_index_item.eo.hh>
-#include <elm_multibuttonentry_item.eo.hh>
-#include <elm_naviframe_item.eo.hh>
-#include <elm_genlist_item.eo.hh>
-#include <elm_gengrid_item.eo.hh>
-#include <elm_list_item.eo.hh>
-#include <elm_toolbar_item.eo.hh>
-#include <elm_diskselector_item.eo.hh>
-#include <elm_popup_item.eo.hh>
-#endif
-#endif

-- 


Reply via email to