Skip to content

Allow AOT executables to be cross-compiled #28617

@nex3

Description

@nex3

Currently application snapshots (as described here) can only be compiled for the architecture of the machine doing the compilation. This makes releasing cross-platform apps using these snapshots much more difficult, requiring multiple machines (including at least one physical machine, since OS X isn't virtualizable) to compile for all platforms.

It seems that the compilation process could do the initial run on the current platform, but then preserve the profiling information and use it to cross-compile the result to other platforms.


Admin note: This is being implemented gradually via new --target-os and --target-arch flags on dart compile exe.

The current status is as follows:

Developer OS
(OS where the compiler is run)
Target OS
(OS where the exe is run)
Status

macOS macOS Supported in 2.15 and later
macOS Windows Not supported
macOS Linux Supported in 3.8 and later
Windows macOS Not supported
Windows Windows Supported in 2.15 and later
Windows Linux Supported in 3.8 and later
Linux macOS Not supported
Linux Windows Not supported
Linux Linux Supported in 2.15 and later

Metadata

Metadata

Assignees

Labels

area-vmUse area-vm for VM related issues, including code coverage, and the AOT and JIT backends.customer-dart-sasstype-enhancementA request for a change that isn't a bug

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions