summaryrefslogtreecommitdiff
path: root/src/bindings/mono/eo_mono
diff options
context:
space:
mode:
authorLauro Moura <lauromoura@expertisesolutions.com.br>2019-11-05 17:59:01 -0300
committerLauro Moura <lauromoura@expertisesolutions.com.br>2019-11-06 11:20:19 -0300
commit17a81bee4a53891e44a165a14ca20027f9aa0824 (patch)
tree744dcdbea803e8eaaac8af6a55c35b2d7fcaab7c /src/bindings/mono/eo_mono
parent8a5976666b1566f0025f9aff394002b766069beb (diff)
csharp: Revamp dotnet support
Summary: Instead of building with a patched meson version, make use of custom targets and generated csproj files so we can used upstream meson normally. This avoids digging into "non official" dotnet stuff like calling the CSC.dll directly that the patched meson tried to do. To enable, run meson with `-Ddotnet=true`. Regarding source file dependencies, Meson has a limitation[1] about generated artifacts being placed in subdirectories. In order to correctly track these generated artifacts for dotnet, we generated them in the same folder as the csproj file through `dotnet build -o`. Instead of installing the dll like we do for mono, a nupkg is generated and installed in the same folder as the dll would be (<prefix>/lib/x86_64-linux-gnu/efl-mono-1) To avoid messing around with Nupkg caches, we reference the source project for the library directly instead of the nupkg when building the test suite. [1] https://github.com/mesonbuild/meson/issues/2320 Fixes T8168 Reviewers: bu5hm4n, woohyun, Jaehyun_Cho Reviewed By: Jaehyun_Cho Subscribers: cedric, brunobelo, felipealmeida, segfaultxavi Tags: #efl, #do_not_merge Maniphest Tasks: T8168 Differential Revision: https://phab.enlightenment.org/D9717
Diffstat (limited to 'src/bindings/mono/eo_mono')
-rw-r--r--src/bindings/mono/eo_mono/EoWrapper.cs1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/bindings/mono/eo_mono/EoWrapper.cs b/src/bindings/mono/eo_mono/EoWrapper.cs
index 621a8bc..4209fa7 100644
--- a/src/bindings/mono/eo_mono/EoWrapper.cs
+++ b/src/bindings/mono/eo_mono/EoWrapper.cs
@@ -483,6 +483,7 @@ public abstract class EoWrapper : IWrapper, IDisposable
483/// allow minimal interaction with them through <see cref="Efl.Object" />. 483/// allow minimal interaction with them through <see cref="Efl.Object" />.
484/// 484///
485/// But as <see cref="Efl.Object" /> is abstract, whis realized class will allow us to create C# instances of it.</summary> 485/// But as <see cref="Efl.Object" /> is abstract, whis realized class will allow us to create C# instances of it.</summary>
486[Efl.Object.NativeMethods]
486internal class ObjectRealized : Efl.Object 487internal class ObjectRealized : Efl.Object
487{ 488{
488 internal ObjectRealized(Efl.Eo.WrappingHandle ch) : base(ch) { } 489 internal ObjectRealized(Efl.Eo.WrappingHandle ch) : base(ch) { }