efl/src
Felipe Magno de Almeida f392c5a436 efl-mono: Add support for dotnet core
Summary:
This commits adds dotnet as a supported C# platform for EFL# bindings.

Due to differences between Mono and Dotnet regarding DllImport, the
bindings now are using an imperative approach to load the function
pointers through the NativeModule and FunctionWrapper classes. These
classes handle the dlopen/LoadLibrary and dlsym/GetProcAddress calls.

Also, the previous caching of non-owned strings returned to native code
was removed until further memory checks.

We also had to create workaround for bool and chars in Structs for C#
marshaling. Going through System.Byte instead and Marshaling manually
to their respective types.

In order to actually build efl_mono.dll with dotnet right now,
issue #4782 from Meson should be fixed to make it properly detect and
used the Dotnet compiler. Also use "-Ddotnet=true" when running meson.

Fixes T7394

Reviewers: felipealmeida, vitor.sousa, bu5hm4n

Reviewed By: vitor.sousa

Subscribers: cedric

Tags: #efl

Maniphest Tasks: T7394

Differential Revision: https://phab.enlightenment.org/D8069
2019-03-01 23:58:56 -03:00
..
benchmarks eo: remove class functions from eo 2019-02-13 16:59:59 +01:00
bin efl-mono: Add support for dotnet core 2019-03-01 23:58:56 -03:00
bindings efl-mono: Add support for dotnet core 2019-03-01 23:58:56 -03:00
edje_external
examples elementary: update MVVM example to use asynchronous factory API. 2019-03-01 17:10:44 -08:00
generic replace hton and ntoh family functions with ones defined in eina 2019-02-01 14:25:35 +00:00
lib efl-mono: Add support for dotnet core 2019-03-01 23:58:56 -03:00
modules evas gl - swap with damage - look for KHR extn string too 2019-02-28 11:14:56 +00:00
scripts eolian: remove support for inlist/inarray 2019-02-28 20:28:24 +01:00
static_libs evas vg: don't access a dangling pointer. 2019-02-27 19:13:18 +09:00
tests efl-mono: Add support for dotnet core 2019-03-01 23:58:56 -03:00
wayland_protocol
Makefile.am efl-csharp: Remove legacy Evas bindings. 2019-02-25 19:21:04 -03:00
Makefile_Cxx.am
Makefile_EPhysics.am
Makefile_Ecore.am ecore: remove Efl.Container_Model_Item. 2019-02-28 13:59:50 -08:00
Makefile_Ecore_Audio.am
Makefile_Ecore_Avahi.am
Makefile_Ecore_Buffer.am
Makefile_Ecore_Cocoa.am
Makefile_Ecore_Con.am
Makefile_Ecore_Drm.am
Makefile_Ecore_Drm2.am
Makefile_Ecore_Evas.am
Makefile_Ecore_FB.am
Makefile_Ecore_File.am
Makefile_Ecore_IMF.am
Makefile_Ecore_IMF_Evas.am
Makefile_Ecore_Input.am
Makefile_Ecore_Input_Evas.am
Makefile_Ecore_Ipc.am
Makefile_Ecore_Js.am
Makefile_Ecore_SDL.am
Makefile_Ecore_Wayland.am
Makefile_Ecore_Win32.am
Makefile_Ecore_Wl2.am
Makefile_Ecore_X.am
Makefile_Ector.am
Makefile_Edje.am
Makefile_Edje_Helper.am
Makefile_Eet.am
Makefile_Eet_Helper.am
Makefile_Eeze.am
Makefile_Efl.am efl.file: improve api a bit 2019-02-27 13:17:10 -05:00
Makefile_Efl_Js.am
Makefile_Efl_Mono.am efl-mono: Add support for dotnet core 2019-03-01 23:58:56 -03:00
Makefile_Efl_Mono_MSBuild_Gen_Helper.am
Makefile_Efreet.am efreet: fix build error by using PACKAGE_SYSCONF_DIR 2019-01-04 15:16:19 +09:00
Makefile_Eina.am build: remove eina-bench-cmp from DIST list 2019-01-30 13:32:04 +01:00
Makefile_Eio.am efl_model : rename all efl_model based classes. 2019-01-31 14:59:37 +09:00
Makefile_Eldbus.am
Makefile_Elementary.am test/ui_table: add unittest for Efl.Ui.Table 2019-02-27 14:45:34 -05:00
Makefile_Elocation.am
Makefile_Elput.am
Makefile_Elua.am tests: fix elua test with autotools 2019-02-21 21:53:25 +01:00
Makefile_Elua_Helper.am
Makefile_Embryo.am
Makefile_Emile.am
Makefile_Emotion.am
Makefile_Eo.am eo: lets drop efl_interfaces 2019-02-08 10:27:27 +01:00
Makefile_Eolian.am eolian gen: generate a separate file with legacy implementations 2019-02-21 16:52:40 +01:00
Makefile_Eolian_Cxx.am eolian_cxx: make address_of test not use multiclass inheritance 2019-01-17 16:14:46 +01:00
Makefile_Eolian_Cxx_Helper.am
Makefile_Eolian_Files_Helper.am
Makefile_Eolian_Helper.am
Makefile_Eolian_Js.am
Makefile_Eolian_Js_Helper.am
Makefile_Eolian_Mono_Helper.am efl-mono: Enable selecting to build @beta items 2019-01-17 21:45:49 +09:00
Makefile_Escape.am
Makefile_Ethumb.am
Makefile_Ethumb_Client.am
Makefile_Evas.am Rename Efl.Gfx.Map -> Efl.Gfx.Mapping 2019-02-21 19:20:09 +01:00
Makefile_Evil.am
Makefile_Wayland_Protocols.am
Makefile_efl_wl.am