efl/src/bin
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
..
ecore_buffer meson: modify install path of bqmgr binary 2019-02-27 21:20:31 +01:00
ecore_con cmake: remove! 2018-12-20 20:07:26 +01:00
ecore_evas here comes meson 2018-10-02 17:22:50 +02:00
edje efl.file: improve api a bit 2019-02-27 13:17:10 -05:00
eet meson - dont install eina bench cmp and use install_mode 2018-12-27 17:17:13 +00:00
eeze cmake: remove! 2018-12-20 20:07:26 +01:00
efl here comes meson 2018-10-02 17:22:50 +02:00
efl_js
efl_mono_msbuild_gen efl_mono: Add msbuild file generator 2017-12-04 15:47:51 -03:00
efl_wl meosn - fix install of scripts and bins and their timestamps and modes 2018-12-27 15:24:08 +00:00
efreet efreet - fix warnings on windows to do with size casting 2019-01-15 12:26:42 +00:00
eina eina - btlog - fix warnign about uninit struct field 2018-11-09 11:43:58 +00:00
eldbus ledbus - fix codegen to not conflict keys with eldbus inyternal 2019-01-09 18:57:22 +00:00
elementary efl_ui_table: refactor layout_update 2019-02-27 14:45:27 -05:00
elua build: fix macos build 2019-02-22 08:53:20 -05:00
embryo docs: Fix assorted typos in legacy documentation 2019-01-28 13:14:20 +01:00
eolian eolian: remove support for inlist/inarray 2019-02-28 20:28:24 +01:00
eolian_cxx build: remove unused meson file 2018-12-17 17:43:06 +01:00
eolian_js evas: remove render2 2018-08-21 10:36:55 -04:00
eolian_mono efl-mono: Add support for dotnet core 2019-03-01 23:58:56 -03:00
ethumb here comes meson 2018-10-02 17:22:50 +02:00
ethumb_client here comes meson 2018-10-02 17:22:50 +02:00