libsass-net icon indicating copy to clipboard operation
libsass-net copied to clipboard

Compile libsass for one platform at a time

Open am11 opened this issue 8 years ago • 3 comments

Added an inline MSBuild task, which make use of a new CoreFX API System.Runtime.InteropServices.RuntimeInformation to obtain OS description and architecture information, then translates into LibSassPlatform (Win32 or Win64 etc.).

Also added ability to cross compile, e.g. Win32 on 64-bit system.

Additional OSes will be added with .NET Core support.

Added cross compile configurations for AppVeyor CI.

Fixes #47.

am11 avatar Jan 19 '17 11:01 am11

/cc @nschonni

am11 avatar Jan 19 '17 11:01 am11

This change is good to go. The non-reflection version of task needs MSBuild15, which we will migrate to eventually for .NET Core support but that is for a later day.

am11 avatar Jan 19 '17 18:01 am11

This is the whole point of this exercise to build for single platform with unified name. The DLL search path need the file in same directory. The P/Invoke requires a constant name of the DLL in the DLL search patch, which cannot be nested.

Packaging step is a separate work item, where we bring dlls from different sources (Linux, OSX boxes and/or cross-compile)

am11 avatar Jan 19 '17 22:01 am11