summaryrefslogtreecommitdiff
path: root/src/Makefile_Efl_Mono.am
diff options
context:
space:
mode:
Diffstat (limited to 'src/Makefile_Efl_Mono.am')
-rw-r--r--src/Makefile_Efl_Mono.am152
1 files changed, 102 insertions, 50 deletions
diff --git a/src/Makefile_Efl_Mono.am b/src/Makefile_Efl_Mono.am
index 7cfa20d4da..78ebc073ec 100644
--- a/src/Makefile_Efl_Mono.am
+++ b/src/Makefile_Efl_Mono.am
@@ -3,7 +3,6 @@ efl_custom_exports_mono_files = \
lib/efl_mono/efl_custom_exports_mono.c
efl_eo_mono_files = \
- bindings/mono/eo_mono/object.cs \
bindings/mono/eo_mono/iwrapper.cs \
bindings/mono/eo_mono/workaround.cs
@@ -22,7 +21,10 @@ efl_eina_mono_files = \
bindings/mono/eina_mono/eina_slice.cs \
bindings/mono/eina_mono/eina_stringshare.cs \
bindings/mono/eina_mono/eina_error.cs \
- bindings/mono/eina_mono/eina_value.cs
+ bindings/mono/eina_mono/eina_value.cs \
+ bindings/mono/eina_mono/eina_promises.cs \
+ bindings/mono/eina_mono/eina_accessor.cs \
+ bindings/mono/eina_mono/eina_strbuf.cs
efl_eldbus_mono_files = \
bindings/mono/eldbus_mono/eldbus_common.cs \
@@ -37,6 +39,8 @@ efl_eldbus_mono_files = \
efl_ecore_evas_mono_files = \
bindings/mono/ecore_evas_mono/ecore_evas.cs
+# Static C# source files don't go into a _SOURCES var as the dll target
+# is custom built instead of through _LTLIBRARIES/_LIBRARIES
lib_efl_mono_libefl_mono_dll_sources = \
bindings/mono/efl_mono/efl_all.cs \
$(efl_eo_mono_files) \
@@ -44,16 +48,49 @@ lib_efl_mono_libefl_mono_dll_sources = \
$(efl_eldbus_mono_files) \
$(efl_ecore_evas_mono_files)
+efl_mono_test_files = \
+ tests/efl_mono/test_testing.eo \
+ tests/efl_mono/test_child.eo \
+ tests/efl_mono/test_numberwrapper.eo \
+ tests/efl_mono/mono_test_driver.sh
+
EXTRA_DIST2 += \
-bindings/mono/efl_mono/efl_libs.cs.in \
-bindings/mono/efl_mono/efl_libs.csv.in
+ $(lib_efl_mono_libefl_mono_dll_sources) \
+ $(efl_mono_test_files) \
+ bindings/mono/efl_mono/efl_libs.cs.in \
+ bindings/mono/efl_mono/efl_libs.csv.in
if HAVE_CSHARP
bin_PROGRAMS += bin/eolian_mono/eolian_mono
bin_eolian_mono_eolian_mono_SOURCES = \
- bin/eolian_mono/eolian_mono.cc
+ bin/eolian_mono/eolian_mono.cc \
+ bin/eolian_mono/eolian/mono/documentation.hh \
+ bin/eolian_mono/eolian/mono/type.hh \
+ bin/eolian_mono/eolian/mono/marshall_annotation.hh \
+ bin/eolian_mono/eolian/mono/async_function_definition.hh \
+ bin/eolian_mono/eolian/mono/function_pointer.hh \
+ bin/eolian_mono/eolian/mono/function_definition.hh \
+ bin/eolian_mono/eolian/mono/name_helpers.hh \
+ bin/eolian_mono/eolian/mono/function_declaration.hh \
+ bin/eolian_mono/eolian/mono/helpers.hh \
+ bin/eolian_mono/eolian/mono/function_helpers.hh \
+ bin/eolian_mono/eolian/mono/marshall_type_impl.hh \
+ bin/eolian_mono/eolian/mono/function_registration.hh \
+ bin/eolian_mono/eolian/mono/enum_definition.hh \
+ bin/eolian_mono/eolian/mono/struct_definition.hh \
+ bin/eolian_mono/eolian/mono/part_definition.hh \
+ bin/eolian_mono/eolian/mono/struct_fields.hh \
+ bin/eolian_mono/eolian/mono/parameter.hh \
+ bin/eolian_mono/eolian/mono/utils.hh \
+ bin/eolian_mono/eolian/mono/using_decl.hh \
+ bin/eolian_mono/eolian/mono/marshall_type.hh \
+ bin/eolian_mono/eolian/mono/klass.hh \
+ bin/eolian_mono/eolian/mono/type_impl.hh \
+ bin/eolian_mono/eolian/mono/events.hh \
+ bin/eolian_mono/eolian/mono/generation_contexts.hh
+
bin_eolian_mono_eolian_mono_CXXFLAGS = -I$(top_builddir)/src/lib/efl \
-I$(top_srcdir)/src/lib/eolian_cxx/ \
-I$(top_srcdir)/src/bin/eolian_mono/ \
@@ -82,7 +119,7 @@ lib/evas/canvas/evas_canvas3d_object.eo.cs \
lib/evas/canvas/evas_canvas3d_primitive.eo.cs \
lib/evas/canvas/evas_canvas3d_scene.eo.cs \
lib/evas/canvas/evas_canvas3d_texture.eo.cs \
-lib/evas/canvas/efl_canvas_vg.eo.cs \
+lib/evas/canvas/efl_canvas_vg_object.eo.cs \
lib/evas/canvas/efl_vg.eo.cs \
lib/evas/canvas/efl_vg_container.eo.cs \
lib/evas/canvas/efl_vg_gradient.eo.cs \
@@ -93,18 +130,9 @@ lib/evas/canvas/efl_vg_shape.eo.cs
efl_eolian_blacklisted_files = \
lib/efl/interfaces/efl_io_buffer.eo.cs \
-lib/efl/interfaces/efl_io_closer.eo.cs \
lib/efl/interfaces/efl_io_positioner.eo.cs \
lib/efl/interfaces/efl_io_queue.eo.cs \
-lib/efl/interfaces/efl_io_reader.eo.cs \
-lib/efl/interfaces/efl_io_sizer.eo.cs \
-lib/efl/interfaces/efl_io_writer.eo.cs \
-lib/efl/interfaces/efl_text_properties.eo.cs \
-lib/efl/interfaces/efl_gfx_buffer.eo.cs \
-lib/efl/interfaces/efl_gfx_shape.eo.cs \
-lib/efl/interfaces/efl_gfx_gradient.eo.cs \
-lib/efl/interfaces/efl_gfx_gradient_linear.eo.cs \
-lib/efl/interfaces/efl_gfx_gradient_radial.eo.cs
+lib/efl/interfaces/efl_io_sizer.eo.cs
ecore_eolian_blacklisted_files = \
lib/ecore/efl_io_closer_fd.eo.cs \
@@ -134,6 +162,13 @@ lib/elementary/elm_genlist_item.eo.cs \
lib/elementary/elm_gengrid.eo.cs \
lib/elementary/elm_glview.eo.cs
+efl_mono_blacklisted_files = \
+$(evas_eolian_blacklisted_files) \
+$(efl_eolian_blacklisted_files) \
+$(ecore_eolian_blacklisted_files) \
+$(eo_eolian_blacklisted_files) \
+$(elementary_eolian_blacklisted_files)
+
efl_eolian_mono_files = \
$(filter-out $(eo_eolian_blacklisted_files),$(eo_eolian_files:%.eo=%.eo.cs)) \
$(filter-out $(ecore_eolian_blacklisted_files),$(ecore_eolian_files_public:%.eo=%.eo.cs)) \
@@ -150,12 +185,11 @@ lib/evas/canvas/evas_image.eo.cs \
lib/evas/canvas/efl_canvas_image.eo.cs \
lib/evas/canvas/evas_table.eo.cs \
lib/evas/canvas/evas_text.eo.cs \
-lib/efl/interfaces/efl_text_properties.eo.cs \
$(evas_canvas_eolian_type_files:%.eot=%.eot.cs) \
-lib/eo/eina_types.eot.cs
+lib/eo/eina_types.eot.cs \
+lib/ecore/efl_loop_timer.eo.cs
efl_mono_files_gen =\
-$(lib_efl_mono_libefl_mono_dll_sources) \
$(efl_eolian_mono_files) \
$(builddir)/bindings/mono/efl_mono/efl_libs.cs
@@ -163,12 +197,15 @@ $(builddir)/bindings/mono/efl_mono/efl_libs.cs
installed_eflmonomainheadersdir = $(includedir)/efl-mono-@VMAJ@/
nodist_installed_eflmonomainheaders_DATA = $(efl_eolian_files:%.eo=%.eo.cs) $(builddir)/bindings/mono/efl_mono/efl_libs.csv
-CLEANFILES += $(efl_mono_files_gen)
+CLEANFILES += $(efl_mono_files_gen) $(efl_mono_blacklisted_files) \
+ $(builddir)/lib/efl_mono/libefl_mono.dll \
+ $(builddir)/lib/efl_mono/libefl_mono.xml \
+ $(builddir)/lib/efl_mono/libefl_mono.dll.config
if HAVE_WIN32
-MCS_FLAGS := $(MCS_FLAGS)
-MCS_FLAGS += -define:WIN32
+MCSFLAGS ?=
+MCSFLAGS += -define:WIN32
endif
@@ -190,11 +227,11 @@ lib_efl_mono_libeflcustomexportsmono_la_DEPENDENCIES = @EFL_CUSTOM_EXPORTS_MONO_
#Efl Mono - C Sharp binding library
-libefl_mono_dll_MCS_FLAGS = -doc:lib/efl_mono/libefl_mono.xml
+libefl_mono_dll_MCSFLAGS = -doc:lib/efl_mono/libefl_mono.xml
-lib/efl_mono/libefl_mono.dll: $(efl_mono_files_dist) lib/efl_mono/$(am__dirstamp) $(efl_mono_files_gen) lib/efl_mono/libefl_mono.dll.config
+lib/efl_mono/libefl_mono.dll: $(efl_mono_files_dist) lib/efl_mono/$(am__dirstamp) $(lib_efl_mono_libefl_mono_dll_sources) $(efl_mono_files_gen) lib/efl_mono/libefl_mono.dll.config
@rm -f lib/efl_mono/libefl_mono.dll
- $(AM_V_MCS) $(MCS) $(MCS_FLAGS) $(libefl_mono_dll_MCS_FLAGS) -out:$@ -t:library $(filter %.cs, $(^))
+ $(AM_V_MCS) $(MCS) $(MCSFLAGS) $(libefl_mono_dll_MCSFLAGS) -out:$@ -t:library $(filter %.cs, $(^))
lib/efl_mono/libefl_mono.dll.config:
echo "<configuration>" > $@
@@ -206,21 +243,21 @@ lib/efl_mono/libefl_mono.dll.config:
echo " <dllmap dll=\"elementary\" target=\"$(abs_top_builddir)/src/lib/elementary/.libs/libelementary.so\"/>" >> $@
echo "</configuration>" >> $@
-if HAVE_WIN32
-efl_mono_dll_dest = $(DESTDIR)$(bindir)
-else
-efl_mono_dll_dest = $(DESTDIR)$(libdir)/efl-mono-@VMAJ@
-endif
-
EFL_INSTALL_EXEC_HOOK += \
-$(MKDIR_P) $(efl_mono_dll_dest); \
-cp -f $(builddir)/lib/efl_mono/libefl_mono.dll $(efl_mono_dll_dest)/libefl_mono.dll; \
-cp -f $(builddir)/lib/efl_mono/libefl_mono.xml $(efl_mono_dll_dest)/libefl_mono.xml; \
+$(MKDIR_P) @eflmonodlldir@; \
+cp -f $(builddir)/lib/efl_mono/libefl_mono.dll @eflmonodlldir@/libefl_mono.dll; \
+cp -f $(builddir)/lib/efl_mono/libefl_mono.xml @eflmonodlldir@/libefl_mono.xml; \
$(MKDIR_P) $(DESTDIR)$(datadir)/efl_mono; \
cp -f $(builddir)/bindings/mono/efl_mono/efl_libs.csv $(DESTDIR)$(datadir)/efl_mono/efl_libs.csv;
all-local: lib/efl_mono/libefl_mono.dll
+uninstall-local:
+ rm -rf @eflmonodlldir@/libefl_mono.dll
+ rm -rf @eflmonodlldir@/libefl_mono.xml
+ rm -rf $(DESTDIR)$(datadir)/efl_mono
+ rm -rf src/tests/efl_mono
+
### MSBuild
@@ -267,11 +304,7 @@ WIN_ADD_TEST_PATHS = $(abs_top_builddir)/src/lib/evil/.libs:$(abs_top_builddir)/
### Rules for generating the .cs files
-if HAVE_WIN32
ALL_EO_REFS = -r $(top_builddir)/src/bindings/mono/efl_mono/efl_libs.csv
-else
-ALL_EO_REFS=
-endif
lib/eo/%.eo.cs: lib/eo/%.eo $(_EOLIAN_MONO_DEP)
$(AM_V_EOLMONO) \
@@ -351,57 +384,76 @@ tests_efl_mono_libefl_mono_native_test_la_LDFLAGS = -rpath $(abs_top_builddir)/t
tests_efl_mono_libefl_mono_native_test_la_DEPENDENCIES = @USE_EINA_INTERNAL_LIBS@ @USE_EO_INTERNAL_LIBS@ @USE_ECORE_INTERNAL_LIBS@ @USE_ELDBUS_INTERNAL_LIBS@
tests_efl_mono_libefl_mono_native_test_la_LIBTOOLFLAGS = --tag=disable-static
-tests/efl_mono/libefl_mono_native_test.c: tests/efl_mono/test_testing.eo.h tests/efl_mono/test_testing.eo.c tests/efl_mono/test_numberwrapper.eo.h tests/efl_mono/test_numberwrapper.eo.c
+tests/efl_mono/libefl_mono_native_test.c: tests/efl_mono/test_testing.eo.h tests/efl_mono/test_testing.eo.c tests/efl_mono/test_child.eo.h tests/efl_mono/test_child.eo.c tests/efl_mono/test_numberwrapper.eo.h tests/efl_mono/test_numberwrapper.eo.c
# Intermediate C Sharp test DLL
efl_mono_test_eolian_mono_files = tests/efl_mono/test_testing.eo.cs \
+tests/efl_mono/test_child.eo.cs \
tests/efl_mono/test_numberwrapper.eo.cs
-tests/efl_mono/libefl_mono_test.dll: $(efl_mono_test_eolian_mono_files) tests/efl_mono/$(am__dirstamp) lib/efl_mono/libefl_mono.dll tests/efl_mono/libefl_mono_native_test.la
+tests/efl_mono/libefl_mono_test.dll: $(efl_mono_test_eolian_mono_files) tests/efl_mono/$(am__dirstamp) lib/efl_mono/libefl_mono.dll tests/efl_mono/libefl_mono_native_test.la tests/efl_mono/libefl_mono_test.dll.config
@rm -f tests/efl_mono/libefl_mono_test.dll
- $(AM_V_MCS) $(MCS) $(MCS_FLAGS) -r:$(abs_builddir)/lib/efl_mono/libefl_mono.dll -out:$@ -t:library $(filter %.cs, $(^))
+ $(AM_V_MCS) $(MCS) $(MCSFLAGS) -r:$(abs_builddir)/lib/efl_mono/libefl_mono.dll -out:$@ -t:library $(filter %.cs, $(^))
tests/efl_mono/efl_mono$(EXEEXT).config:
echo "<configuration>" > $@
echo " <dllmap dll=\"eina\" target=\"$(abs_top_builddir)/src/lib/eina/.libs/libeina.so\"/>" >> $@
echo " <dllmap dll=\"ecore\" target=\"$(abs_top_builddir)/src/lib/ecore/.libs/libecore.so\"/>" >> $@
echo " <dllmap dll=\"eo\" target=\"$(abs_top_builddir)/src/lib/eo/.libs/libeo.so\"/>" >> $@
+ echo " <dllmap dll=\"efl\" target=\"$(abs_top_builddir)/src/lib/efl/.libs/libefl.so\"/>" >> $@
+ echo " <dllmap dll=\"evas\" target=\"$(abs_top_builddir)/src/lib/evas/.libs/libevas.so\"/>" >> $@
+ echo " <dllmap dll=\"eldbus\" target=\"$(abs_top_builddir)/src/lib/eldbus/.libs/libeldbus.so\"/>" >> $@
+ echo " <dllmap dll=\"elementary\" target=\"$(abs_top_builddir)/src/lib/elementary/.libs/libelementary.so\"/>" >> $@
+ echo "</configuration>" >> $@
+
+tests/efl_mono/libefl_mono_test.dll.config:
+ echo "<configuration>" > $@
+ echo " <dllmap dll=\"eina\" target=\"$(abs_top_builddir)/src/lib/eina/.libs/libeina.so\"/>" >> $@
+ echo " <dllmap dll=\"ecore\" target=\"$(abs_top_builddir)/src/lib/ecore/.libs/libecore.so\"/>" >> $@
+ echo " <dllmap dll=\"eo\" target=\"$(abs_top_builddir)/src/lib/eo/.libs/libeo.so\"/>" >> $@
+ echo " <dllmap dll=\"efl\" target=\"$(abs_top_builddir)/src/lib/efl/.libs/libefl.so\"/>" >> $@
echo " <dllmap dll=\"evas\" target=\"$(abs_top_builddir)/src/lib/evas/.libs/libevas.so\"/>" >> $@
echo " <dllmap dll=\"eldbus\" target=\"$(abs_top_builddir)/src/lib/eldbus/.libs/libeldbus.so\"/>" >> $@
echo " <dllmap dll=\"elementary\" target=\"$(abs_top_builddir)/src/lib/elementary/.libs/libelementary.so\"/>" >> $@
echo "</configuration>" >> $@
# C Sharp test executable
-AM_TESTS_ENVIRONMENT += MONO='mono'; export MONO;
-AM_TESTS_ENVIRONMENT += MONO_BUILDPATH='$(abs_top_builddir)'; export MONO_BUILDPATH;
-AM_TESTS_ENVIRONMENT += MONO_PATH='$(TEST_PATHS)'; export MONO_PATH;
-AM_TESTS_ENVIRONMENT += EXEEXT='$(EXEEXT)'; export EXEEXT;
+AM_TESTS_ENVIRONMENT += MONO='mono'
+AM_TESTS_ENVIRONMENT += MONO_BUILDPATH='$(abs_top_builddir)'
+AM_TESTS_ENVIRONMENT += MONO_PATH='$(TEST_PATHS)'
+AM_TESTS_ENVIRONMENT += EXEEXT='$(EXEEXT)'
if HAVE_WIN32
-AM_TESTS_ENVIRONMENT += PATH='$(PATH):$(TEST_PATHS):$(WIN_ADD_TEST_PATHS)'; export PATH;
+AM_TESTS_ENVIRONMENT += PATH='$(PATH):$(TEST_PATHS):$(WIN_ADD_TEST_PATHS)'
else
-AM_TESTS_ENVIRONMENT += LD_LIBRARY_PATH='$(LD_LIBRARY_PATH):$(TEST_PATHS)'; export LD_LIBRARY_PATH;
+AM_TESTS_ENVIRONMENT += LD_LIBRARY_PATH='$(LD_LIBRARY_PATH):$(TEST_PATHS)'
check_PROGRAMS += tests/efl_mono/efl_mono
TESTS += tests/efl_mono/mono_test_driver.sh
tests_efl_mono_efl_mono_SOURCES = \
tests/efl_mono/Main.cs \
+ tests/efl_mono/TestUtils.cs \
+ tests/efl_mono/BasicDirection.cs \
tests/efl_mono/Eina.cs \
tests/efl_mono/Eldbus.cs \
tests/efl_mono/Eo.cs \
+ tests/efl_mono/EoPromises.cs \
tests/efl_mono/Errors.cs \
tests/efl_mono/Evas.cs \
tests/efl_mono/Events.cs \
tests/efl_mono/FunctionPointers.cs \
+ tests/efl_mono/FunctionPointerMarshalling.cs \
+ tests/efl_mono/Parts.cs \
+ tests/efl_mono/Promises.cs \
+ tests/efl_mono/Strbuf.cs \
tests/efl_mono/Strings.cs \
tests/efl_mono/Structs.cs \
- tests/efl_mono/TestUtils.cs \
tests/efl_mono/Value.cs \
tests/efl_mono/ValueEolian.cs
tests/efl_mono/efl_mono$(EXEEXT): $(tests_efl_mono_efl_mono_SOURCES) tests/efl_mono/$(am__dirstamp) lib/efl_mono/libefl_mono.dll tests/efl_mono/libefl_mono_test.dll tests/efl_mono/efl_mono$(EXEEXT).config
@rm -f $@
- $(AM_V_MCS) $(MCS) $(MCS_FLAGS) -r:$(abs_top_builddir)/src/lib/efl_mono/libefl_mono.dll -r:$(abs_top_builddir)/src/tests/efl_mono/libefl_mono_test.dll -out:$@ $(filter %.cs, $(^))
+ $(AM_V_MCS) $(MCS) $(MCSFLAGS) -r:$(abs_top_builddir)/src/lib/efl_mono/libefl_mono.dll -r:$(abs_top_builddir)/src/tests/efl_mono/libefl_mono_test.dll -out:$@ $(filter %.cs, $(^))
# Rule for generating the .cs files
tests/efl_mono/%.eo.cs: tests/efl_mono/%.eo $(_EOLIAN_MONO_DEP)
@@ -409,7 +461,7 @@ tests/efl_mono/%.eo.cs: tests/efl_mono/%.eo $(_EOLIAN_MONO_DEP)
$(MKDIR_P) $(dir $@); \
$(EOLIAN_MONO) $(EOLIAN_FLAGS) $(EOLIAN_MONO_FLAGS) --dllimport "@DLIB_PREFIX_MONO@efl_mono_native_test@DLIB_SUFFIX_MONO@" -o $@ $(ALL_EO_REFS) $<
-CLEANFILES += tests/efl_mono/libefl_mono_test.dll tests/efl_mono/test_testing.eo.cs tests/efl_mono/test_numberwrapper.eo.cs tests/efl_mono/test_testing.eo.c tests/efl_mono/test_numberwrapper.eo.c tests/efl_mono/test_testing.eo.h tests/efl_mono/test_numberwrapper.eo.h
+CLEANFILES += tests/efl_mono/libefl_mono_test.dll tests/efl_mono/test_testing.eo.cs tests/efl_mono/test_child.eo.cs tests/efl_mono/test_numberwrapper.eo.cs tests/efl_mono/test_testing.eo.c tests/efl_mono/test_child.eo.c tests/efl_mono/test_numberwrapper.eo.c tests/efl_mono/test_testing.eo.h tests/efl_mono/test_child.eo.h tests/efl_mono/test_numberwrapper.eo.h tests/efl_mono/efl_mono.config
endif