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 |
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-osand--target-archflags ondart compile exe.The current status is as follows:
(OS where the compiler is run)
(OS where the exe is run)