Dart libs

149 views
Skip to first unread message

Michael Francis

unread,
Jan 31, 2016, 5:39:44 PM1/31/16
to Dart Misc
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
libdart_builtin.lib
libdart_io.lib
libdart_lib.lib
libdart_lib_nosnapshot.lib
libdart_nosnapshot.lib
libdart_precompiled_runtime.lib
libdart_vm.lib
libdart_vm_nosnapshot.lib
libdart_vm_precompiled_runtime.lib
libdouble_conversion.lib
zlib_dart.lib

Florian Loitsch

unread,
Feb 3, 2016, 12:18:31 PM2/3/16
to mi...@dartlang.org, Ivan Posva
cced Ivan, who should know.
zlib_dart.lib

--
For other discussions, see https://groups.google.com/a/dartlang.org/
 
For HOWTO questions, visit http://stackoverflow.com/tags/dart
 
To file a bug report or feature request, go to http://www.dartbug.com/new
---
You received this message because you are subscribed to the Google Groups "Dart Misc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to misc+uns...@dartlang.org.

Ivan Posva

unread,
Feb 4, 2016, 2:09:12 AM2/4/16
to Florian Loitsch, General Dart Discussion
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
Reply all
Reply to author
Forward
0 new messages