170d5578c7
This includes: * Selecting front-end target. * Support for multi-root virtual file system. * Not linking platform into resulting kernel file. * Specifying input as URI (instead of file path) on command line. * Automatically converting input script URI to package URI. * Writing ninja dependencies file. * Writing package-split kernel binaries. After this change Fuchsia's compiler.dart will become a small wrapper over pkg/vm, sharing most logic and even most command line options with pkg/vm gen_kernel tool. Also, this CL attempts to share some pieces of code between frontend server and gen_kernel. In addition, seperate bytecode generation for package-split binaries is implemented (needed for https://dart-review.googlesource.com/c/sdk/+/85469). Corresponding Fuchsia CL: https://fuchsia-review.googlesource.com/c/topaz/+/229964 Change-Id: I12d7b2f6401357b3c9df2e31bc736af5a9dc5fd2 Reviewed-on: https://dart-review.googlesource.com/c/85721 Reviewed-by: Alexander Aprelev <aam@google.com> Reviewed-by: Ryan Macnak <rmacnak@google.com> Commit-Queue: Alexander Markov <alexmarkov@google.com>