mono / Embeddinator-4000

Tools to turn .NET libraries into native libraries that can be consumed on Android, iOS, Mac, Linux and other platforms.
MIT License
758 stars 95 forks source link

Can we have/configure E4K only for Arm64 & ix86 architecture? any command? #749

Closed Goldie13 closed 4 years ago

Goldie13 commented 4 years ago

Steps to Reproduce

  1. C# library with multiple files & configure after build scripts to configure E4K
  2. DLL generated into framework is crossing more than 500MB+ with all architectures

Expected Behavior

Can we configure only for Arm64 & i86 architecture? so framework may reduce.

Actual Behavior

DLL size is increasing beyond 500MB+

Environment

0.4.0

Build Logs

Example Project (If Possible)

whitneyschmidt commented 4 years ago

Hi @Goldie13, thank you for your feedback!

There are a couple of command line options that you can specify to narrow down which architectures you are compiling for.

Check out the documentation located here: https://github.com/mono/Embeddinator-4000/blob/master/Usage.md

For ObjC you could try using the following cmd:

    --abi=VALUE            A comma-separated list of ABIs to compile. If not
                               specified, all ABIs applicable to the selected
                               platform will be built. Valid values (also
                               depends on platform): i386, x86_64, armv7,
                               armv7s, armv7k, arm64.

If you are compiling to Java or C, you can specify the platform, which can help narrow down the architecture:

  -p, --platform=VALUE       target platform (iOS, macOS, Android, Windows)