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 --