summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSavio Sena <savio@expertisesolutions.com.br>2014-05-09 17:51:39 -0300
committerSavio Sena <savio@expertisesolutions.com.br>2014-07-21 20:53:12 -0300
commitcd4d2867242c31c1fec2dfb56187c28710b2bb81 (patch)
treecdc81c0bc2b786fa489175a716d074b8e6906446
parent8ef9f49e9493b40995ab1028c95c9d6c149aca68 (diff)
autotools: Add eolian-cxx to elementary.
Conflicts: src/lib/Makefile.am
-rw-r--r--Makefile_Eolian_Cxx_Helper.am19
-rw-r--r--configure.ac38
-rw-r--r--m4/efl_stdcxx_11.m4133
-rw-r--r--src/lib/Makefile.am282
-rw-r--r--src/tests/Makefile.am34
-rw-r--r--src/tests/elm_cxx_suite.cc117
6 files changed, 619 insertions, 4 deletions
diff --git a/Makefile_Eolian_Cxx_Helper.am b/Makefile_Eolian_Cxx_Helper.am
new file mode 100644
index 000000000..12ac58e17
--- /dev/null
+++ b/Makefile_Eolian_Cxx_Helper.am
@@ -0,0 +1,19 @@
1
2if HAVE_EOLIAN_CXX
3EOLIAN_CXX = @eolian_cxx@
4_EOLIAN_CXX_DEP = @eolian_cxx@
5else
6EOLIAN_CXX = EFL_RUN_IN_TREE=1 $(top_builddir)/src/bin/eolian_cxx/eolian_cxx${EXEEXT}
7_EOLIAN_CXX_DEP = bin/eolian_cxx/eolian_cxx${EXEEXT}
8endif
9
10AM_V_EOLCXX = $(am__v_EOLCXX_@AM_V@)
11am__v_EOLCXX_ = $(am__v_EOLCXX_@AM_DEFAULT_V@)
12am__v_EOLCXX_0 = @echo " EOLCXX " $@;
13
14SUFFIXES += .eo.hh
15
16%.eo.hh: %.eo $(_EOLIAN_CXX_DEP)
17 $(AM_V_EOLCXX)$(EOLIAN_CXX) $(EOLIAN_FLAGS) -o $@ $<
18
19CLEANFILES += $(BUILT_SOURCES)
diff --git a/configure.ac b/configure.ac
index a3948e7f5..a2553e276 100644
--- a/configure.ac
+++ b/configure.ac
@@ -112,6 +112,7 @@ AC_PROG_CC_STDC
112AC_HEADER_STDC 112AC_HEADER_STDC
113AC_C_CONST 113AC_C_CONST
114AC_FUNC_ALLOCA 114AC_FUNC_ALLOCA
115AC_PROG_CXX
115 116
116ELM_VERSION_MAJOR="v_maj" 117ELM_VERSION_MAJOR="v_maj"
117ELM_VERSION_MINOR="v_min" 118ELM_VERSION_MINOR="v_min"
@@ -224,6 +225,33 @@ requirement_elm="\
224 eio >= efl_version \ 225 eio >= efl_version \
225 " 226 "
226 227
228EFL_CXX_COMPILE_STDCXX_11([ext])
229want_cxx11="yes"
230AC_ARG_ENABLE([c++11],
231 [AC_HELP_STRING([--disable-c++11],
232 [disable C++11 bindings. @<:@default=enabled@:>@])],
233 [want_cxx11="${enableval}"])
234
235if test "x${HAVE_CXX11}" = "x1" -a "x${want_cxx11}" = "xyes"; then
236 PKG_CHECK_MODULES([ELEMENTARY_CXX],
237 [
238 eo-cxx >= efl_version
239 eina-cxx >= efl_version
240 evas-cxx >= efl_version
241 ],
242 [
243 requirement_elm="${requirement_elm} \
244 eo-cxx >= efl_version \
245 eina-cxx >= efl_version \
246 evas-cxx >= efl_version \
247 "
248 have_cxx11="yes"
249 ],
250 [have_cxx11="no"]
251 )
252fi
253AM_CONDITIONAL([HAVE_CXX11], [test "x${have_cxx11}" = "xyes"])
254
227have_elementary_x="no" 255have_elementary_x="no"
228want_elementary_x="auto" 256want_elementary_x="auto"
229AC_ARG_ENABLE([ecore-x], 257AC_ARG_ENABLE([ecore-x],
@@ -527,7 +555,7 @@ if test "x$want_elementary_web" != "xnone"; then
527 "$webkit_datadir", 555 "$webkit_datadir",
528 "WebKit's data dir") 556 "WebKit's data dir")
529 ELM_WEB2_DEF="#define" 557 ELM_WEB2_DEF="#define"
530 558o
531 elementary_web=$want_elementary_web 559 elementary_web=$want_elementary_web
532 requirement_elm="${want_elementary_web} ${requirement_elm}" 560 requirement_elm="${want_elementary_web} ${requirement_elm}"
533 ], 561 ],
@@ -590,13 +618,16 @@ my_libs="-lm"
590AC_SUBST(my_libs) 618AC_SUBST(my_libs)
591AC_SUBST(requirement_elm) 619AC_SUBST(requirement_elm)
592 620
621
593EFL_WITH_BIN([eet], [eet-eet], [eet]) 622EFL_WITH_BIN([eet], [eet-eet], [eet])
594EFL_WITH_BIN([edje], [edje-cc], [edje_cc]) 623EFL_WITH_BIN([edje], [edje-cc], [edje_cc])
595EFL_WITH_BIN([elementary], [elementary-codegen], [elementary_codegen]) 624EFL_WITH_BIN([elementary], [elementary-codegen], [elementary_codegen])
596EFL_WITH_BIN([elementary], [elm-prefs-cc], [elm_prefs_cc]) 625EFL_WITH_BIN([elementary], [elm-prefs-cc], [elm_prefs_cc])
597EFL_WITH_BIN([eolian], [eolian-gen], [eolian_gen]) 626EFL_WITH_BIN([eolian], [eolian-gen], [eolian_gen])
598# Force the helper to try external eolian-gen 627EFL_WITH_BIN([eolian-cxx], [eolian-cxx], [eolian_cxx])
628# Force the helper to try external eolian generators
599AM_CONDITIONAL(HAVE_EOLIAN_GEN, [true]) 629AM_CONDITIONAL(HAVE_EOLIAN_GEN, [true])
630AM_CONDITIONAL(HAVE_EOLIAN_CXX, [true])
600 631
601EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"]) 632EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
602 633
@@ -725,6 +756,7 @@ echo " edje_cc..................: ${edje_cc}"
725echo " elementary_codegen.......: ${elementary_codegen}" 756echo " elementary_codegen.......: ${elementary_codegen}"
726echo " elm_prefs_cc.............: ${elm_prefs_cc}" 757echo " elm_prefs_cc.............: ${elm_prefs_cc}"
727echo " eolian_gen...............: ${eolian_gen}" 758echo " eolian_gen...............: ${eolian_gen}"
759echo " eolian_cxx...............: ${eolian_cxx}"
728echo 760echo
729echo " Build elementary_test....: ${have_elementary_test}" 761echo " Build elementary_test....: ${have_elementary_test}"
730echo " Build elementary_codegen.: ${have_elementary_codegen}" 762echo " Build elementary_codegen.: ${have_elementary_codegen}"
@@ -733,10 +765,12 @@ echo " Examples.................: ${enable_build_examples}"
733echo " Examples installed.......: ${enable_install_examples}" 765echo " Examples installed.......: ${enable_install_examples}"
734echo " Build elementary_config..: ${have_elementary_config}" 766echo " Build elementary_config..: ${have_elementary_config}"
735echo " Enable debug.............: ${want_elementary_debug}" 767echo " Enable debug.............: ${want_elementary_debug}"
768echo " Enable C++...............: ${have_cxx11}"
736echo 769echo
737echo "Compilation................: make (or gmake)" 770echo "Compilation................: make (or gmake)"
738echo " CPPFLAGS.................: $CPPFLAGS" 771echo " CPPFLAGS.................: $CPPFLAGS"
739echo " CFLAGS...................: $CFLAGS" 772echo " CFLAGS...................: $CFLAGS"
773echo " CXXFLAGS.................: $CXXFLAGS"
740echo " LDFLAGS..................: $LDFLAGS" 774echo " LDFLAGS..................: $LDFLAGS"
741echo 775echo
742if test "${build_tests}" = "none"; then 776if test "${build_tests}" = "none"; then
diff --git a/m4/efl_stdcxx_11.m4 b/m4/efl_stdcxx_11.m4
new file mode 100644
index 000000000..cdd3934c5
--- /dev/null
+++ b/m4/efl_stdcxx_11.m4
@@ -0,0 +1,133 @@
1# ============================================================================
2# http://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx_11.html
3# ============================================================================
4#
5# SYNOPSIS
6#
7# AX_CXX_COMPILE_STDCXX_11([ext|noext],[mandatory|optional])
8#
9# DESCRIPTION
10#
11# Check for baseline language coverage in the compiler for the C++11
12# standard; if necessary, add switches to CXXFLAGS to enable support.
13#
14# The first argument, if specified, indicates whether you insist on an
15# extended mode (e.g. -std=gnu++11) or a strict conformance mode (e.g.
16# -std=c++11). If neither is specified, you get whatever works, with
17# preference for an extended mode.
18#
19# The second argument, if specified 'mandatory' or if left unspecified,
20# indicates that baseline C++11 support is required and that the macro
21# should error out if no mode with that support is found. If specified
22# 'optional', then configuration proceeds regardless, after defining
23# HAVE_CXX11 if and only if a supporting mode is found.
24#
25# LICENSE
26#
27# Copyright (c) 2008 Benjamin Kosnik <bkoz@redhat.com>
28# Copyright (c) 2012 Zack Weinberg <zackw@panix.com>
29# Copyright (c) 2013 Roy Stogner <roystgnr@ices.utexas.edu>
30#
31# Copying and distribution of this file, with or without modification, are
32# permitted in any medium without royalty provided the copyright notice
33# and this notice are preserved. This file is offered as-is, without any
34# warranty.
35
36#serial 3
37
38m4_define([_EFL_CXX_COMPILE_STDCXX_11_testbody], [
39 template <typename T>
40 struct check
41 {
42 static_assert(sizeof(int) <= sizeof(T), "not big enough");
43 };
44
45 typedef check<check<bool>> right_angle_brackets;
46
47 int a;
48 decltype(a) b;
49
50 typedef check<int> check_type;
51 check_type c;
52 check_type&& cr = static_cast<check_type&&>(c);
53
54 auto d = a;
55])
56
57AC_DEFUN([EFL_CXX_COMPILE_STDCXX_11], [dnl
58 m4_if([$1], [], [],
59 [$1], [ext], [],
60 [$1], [noext], [],
61 [m4_fatal([invalid argument `$1' to AX_CXX_COMPILE_STDCXX_11])])dnl
62 m4_if([$2], [], [ax_cxx_compile_cxx11_required=true],
63 [$2], [mandatory], [ax_cxx_compile_cxx11_required=true],
64 [$2], [optional], [ax_cxx_compile_cxx11_required=false],
65 [m4_fatal([invalid second argument `$2' to AX_CXX_COMPILE_STDCXX_11])])dnl
66 AC_LANG_PUSH([C++])dnl
67 ac_success=no
68 AC_CACHE_CHECK(whether $CXX supports C++11 features by default,
69 ax_cv_cxx_compile_cxx11,
70 [AC_COMPILE_IFELSE([AC_LANG_SOURCE([_EFL_CXX_COMPILE_STDCXX_11_testbody])],
71 [ax_cv_cxx_compile_cxx11=yes],
72 [ax_cv_cxx_compile_cxx11=no])])
73 if test x$ax_cv_cxx_compile_cxx11 = xyes; then
74 ac_success=yes
75 fi
76
77 m4_if([$1], [noext], [], [dnl
78 if test x$ac_success = xno; then
79 for switch in -std=gnu++11; do
80 cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx11_$switch])
81 AC_CACHE_CHECK(whether $CXX supports C++11 features with $switch,
82 $cachevar,
83 [ac_save_CXXFLAGS="$CXXFLAGS"
84 CXXFLAGS="$CXXFLAGS $switch"
85 AC_COMPILE_IFELSE([AC_LANG_SOURCE([_EFL_CXX_COMPILE_STDCXX_11_testbody])],
86 [eval $cachevar=yes],
87 [eval $cachevar=no])
88 CXXFLAGS="$ac_save_CXXFLAGS"])
89 if eval test x\$$cachevar = xyes; then
90 CXXFLAGS="$CXXFLAGS $switch"
91 ac_success=yes
92 break
93 fi
94 done
95 fi])
96
97 m4_if([$1], [ext], [], [dnl
98 if test x$ac_success = xno; then
99 for switch in -std=c++11; do
100 cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx11_$switch])
101 AC_CACHE_CHECK(whether $CXX supports C++11 features with $switch,
102 $cachevar,
103 [ac_save_CXXFLAGS="$CXXFLAGS"
104 CXXFLAGS="$CXXFLAGS $switch"
105 AC_COMPILE_IFELSE([AC_LANG_SOURCE([_EFL_CXX_COMPILE_STDCXX_11_testbody])],
106 [eval $cachevar=yes],
107 [eval $cachevar=no])
108 CXXFLAGS="$ac_save_CXXFLAGS"])
109 if eval test x\$$cachevar = xyes; then
110 CXXFLAGS="$CXXFLAGS $switch"
111 ac_success=yes
112 break
113 fi
114 done
115 fi])
116 AC_LANG_POP([C++])
117 if test x$ax_cxx_compile_cxx11_required = xtrue; then
118 if test x$ac_success = xno; then
119 AC_MSG_ERROR([*** A compiler with support for C++11 language features is required.])
120 fi
121 else
122 if test x$ac_success = xno; then
123 HAVE_CXX11=0
124 AC_MSG_NOTICE([No compiler with C++11 support was found])
125 else
126 HAVE_CXX11=1
127 AC_DEFINE(HAVE_CXX11,1,
128 [define if the compiler supports basic C++11 syntax])
129 fi
130
131 AC_SUBST(HAVE_CXX11)
132 fi
133])
diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am
index 887dfe82d..f535b9369 100644
--- a/src/lib/Makefile.am
+++ b/src/lib/Makefile.am
@@ -7,6 +7,7 @@ EOLIAN_FLAGS = @DEPS_EOLIAN_FLAGS@ \
7 -I$(top_srcdir)/src/lib 7 -I$(top_srcdir)/src/lib
8 8
9include $(top_srcdir)/Makefile_Eolian_Helper.am 9include $(top_srcdir)/Makefile_Eolian_Helper.am
10include $(top_srcdir)/Makefile_Eolian_Cxx_Helper.am
10 11
11AM_CPPFLAGS = \ 12AM_CPPFLAGS = \
12-DELM_INTERNAL_API_ARGESFSDFEFC=1 \ 13-DELM_INTERNAL_API_ARGESFSDFEFC=1 \
@@ -533,6 +534,95 @@ elm_factory.h \
533elm_factory.c \ 534elm_factory.c \
534elm_intro.h.in 535elm_intro.h.in
535 536
537elm_eolian_sources = \
538elm_widget.eo \
539elm_container.eo \
540elm_layout.eo \
541elm_interface_scrollable.eo \
542elm_pan.eo \
543elm_frame.eo \
544elm_hover.eo \
545elm_access.eo \
546elm_actionslider.eo \
547elm_app_client.eo \
548elm_app_client_view.eo \
549elm_app_server.eo \
550elm_app_server_view.eo \
551elm_atspi_app_object.eo \
552elm_interface_atspi_accessible.eo \
553elm_interface_atspi_action.eo \
554elm_interface_atspi_component.eo \
555elm_interface_atspi_value.eo \
556elm_interface_atspi_widget.eo \
557elm_interface_atspi_widget_action.eo \
558elm_interface_atspi_window.eo \
559elm_bg.eo \
560elm_box.eo \
561elm_bubble.eo \
562elm_button.eo \
563elm_calendar.eo \
564elm_check.eo \
565elm_clock.eo \
566elm_colorselector.eo \
567elm_conformant.eo \
568elc_ctxpopup.eo \
569elm_datetime.eo \
570elm_dayselector.eo \
571elm_diskselector.eo \
572elm_entry.eo \
573elc_fileselector.eo \
574elc_fileselector_button.eo \
575elc_fileselector_entry.eo \
576elm_flipselector.eo \
577elm_flip.eo \
578elm_gengrid.eo \
579elm_gengrid_pan.eo \
580elm_genlist.eo \
581elm_genlist_pan.eo \
582elm_gesture_layer.eo \
583elm_glview.eo \
584elm_grid.eo \
585elc_hoversel.eo \
586elm_image.eo \
587elm_icon.eo \
588elm_index.eo \
589elm_interface_fileselector.eo \
590elm_inwin.eo \
591elm_label.eo \
592elm_list.eo \
593elm_map_pan.eo \
594elm_map.eo \
595elm_menu.eo \
596elc_multibuttonentry.eo \
597elc_naviframe.eo \
598elm_panel.eo \
599elm_mapbuf.eo \
600elm_notify.eo \
601elm_panes.eo \
602elm_photocam.eo \
603elm_photocam_pan.eo \
604elm_photo.eo \
605elc_player.eo \
606elm_plug.eo \
607elc_popup.eo \
608elm_prefs.eo \
609elm_progressbar.eo \
610elm_radio.eo \
611elm_route.eo \
612elm_scroller.eo \
613elm_segment_control.eo \
614elm_separator.eo \
615elm_slider.eo \
616elm_slideshow.eo \
617elm_spinner.eo \
618elm_systray.eo \
619elm_table.eo \
620elm_thumb.eo \
621elm_toolbar.eo \
622elm_video.eo \
623elm_web.eo \
624elm_win.eo
625
536BUILT_SOURCES = \ 626BUILT_SOURCES = \
537 elm_widget.eo.c \ 627 elm_widget.eo.c \
538 elm_widget.eo.h \ 628 elm_widget.eo.h \
@@ -874,8 +964,195 @@ elementaryeolianfiles_DATA = \
874 elm_web.eo \ 964 elm_web.eo \
875 elm_win.eo 965 elm_win.eo
876 966
877EXTRA_DIST += \ 967if HAVE_CXX11
878 ${elementaryeolianfiles_DATA} 968BUILT_SOURCES += \
969 elm_widget.eo.hh \
970 elm_container.eo.hh \
971 elm_layout.eo.hh \
972 elm_interface_scrollable.eo.hh \
973 elm_pan.eo.hh \
974 elm_frame.eo.hh \
975 elm_hover.eo.hh \
976 elm_access.eo.hh \
977 elm_actionslider.eo.hh \
978 elm_app_client.eo.hh \
979 elm_app_client_view.eo.hh \
980 elm_app_server.eo.hh \
981 elm_app_server_view.eo.hh \
982 elm_atspi_app_object.eo.hh \
983 elm_interface_atspi_accessible.eo.hh \
984 elm_interface_atspi_action.eo.hh \
985 elm_interface_atspi_component.eo.hh \
986 elm_interface_atspi_editable_text.eo.hh \
987 elm_interface_atspi_image.eo.hh \
988 elm_interface_atspi_selection.eo.hh \
989 elm_interface_atspi_text.eo.hh \
990 elm_interface_atspi_value.eo.hh \
991 elm_interface_atspi_widget.eo.hh \
992 elm_interface_atspi_widget_action.eo.hh \
993 elm_interface_atspi_window.eo.hh \
994 elm_bg.eo.hh \
995 elm_box.eo.hh \
996 elm_bubble.eo.hh \
997 elm_button.eo.hh \
998 elm_calendar.eo.hh \
999 elm_check.eo.hh \
1000 elm_clock.eo.hh \
1001 elm_colorselector.eo.hh \
1002 elm_conformant.eo.hh \
1003 elc_ctxpopup.eo.hh \
1004 elm_datetime.eo.hh \
1005 elm_dayselector.eo.hh \
1006 elm_diskselector.eo.hh \
1007 elm_entry.eo.hh \
1008 elc_fileselector.eo.hh \
1009 elc_fileselector_button.eo.hh \
1010 elc_fileselector_entry.eo.hh \
1011 elm_flipselector.eo.hh \
1012 elm_flip.eo.hh \
1013 elm_gengrid.eo.hh \
1014 elm_gengrid_pan.eo.hh \
1015 elm_genlist.eo.hh \
1016 elm_genlist_pan.eo.hh \
1017 elm_gesture_layer.eo.hh \
1018 elm_glview.eo.hh \
1019 elm_grid.eo.hh \
1020 elc_hoversel.eo.hh \
1021 elm_image.eo.hh \
1022 elm_icon.eo.hh \
1023 elm_index.eo.hh \
1024 elm_interface_fileselector.eo.hh \
1025 elm_inwin.eo.hh \
1026 elm_label.eo.hh \
1027 elm_list.eo.hh \
1028 elm_map_pan.eo.hh \
1029 elm_map.eo.hh \
1030 elm_menu.eo.hh \
1031 elc_multibuttonentry.eo.hh \
1032 elc_naviframe.eo.hh \
1033 elm_panel.eo.hh \
1034 elm_mapbuf.eo.hh \
1035 elm_notify.eo.hh \
1036 elm_panes.eo.hh \
1037 elm_photocam.eo.hh \
1038 elm_photocam_pan.eo.hh \
1039 elm_photo.eo.hh \
1040 elc_player.eo.hh \
1041 elm_plug.eo.hh \
1042 elc_popup.eo.hh \
1043 elm_prefs.eo.hh \
1044 elm_progressbar.eo.hh \
1045 elm_radio.eo.hh \
1046 elm_route.eo.hh \
1047 elm_scroller.eo.hh \
1048 elm_segment_control.eo.hh \
1049 elm_separator.eo.hh \
1050 elm_slider.eo.hh \
1051 elm_slideshow.eo.hh \
1052 elm_spinner.eo.hh \
1053 elm_systray.eo.hh \
1054 elm_table.eo.hh \
1055 elm_thumb.eo.hh \
1056 elm_toolbar.eo.hh \
1057 elm_video.eo.hh \
1058 elm_web.eo.hh \
1059 elm_win.eo.hh
1060
1061nodist_includesunstable_HEADERS = \
1062 elm_widget.eo.hh \
1063 elm_container.eo.hh \
1064 elm_layout.eo.hh \
1065 elm_interface_scrollable.eo.hh \
1066 elm_pan.eo.hh \
1067 elm_frame.eo.hh \
1068 elm_hover.eo.hh \
1069 elm_access.eo.hh \
1070 elm_actionslider.eo.hh \
1071 elm_app_client.eo.hh \
1072 elm_app_client_view.eo.hh \
1073 elm_app_server.eo.hh \
1074 elm_app_server_view.eo.hh \
1075 elm_atspi_app_object.eo.hh \
1076 elm_interface_atspi_accessible.eo.hh \
1077 elm_interface_atspi_action.eo.hh \
1078 elm_interface_atspi_component.eo.hh \
1079 elm_interface_atspi_editable_text.eo.hh \
1080 elm_interface_atspi_image.eo.hh \
1081 elm_interface_atspi_selection.eo.hh \
1082 elm_interface_atspi_text.eo.hh \
1083 elm_interface_atspi_value.eo.hh \
1084 elm_interface_atspi_widget.eo.hh \
1085 elm_interface_atspi_widget_action.eo.hh \
1086 elm_interface_atspi_window.eo.hh \
1087 elm_bg.eo.hh \
1088 elm_box.eo.hh \
1089 elm_bubble.eo.hh \
1090 elm_button.eo.hh \
1091 elm_calendar.eo.hh \
1092 elm_check.eo.hh \
1093 elm_clock.eo.hh \
1094 elm_colorselector.eo.hh \
1095 elm_conformant.eo.hh \
1096 elc_ctxpopup.eo.hh \
1097 elm_datetime.eo.hh \
1098 elm_dayselector.eo.hh \
1099 elm_diskselector.eo.hh \
1100 elm_entry.eo.hh \
1101 elc_fileselector.eo.hh \
1102 elc_fileselector_button.eo.hh \
1103 elc_fileselector_entry.eo.hh \
1104 elm_flipselector.eo.hh \
1105 elm_flip.eo.hh \
1106 elm_gengrid.eo.hh \
1107 elm_gengrid_pan.eo.hh \
1108 elm_genlist.eo.hh \
1109 elm_genlist_pan.eo.hh \
1110 elm_gesture_layer.eo.hh \
1111 elm_glview.eo.hh \
1112 elm_grid.eo.hh \
1113 elc_hoversel.eo.hh \
1114 elm_image.eo.hh \
1115 elm_icon.eo.hh \
1116 elm_index.eo.hh \
1117 elm_interface_fileselector.eo.hh \
1118 elm_inwin.eo.hh \
1119 elm_label.eo.hh \
1120 elm_list.eo.hh \
1121 elm_map_pan.eo.hh \
1122 elm_map.eo.hh \
1123 elm_menu.eo.hh \
1124 elc_multibuttonentry.eo.hh \
1125 elc_naviframe.eo.hh \
1126 elm_panel.eo.hh \
1127 elm_mapbuf.eo.hh \
1128 elm_notify.eo.hh \
1129 elm_panes.eo.hh \
1130 elm_photocam.eo.hh \
1131 elm_photocam_pan.eo.hh \
1132 elm_photo.eo.hh \
1133 elc_player.eo.hh \
1134 elm_plug.eo.hh \
1135 elc_popup.eo.hh \
1136 elm_prefs.eo.hh \
1137 elm_progressbar.eo.hh \
1138 elm_radio.eo.hh \
1139 elm_route.eo.hh \
1140 elm_scroller.eo.hh \
1141 elm_segment_control.eo.hh \
1142 elm_separator.eo.hh \
1143 elm_slider.eo.hh \
1144 elm_slideshow.eo.hh \
1145 elm_spinner.eo.hh \
1146 elm_systray.eo.hh \
1147 elm_table.eo.hh \
1148 elm_thumb.eo.hh \
1149 elm_toolbar.eo.hh \
1150 elm_video.eo.hh \
1151 elm_web.eo.hh \
1152 elm_win.eo.hh
1153endif
1154
1155EXTRA_DIST += ${elementaryeolianfiles_DATA}
879 1156
880nodist_includesunstable_HEADERS = \ 1157nodist_includesunstable_HEADERS = \
881 elm_widget.eo.h \ 1158 elm_widget.eo.h \
@@ -1032,3 +1309,4 @@ nodist_includesunstable_HEADERS = \
1032 elm_video.eo.legacy.h \ 1309 elm_video.eo.legacy.h \
1033 elm_web.eo.legacy.h \ 1310 elm_web.eo.legacy.h \
1034 elm_win.eo.legacy.h 1311 elm_win.eo.legacy.h
1312
diff --git a/src/tests/Makefile.am b/src/tests/Makefile.am
index 12fc454a5..bc810b482 100644
--- a/src/tests/Makefile.am
+++ b/src/tests/Makefile.am
@@ -98,3 +98,37 @@ elm_suite_LDADD = \
98 @ELEMENTARY_LIBS@ \ 98 @ELEMENTARY_LIBS@ \
99 @ELEMENTARY_WEB_LIBS@ \ 99 @ELEMENTARY_WEB_LIBS@ \
100 @my_libs@ 100 @my_libs@
101
102if HAVE_CXX11
103TESTS += elm_cxx_suite
104check_PROGRAMS = elm_cxx_suite
105
106elm_cxx_suite_SOURCES = elm_cxx_suite.cc
107elm_cxx_suite_CPPFLAGS = \
108 -DTESTS_BUILD_DIR=\"${top_builddir}/src/tests\" \
109 -I$(top_srcdir)/src/lib \
110 -I$(top_builddir)/src/lib \
111 @CHECK_CFLAGS@ \
112 @ELEMENTARY_CFLAGS@ \
113 @ELEMENTARY_X_CFLAGS@ \
114 @ELEMENTARY_CXX_CFLAGS@ \
115 @ELEMENTARY_FB_CFLAGS@ \
116 @ELEMENTARY_SDL_CFLAGS@ \
117 @ELEMENTARY_WIN32_CFLAGS@ \
118 @ELEMENTARY_ELOCATION_CFLAGS@ \
119 @ELEMENTARY_EWEATHER_CFLAGS@ \
120 @ELEMENTARY_WEB_CFLAGS@ \
121 @ELEMENTARY_EMAP_CFLAGS@ \
122 @ELEMENTARY_WAYLAND_CFLAGS@ \
123 @EVIL_CFLAGS@
124
125elm_cxx_suite_LDADD = \
126 $(top_builddir)/src/lib/libelementary.la \
127 @CHECK_LIBS@ \
128 @ELEMENTARY_EWEATHER_LIBS@ \
129 @ELEMENTARY_ELOCATION_LIBS@ \
130 @ELEMENTARY_EMAP_LIBS@ \
131 @ELEMENTARY_LIBS@ \
132 @ELEMENTARY_WEB_LIBS@ \
133 @my_libs@
134endif
diff --git a/src/tests/elm_cxx_suite.cc b/src/tests/elm_cxx_suite.cc
new file mode 100644
index 000000000..6af675dab
--- /dev/null
+++ b/src/tests/elm_cxx_suite.cc
@@ -0,0 +1,117 @@
1
2#ifdef HAVE_CONFIG_H
3# include "elementary_config.h"
4#endif
5
6#define ELM_INTERNAL_API_ARGESFSDFEFC
7#define ELM_INTERFACE_ATSPI_ACCESSIBLE_PROTECTED
8#define ELM_INTERFACE_ATSPI_COMPONENT_PROTECTED
9#define ELM_INTERFACE_ATSPI_ACTION_PROTECTED
10#define ELM_INTERFACE_ATSPI_VALUE_PROTECTED
11#define ELM_INTERFACE_ATSPI_EDITABLE_TEXT_PROTECTED
12#define ELM_INTERFACE_ATSPI_TEXT_PROTECTED
13#define ELM_INTERFACE_ATSPI_SELECTION_PROTECTED
14#define ELM_INTERFACE_ATSPI_IMAGE_PROTECTED
15#define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED
16
17#include <Eo.h>
18#include <Evas.h>
19#include <Elementary.h>
20#include <elm_widget.h>
21#include <elm_interface_atspi_accessible.h>
22
23#include <elc_ctxpopup.eo.hh>
24#include <elc_fileselector_button.eo.hh>
25#include <elc_fileselector_entry.eo.hh>
26#include <elc_fileselector.eo.hh>
27#include <elc_hoversel.eo.hh>
28#include <elc_multibuttonentry.eo.hh>
29#include <elc_naviframe.eo.hh>
30#include <elc_player.eo.hh>
31#include <elc_popup.eo.hh>
32#include <elm_access.eo.hh>
33#include <elm_actionslider.eo.hh>
34#include <elm_app_client.eo.hh>
35#include <elm_app_client_view.eo.hh>
36#include <elm_app_server.eo.hh>
37#include <elm_app_server_view.eo.hh>
38#include <elm_atspi_app_object.eo.hh>
39#include <elm_bg.eo.hh>
40#include <elm_box.eo.hh>
41#include <elm_bubble.eo.hh>
42#include <elm_button.eo.hh>
43#include <elm_calendar.eo.hh>
44#include <elm_check.eo.hh>
45#include <elm_clock.eo.hh>
46#include <elm_colorselector.eo.hh>
47#include <elm_conformant.eo.hh>
48#include <elm_container.eo.hh>
49#include <elm_datetime.eo.hh>
50#include <elm_dayselector.eo.hh>
51#include <elm_diskselector.eo.hh>
52#include <elm_entry.eo.hh>
53#include <elm_flip.eo.hh>
54#include <elm_flipselector.eo.hh>
55#include <elm_frame.eo.hh>
56#include <elm_gengrid.eo.hh>
57#include <elm_gengrid_pan.eo.hh>
58#include <elm_genlist.eo.hh>
59#include <elm_genlist_pan.eo.hh>
60#include <elm_gesture_layer.eo.hh>
61#include <elm_glview.eo.hh>
62#include <elm_grid.eo.hh>
63#include <elm_hover.eo.hh>
64#include <elm_icon.eo.hh>
65#include <elm_image.eo.hh>
66#include <elm_index.eo.hh>
67#include <elm_interface_atspi_accessible.eo.hh>
68#include <elm_interface_atspi_action.eo.hh>
69#include <elm_interface_atspi_component.eo.hh>
70#include <elm_interface_atspi_editable_text.eo.hh>
71#include <elm_interface_atspi_image.eo.hh>
72#include <elm_interface_atspi_selection.eo.hh>
73#include <elm_interface_atspi_text.eo.hh>
74#include <elm_interface_atspi_value.eo.hh>
75#include <elm_interface_atspi_widget_action.eo.hh>
76#include <elm_interface_atspi_widget.eo.hh>
77#include <elm_interface_atspi_window.eo.hh>
78#include <elm_interface_fileselector.eo.hh>
79#include <elm_interface_scrollable.eo.hh>
80#include <elm_inwin.eo.hh>
81#include <elm_label.eo.hh>
82#include <elm_layout.eo.hh>
83#include <elm_list.eo.hh>
84#include <elm_mapbuf.eo.hh>
85#include <elm_map.eo.hh>
86#include <elm_map_pan.eo.hh>
87#include <elm_menu.eo.hh>
88#include <elm_notify.eo.hh>
89#include <elm_panel.eo.hh>
90#include <elm_pan.eo.hh>
91#include <elm_panes.eo.hh>
92#include <elm_photocam.eo.hh>
93#include <elm_photocam_pan.eo.hh>
94#include <elm_photo.eo.hh>
95#include <elm_plug.eo.hh>
96#include <elm_prefs.eo.hh>
97#include <elm_progressbar.eo.hh>
98#include <elm_radio.eo.hh>
99#include <elm_route.eo.hh>
100#include <elm_scroller.eo.hh>
101#include <elm_segment_control.eo.hh>
102#include <elm_separator.eo.hh>
103#include <elm_slider.eo.hh>
104#include <elm_slideshow.eo.hh>
105#include <elm_spinner.eo.hh>
106#include <elm_systray.eo.hh>
107#include <elm_table.eo.hh>
108#include <elm_thumb.eo.hh>
109#include <elm_toolbar.eo.hh>
110#include <elm_video.eo.hh>
111#include <elm_web.eo.hh>
112#include <elm_widget.eo.hh>
113#include <elm_win.eo.hh>
114
115int main()
116{
117}