On Wed, Feb 3, 2016 at 9:18 AM, Florian Loitsch <
floi...@google.com> wrote:
> cced Ivan, who should know.
>
> On Sun, Jan 31, 2016 at 11:39 PM Michael Francis <
mfran...@gmail.com>
> wrote:
>>
>> I'm working on a project embeding dart into a C++ application. Could
>> anyone give a brief description of each of the libs below. In particular
>> what's the difference between nosnapshot and precompiled_runtime
>>
>> boringssl.lib
A third-party library used to implement secure sockets.
https://boringssl.googlesource.com/boringssl/
>> libdart_builtin.lib
A library which contains the common code for the different versions of
the dart binaries. Mostly supplies the hooks handed to the VM from the
embedder such as the library tag handler and similar.
>> libdart_io.lib
A library containing the native code for the dart:io library. Depends
on the boringssl.lib and zlib_dart.lib for parts of its
implementation.
>> libdart_lib.lib
A library containing the native code for the dart: libraries built
into the VM. This means it does not include the native code for
dart:io or dart:html. dart:io native code comes from libdart_io.lib,
while dart:html native code is supplied by Dartium.
Assumes the dart: libraries will be supplied to the VM from a snapshot.
>> libdart_lib_nosnapshot.lib
Equivalent to libdart_lib except that this library will allow to load
the dart: libraries from sources and not rely on a snapshot being
loaded into the VM for the dart core libraries. This library is used
to build the dart_no_snapshot binary, which allows for quick iteration
during core library development as no build step is needed when purely
changing Dart sources, since even the core libraries will be loaded
from sources on every invocation of the VM.
>> libdart_nosnapshot.lib
Equivalent to libdart.lib, which is an aggregate of multiple libraries
which make up the Dart VM library including all of the Dart C native
API. The _nosnapshot version just aggregates the version which can run
without a snapshot for the core libraries (see
libdart_lib_nosnapshot.lib).
>> libdart_precompiled_runtime.lib.
Equivalent to libdart.lib (see above), but without the capability for
JIT compilation.
>> libdart_vm.lib
A library containing the core VM implementation, without any of the
native Dart C API, without any of the core library native functions,
without any of the Dart source code.
>> libdart_vm_nosnapshot.lib
Equivalent to libdart_vm.lib, but prepared to load the dart core
libraries from source instead of a snapshot.
>> libdart_vm_precompiled_runtime.lib
Equivalent to libdart_vm.lib, but without the capability for JIT
compilation. Relies on all of the Dart sources having been precompiled
and loaded into an embedder binary as a shared library. Needed to run
on iOS, which does not allow on-the-fly code generation.
>> libdouble_conversion.lib
A third-party library providing string-to-double and double-to-string
conversions in Dart. Florian Loitsch can tell you all about it.
>> zlib_dart.lib
A third-party library used for dart:io implementation. Supplies a set
of compression and decompression algorithms (e.g. gz).
Could this all be bit simpler? Probably, but the current setup allows
us to pick and chose the subcomponents easily.
Hope this helps,
-Ivan