- created a generic/agnostic desktop build for both Mac and Windows
- using assembly configuration (dllmap windows dll to osx dylib)
- the .targets file uses '$(OS)' to import/copy the right files
- removed the double 'lib' prefix on osx
- added the desktop build to the NuGet
- using nunit 2 for XS compatibility
- This cuts down on the size of the binding dll
and the installed apk.
- Similar to what I tried on iOS with commit
1118ac7f07
create our own dynamic library that references
all the prebuilt static archives for skia and
let the linker do the work of removing all the
symbols that we do not use.
- Created a libskia_ios xcode project to be the embedded framework
- Changed the binding to use the new embedded framework
The theory is that we can rely on the xcode linker to strip out the
symbols that are not referenced in the c api. If a new c file is added
to skia core we will have to change libskia_ios/SkiaKeeper.c to reference
one of the methods in that file.
From what I can tell it works pretty well. Now the iOS binding is only 7MB
and that is all that is added to the size of the release iphone app size.